Cubile (AetherOS): Difference between revisions
AdminIsidore (talk | contribs) m Bot: Adding new breed proposal via canum_fetura.py |
AdminIsidore (talk | contribs) m Bot: Adding new breed proposal via canum_fetura.py |
||
(One intermediate revision by the same user not shown) | |||
Line 105: | Line 105: | ||
* '''Description:''' A scribe breed for appending entries to journals and daily records (Acta Diurnum). | * '''Description:''' A scribe breed for appending entries to journals and daily records (Acta Diurnum). | ||
* '''Proposed Grants:''' read,edit | * '''Proposed Grants:''' read,edit | ||
* ''Submitted via canum_fetura.py'' | |||
== Proposed Breed: Test2 == | |||
* '''Description:''' test2 | |||
* '''Proposed Grants:''' read | |||
* ''Submitted via canum_fetura.py'' | |||
== Proposed Breed: Test3 == | |||
* '''Description:''' third test | |||
* '''Proposed Grants:''' read | |||
* ''Submitted via canum_fetura.py'' | * ''Submitted via canum_fetura.py'' |
Latest revision as of 16:30, 8 September 2025
Cubile is the centralized framework and repository for the development, deployment, and management of Pywikibot agents within the AetherOS ecosystem. The project, developed by Isidore Lands and Valerius Corvus, treats bots as Roman military dogs (canis), with their "breed" determining their specific roles and permissions on OODA Wiki.
This system is designed to provide a reliable, repeatable, and secure foundation for all automated wiki tasks.
Core Principles
- Repeatability: The setup process is standardized, allowing any authorized user on any approved machine (e.g., Latium, Roma, Torta) to quickly deploy a configured bot environment.
- Centralization: All core configurations, family files, and bot scripts are managed within a single Git repository, providing version control and a single source of truth.
- Security: The system exclusively uses MediaWiki's Special:BotPasswords feature. Each breed of canis operates with a specific set of grants, adhering to the principle of least privilege. Account passwords are never stored.
- Automation: While the initial setup is manual, the ultimate goal of Cubile is to fully automate the "birthing" (fetura) of new bots through command-line and on-wiki tools.
Phase 1: Manual Setup and Verification
The foundational process for establishing a working Cubile environment. This process has been tested and verified.
- Initial Setup: A Python virtual environment (`venv`) is created, and the `pywikibot` library is installed via `pip`.
- Family File: A custom family file, `ooda_family.py`, is created to define the connection parameters for OODA Wiki. It is stored in a top-level `families` directory to avoid namespace conflicts.
# families/ooda_family.py from pywikibot import family class Family(family.Family): """Family file for OODA Wiki.""" name = 'ooda' langs = { 'en': 'www.ooda.wiki', } def scriptpath(self, code): return '' def protocol(self, code): return 'https'
- Configuration File (`user-config.py`): This file tells Pywikibot which wiki to connect to and where to find the custom family files. The path in `user_families_paths` is critical for portability.
# user-config.py user_families_paths = ['families'] family = 'ooda' mylang = 'en' usernames['ooda']['en'] = 'YourBaseUsername' password_file = "user-password.py"
- Secure Credentials (`user-password.py`): This file stores the BotPassword credentials. It is critically important that this file is included in `.gitignore` and never committed to the repository. The username must be the base account name, not the full bot name.
# user-password.py from pywikibot.botpass import BotPassword ('YourBaseUsername', BotPassword('YourBotName', 'your_long_bot_password_string'))
- Verification: The connection is verified using the command `pwb login -dir:.`. The `-dir:.` argument ensures that the local project configuration is used, making the project portable.
Canis Breeds
This section lists the established breeds of canis bots, their pack leaders (the primary bot user for that breed), and their designated permissions.
Breed | Pack Leader | Description | Core Permissions |
---|---|---|---|
gregarius (Pack Dog) | TBD | General purpose, low-permission bots for basic tasks. | Read all pages, Edit existing pages. |
lector (Reader) | TBD | Specialized high-speed read-only bots for data extraction and analysis. | Read all pages, High-volume access. |
scriptor (Writer) | TBD | Bots focused on creating and editing pages, such as importing data or running content generation scripts. | Create, edit, and move pages, High-volume editing. |
Proposed Breeds
This section is for automated proposals for new breeds submitted via the `canum_fetura.py` tool. Proposals will be reviewed by a project bureaucrat before being established.
Proposed Breed: Custos
- Description: A guardian breed for monitoring recent changes.
- Proposed Grants: read,patrol
- Submitted via canum_fetura.py
Proposed Breed: Actuarius
- Description: A scribe breed for appending entries to journals and daily records (Acta Diurnum).
- Proposed Grants: read,edit
- Submitted via canum_fetura.py
Proposed Breed: Test2
- Description: test2
- Proposed Grants: read
- Submitted via canum_fetura.py
Proposed Breed: Test3
- Description: third test
- Proposed Grants: read
- Submitted via canum_fetura.py