Converti (AetherOS): Difference between revisions

From OODA WIKI
Jump to navigation Jump to search
AdminIsidore (talk | contribs)
Created page with "{{AetherOS_Component}} '''Converti''' is a command-line utility designed to import articles from external wikis, such as Wikipedia, and intelligently prepare them for use within the AetherOS ecosystem. It serves as a gatekeeper, ensuring that new information is clean, functional, and structurally sound before it becomes a source of knowledge for both human users and their Wingman AIs. The tool was developed by Isidore Lands and Silas..."
 
AdminIsidore (talk | contribs)
No edit summary
Line 1: Line 1:
{{AetherOS_Component}}
{{AetherOS_Component}}
'''Converti''' is a command-line utility designed to import articles from external wikis, such as Wikipedia, and intelligently prepare them for use within the AetherOS ecosystem. It serves as a gatekeeper, ensuring that new information is clean, functional, and structurally sound before it becomes a source of knowledge for both human users and their [[Wingman AI|Wingman AIs]].
'''Converti''' is a command-line utility suite designed to manage the lifecycle of templates and modules within the AetherOS ecosystem. It serves as the primary toolkit for the [[Collegium (AetherOS)]], enabling the analysis, controlled importation, and quality assurance of the wiki's structural components.


The tool was developed by [[User:AdminIsidore|Isidore Lands]] and Silas Corvus.
The tool was developed by [[User:Isidore Lands|Isidore Lands]] and [[User:Silas Corvus|Silas Corvus]].


== Purpose in Symbiotic Learning ==
== Purpose in Symbiotic Learning ==
The core purpose of Converti is to support the symbiotic learning relationship between a user and their Wingman AI. Raw, unformatted text from external sources can contain broken templates, irrelevant maintenance tags, and visual media that can confuse a learning model.
The core purpose of Converti is to ensure the structural integrity and maneuverability of the wiki's knowledge base. A lean, well-documented, and minimally dependent codebase is essential for the symbiotic learning between users and their [[Wingman AI|Wingman AIs]].


Converti sanitizes this content, creating a clean textual baseline that is optimized for machine readability and comprehension. By ensuring the structural integrity of imported knowledge, it prevents the Wingman from learning from "broken" or incomplete data.
By providing tools to analyze and gracefully import components, Converti prevents "dependency hell" and ensures the wiki does not become cluttered with the unmanaged complexity of its source wikis.


== Core Functionality ==
== The Converti Toolkit ==
Converti is a Python script that uses the [[Pywikibot]] framework to perform a multi-stage import and cleaning process.
Converti is comprised of several distinct scripts, each serving a specific function in the Collegium's review process.


=== Stage 1: Content Cleaning ===
=== Stage 1: Dependency Analysis ===
When an article is imported, Converti first performs two cleaning passes on the wikitext:
The first step is to map the full dependency tree of a set of root templates from an external source like Wikipedia.
# '''Image Removal''': All file links (e.g., `[[File:...]]`) and gallery tags (`<gallery>`) are stripped from the text. This focuses the content on pure text, which is the primary medium for the Wingman AI.
* '''`dependency_resolver.py`''': Scans a list of templates and recursively maps every sub-template and Lua module they depend on, saving the result to `dependency_map.json`.
# '''Template Reformatting''': Common Wikipedia-specific maintenance templates (e.g., `{{cleanup}}`, `{{unreferenced}}`) are removed, as they are not relevant to the local wiki's context.
* '''`dependency_analyzer.py` (`scriptor_explico.py`)''': Ingests the raw dependency map and generates a human-readable report (`dependency_report.txt`) and an interactive graph (`dependency_graph.html`), highlighting the most foundational and complex components.


=== Stage 2: Recursive Dependency Resolution ===
=== Stage 2: Controlled Import ===
After cleaning the text, Converti scans the article for all required [[Templates]] and [[Lua|Modules]].
After the `Custos Animae` and `Custos Structurae` have reviewed the analysis and created a curated `approved_list.txt`, the batch installer imports only the necessary components.
# It checks if each dependency exists on the local wiki.
* '''`batch_installer.py`''': Reads the approved list and the dependency map, and surgically imports only the approved pages and their direct dependencies from Wikipedia, skipping any that already exist on ooda.wiki.
# If a dependency is missing and its corresponding local page is empty, Converti automatically imports it from the source wiki (Wikipedia).
# This process is '''recursive'''; the script then checks the newly imported dependency for its own dependencies and adds them to an import queue. This continues until all required components are present.
# To ensure safety, Converti will '''not''' overwrite any template or module that already has content, preserving any local customizations.


=== Stage 3: Reporting ===
=== Stage 3: Quality Assurance & Refactoring ===
Upon completion, the script generates a detailed report listing all the dependencies it successfully imported and any it skipped because they already existed.
Once templates are imported, the Collegium can analyze their quality and complexity.
 
* '''`scriptor_explico.py`''': Calculates a '''[[Wiki Maneuverability Score]]''' for each template based on its complexity, dependency count, and documentation quality.
== Usage ==
* '''`refactoring_assistant.py`''': (Under Development) An assistant that uses an LLM to review low-scoring templates and suggest simplifications or alternative implementations.
Converti is run from the command line. The user specifies the title of the page to import.
<syntaxhighlight lang="bash">
# Example: Import the "OODA loop" article from Wikipedia
python scripts/wiki_importer.py --page "OODA_loop"
</syntaxhighlight>


== Future Development ==
== Future Development ==
* '''Active Voice Assistant''': Functionality is being developed to create a human-in-the-loop tool that will identify passive voice sentences in an article and allow an editor to convert them to active voice, further improving clarity and readability.
* '''Active Voice Assistant''': An on-wiki tool to help editors convert passive voice to active voice, further improving the clarity and readability of the knowledge base.

Revision as of 20:13, 10 August 2025

This page describes a core component of the AetherOS ecosystem. Its structure and content are designed to be parsed by automated agents.

Converti is a command-line utility suite designed to manage the lifecycle of templates and modules within the AetherOS ecosystem. It serves as the primary toolkit for the Collegium (AetherOS), enabling the analysis, controlled importation, and quality assurance of the wiki's structural components.

The tool was developed by Isidore Lands and Silas Corvus.

Purpose in Symbiotic Learning

The core purpose of Converti is to ensure the structural integrity and maneuverability of the wiki's knowledge base. A lean, well-documented, and minimally dependent codebase is essential for the symbiotic learning between users and their Wingman AIs.

By providing tools to analyze and gracefully import components, Converti prevents "dependency hell" and ensures the wiki does not become cluttered with the unmanaged complexity of its source wikis.

The Converti Toolkit

Converti is comprised of several distinct scripts, each serving a specific function in the Collegium's review process.

Stage 1: Dependency Analysis

The first step is to map the full dependency tree of a set of root templates from an external source like Wikipedia.

  • `dependency_resolver.py`: Scans a list of templates and recursively maps every sub-template and Lua module they depend on, saving the result to `dependency_map.json`.
  • `dependency_analyzer.py` (`scriptor_explico.py`): Ingests the raw dependency map and generates a human-readable report (`dependency_report.txt`) and an interactive graph (`dependency_graph.html`), highlighting the most foundational and complex components.

Stage 2: Controlled Import

After the `Custos Animae` and `Custos Structurae` have reviewed the analysis and created a curated `approved_list.txt`, the batch installer imports only the necessary components.

  • `batch_installer.py`: Reads the approved list and the dependency map, and surgically imports only the approved pages and their direct dependencies from Wikipedia, skipping any that already exist on ooda.wiki.

Stage 3: Quality Assurance & Refactoring

Once templates are imported, the Collegium can analyze their quality and complexity.

  • `scriptor_explico.py`: Calculates a Wiki Maneuverability Score for each template based on its complexity, dependency count, and documentation quality.
  • `refactoring_assistant.py`: (Under Development) An assistant that uses an LLM to review low-scoring templates and suggest simplifications or alternative implementations.

Future Development

  • Active Voice Assistant: An on-wiki tool to help editors convert passive voice to active voice, further improving the clarity and readability of the knowledge base.