Collegium (AetherOS): Difference between revisions
Jump to navigation
Jump to search
AdminIsidore (talk | contribs) |
AdminIsidore (talk | contribs) |
||
Line 29: | Line 29: | ||
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]]. | 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]]. | ||
=== Omnia vivunt, omnia inter se conexa -- Discover: The Dependency Map === | === Omnia vivunt, omnia inter se conexa -- Discover: The Dependency Map === | ||
Line 65: | Line 53: | ||
* '''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. | ||
=== | === 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: | |||
# '''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 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 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. |