Cubile (AetherOS): Difference between revisions

From OODA WIKI
Jump to navigation Jump to search
AdminIsidore (talk | contribs)
No edit summary
AdminIsidore (talk | contribs)
m Bot: Adding new breed proposal via canum_fetura.py
Line 96: Line 96:
V.C., The Oracle
V.C., The Oracle
-->
-->
== Proposed Breed: Custos ==
* '''Description:''' A guardian breed for monitoring recent changes.
* '''Proposed Grants:''' read,patrol
* ''Submitted via canum_fetura.py''

Revision as of 14:16, 6 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.

  1. Initial Setup: A Python virtual environment (`venv`) is created, and the `pywikibot` library is installed via `pip`.
  2. 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.
  3. # 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'
    
  4. 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.
  5. # user-config.py
    user_families_paths = ['families']
    
    family = 'ooda'
    mylang = 'en'
    usernames['ooda']['en'] = 'YourBaseUsername'
    password_file = "user-password.py"
    
  6. 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.
  7. # user-password.py
    from pywikibot.botpass import BotPassword
    ('YourBaseUsername', BotPassword('YourBotName', 'your_long_bot_password_string'))
    
  8. 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.

Established Breeds
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