Collegium (AetherOS): Difference between revisions

Jump to navigation Jump to search
AdminIsidore (talk | contribs)
AdminIsidore (talk | contribs)
Line 28: Line 28:
To ensure the long-term health, consistency, and maneuverability of the wiki's technical infrastructure, the Collegium hereby canonizes the '''Dogmata Aedificatorum'''. This doctrine mandates a professional, four-stage workflow for managing all templates and modules, moving beyond ad-hoc scripts to a fully integrated and auditable system.  
To ensure the long-term health, consistency, and maneuverability of the wiki's technical infrastructure, the Collegium hereby canonizes the '''Dogmata Aedificatorum'''. This doctrine mandates a professional, four-stage workflow for managing all templates and modules, moving beyond ad-hoc scripts to a fully integrated and auditable system.  


Adherence to this pipeline is the primary responsibility of the [[Collegium (AetherOS)|Custos Structurae]] and its associated roles.
These are not guidelines; they are binding protocols enforced through automated tooling and administrative oversight, primarily executed by the [[Collegium (AetherOS)|Custos Structurae]] and the [[Collegium (AetherOS)|Praetor]].


=== 1. Omnia vivunt, omnia inter se conexa -- Discover: The Dependency Map ===
=== 4.1 The Sanctioned Formatter Toolchain ===
All code contributions in PHP, Lua, and CSS must be processed through a sanctioned, opinionated formatter. The goal of this mandate is to completely eliminate subjective style debates, ensure consistency, and produce minimal, predictable diffs. This consistency is critical for the efficiency of both human editors and AI agents like [[ARC (AetherOS)|ARC]]. The following tools, inspired by the minimalist philosophy of ''Black'' and ''Prettier'', are canonized for this purpose:
 
* '''For PHP:''' [[https://github.com/pretty-php/pretty-php|pretty-php]]
* '''For Lua:''' [[https://github.com/JohnnyMorganz/StyLua|StyLua]]
* '''For CSS:''' [[https://prettier.io/|Prettier]]
 
These formatters will be integrated directly into the '''[[Converti (AetherOS)|converti]]''' SDK's `draft` command, providing a single, automated point of enforcement for all code entering the ecosystem. Configuration will be minimal and centrally managed within the `Converti` repository.
 
=== 4.2 The Sandbox-First Mandate ===
To protect the stability of the live environment, all new templates and modules must be created and tested in a sandbox environment before being promoted to the main namespace. Direct creation of live templates and modules is forbidden. This mandate is enforced through a multi-layered technical and procedural framework:
 
=== Omnia vivunt, omnia inter se conexa -- Discover: The Dependency Map ===
The foundation of all structural review is a comprehensive understanding of the wiki's dependency graph.
The foundation of all structural review is a comprehensive understanding of the wiki's dependency graph.
* '''Canonical Tool''': [[scripts/dependency_resolver.py|dependency_resolver.py]] is the sole, authorized tool for analyzing the complete dependency tree of a given set of root pages.
* '''Canonical Tool''': [[scripts/dependency_resolver.py|dependency_resolver.py]] is the sole, authorized tool for analyzing the complete dependency tree of a given set of root pages.
* '''Canonical Artifact''': The output of this tool, <code>dependency_map.json</code>, is considered the single source of truth for dependency relationships. On-the-fly dependency discovery by other scripts is forbidden to ensure all decisions are made from a common, static worldview.
* '''Canonical Artifact''': The output of this tool, <code>dependency_map.json</code>, is considered the single source of truth for dependency relationships. On-the-fly dependency discovery by other scripts is forbidden to ensure all decisions are made from a common, static worldview.


=== 2. Salus populi suprema lex esto -- Analyze: The Diagnostic Dashboard ===
=== Salus populi suprema lex esto -- Analyze: The Diagnostic Dashboard ===
With a definitive map, the [[Collegium (AetherOS)|Quaesitor]] can generate the necessary reports and visualizations to inform the Collegium.
With a definitive map, the [[Collegium (AetherOS)|Quaesitor]] can generate the necessary reports and visualizations to inform the Collegium.
* '''Primary Tools''': [[scripts/scriptor_explico.py|scriptor_explico.py]] and [[scripts/dependency_analyzer.py|dependency_analyzer.py]].
* '''Primary Tools''': [[scripts/scriptor_explico.py|scriptor_explico.py]] and [[scripts/dependency_analyzer.py|dependency_analyzer.py]].
* '''Standard Procedure''': The `dependency_analyzer` consumes the `dependency_map.json` to generate its report. Crucially, it must also integrate the [[Wiki Maneuverability Score]] calculated by `scriptor_explico` to enrich its visualization. The resulting interactive graph serves as the Collegium's primary diagnostic dashboard, color-coding nodes by their WM Score and sizing them by their foundational importance (in-degree).
* '''Standard Procedure''': The `dependency_analyzer` consumes the `dependency_map.json` to generate its report. Crucially, it must also integrate the [[Wiki Maneuverability Score]] calculated by `scriptor_explico` to enrich its visualization. The resulting interactive graph serves as the Collegium's primary diagnostic dashboard, color-coding nodes by their WM Score and sizing them by their foundational importance (in-degree).


=== 3. Quo Eundum! -- Deploy: The Praetor's Gateway ===
=== Quo Eundum! -- Deploy: The Praetor's Gateway ===
All new code enters the wiki through a single, controlled gateway managed by the [[Collegium (AetherOS)|Praetor]].
All new code enters the wiki through a single, controlled gateway managed by the [[Collegium (AetherOS)|Praetor]].
* '''Canonical Tool''': A unified [[scripts/wiki_importer.py|wiki_importer.py]] (to be refactored and renamed '''praetor_importer.py''') is the only sanctioned method for importing templates and modules.
* '''Canonical Tool''': A unified [[scripts/wiki_importer.py|wiki_importer.py]] (to be refactored and renamed '''praetor_importer.py''') is the only sanctioned method for importing templates and modules.
Line 48: Line 60:
* '''Critical Safety Protocol''': All deployment actions must first be run with the <code>--dry-run</code> flag to produce a report of intended changes. This report must be reviewed by the Praetor before a final, live deployment is executed.
* '''Critical Safety Protocol''': All deployment actions must first be run with the <code>--dry-run</code> flag to produce a report of intended changes. This report must be reviewed by the Praetor before a final, live deployment is executed.


=== 4. Pacta sunt servanda pietate -- Align: The Quality Control Loop ===
=== Pacta sunt servanda pietate -- Align: The Quality Control Loop ===
Ongoing quality is ensured through a suite of maintenance and quality assistance tools.
Ongoing quality is ensured through a suite of maintenance and quality assistance tools.
* '''Primary Tools''': The refactored `scriptor_explico.py` and the '''Scribal Quality Assistant''' (evolved from `active_voice_assistant.py`).
* '''Primary Tools''': The refactored `scriptor_explico.py` and the '''Scribal Quality Assistant''' (evolved from `active_voice_assistant.py`).
* '''Standard Procedure''': The [[Wiki Maneuverability Score]] is calculated on a regular basis to monitor the health of the wiki's codebase. The Scribal Assistant is used by the [[Collegium (AetherOS)|Custos Animae]] and other editors to ensure the prose of documentation and articles adheres to a high standard of clarity and accessibility.
* '''Standard Procedure''': The [[Wiki Maneuverability Score]] is calculated on a regular basis to monitor the health of the wiki's codebase. The Scribal Assistant is used by the [[Collegium (AetherOS)|Custos Animae]] and other editors to ensure the prose of documentation and articles adheres to a high standard of clarity and accessibility.
=== Practical Applications ===
# '''Layer 1: User Guidance (The Nudge):''' A custom JavaScript payload deployed via <code>MediaWiki:Common.js</code> will detect attempts to create a new page in the Template or Module namespaces. It will then display a prominent, helpful notification guiding the user to create a <code>/sandbox</code> subpage instead.
# '''Layer 2: Technical Enforcement (The Gate):''' The [[Extension:AbuseFilter|AbuseFilter extension]] is configured to disallow the creation of any new page in the Template (NS_TEMPLATE) or Module (NS_MODULE) namespaces unless the page title ends with <code>/sandbox</code>. This provides a hard, non-bypassable technical block.
# '''Layer 3: Procedural Framework (The Path):''' The [[Extension:TemplateSandbox|TemplateSandbox extension]] is the officially sanctioned tool for testing and previewing changes made in sandbox pages. The workflow is as follows: creation in the sandbox, testing via `Special:TemplateSandbox`, and finally, promotion to the main namespace by a member of the Collegium.
# '''Layer 4: Automated Oversight (The Watcher):''' A maintenance bot, operated by the `Custos Structurae`, will periodically scan for non-compliant pages that may have bypassed the filter. The bot is authorized to revert non-compliant creations and notify the creator, ensuring the integrity of the policy.


== Collegium Toolkit: Development Roadmap ==
== Collegium Toolkit: Development Roadmap ==