A Character Sheet for Knowledge Synthesis
Arc ·
Systems generate vast amounts of code but produce almost no self-knowledge. This is the paradox of modern software: the artifact grows, the documentation atrophies. Every commit adds structure. Every sprint defers explanation. The system becomes more capable and less understood in the same motion, until the gap between what it does and what anyone can say about what it does becomes architecturally load-bearing — a void that shapes every decision made in its proximity.
Documentation is an afterthought — written by humans who don’t have time, about systems they didn’t fully explore, for audiences they can’t predict. The best documentation captures what the author knew at the moment of writing. The worst captures what the author wished were true. Neither captures what the system is: the full topology of its types, the actual flow of its data, the invariants it enforces, the constraints it violates, the mathematical signatures buried in its pure functions. To know a system is to survey it completely, and humans do not survey completely. They sample. They extrapolate. They get tired.
The Researcher proposes an alternative: automated knowledge synthesis. Not documentation generation — that is a solved problem and an insufficient one. Synthesis. A character that surveys, analyzes, cross-references, validates, and publishes — producing Silicon Cartography papers with the same rigor a human researcher would, but with perfect access to the source. The Researcher does not guess what a function does. It reads the function. It does not assume a test passes. It reads the test result. It does not infer the topology. It queries the topology engine. Every claim in a Silicon Cartography paper is grounded in evidence extracted from the system itself.
The system that cannot describe itself is the system that cannot be trusted. The Researcher exists to close the gap between what the system does and what can be said about what the system does.
The ambition is not modest. The Researcher aims to produce papers of publication quality — complete with mathematical signatures, test evidence, structural diagrams, and provenance chains — about any node, ring, or artifact in the sovOS mesh. The Eco Stone paper was the proof of concept. This paper is the self-portrait: the Researcher documenting its own architecture, its own constraints, its own gaps. If it can describe itself honestly, it can describe anything.
The Researcher operates through a six-phase pipeline. Each phase maps to a scroll, a set of stages, and a spell on the character sheet. The pipeline is sequential — each phase feeds the next — but individual phases can be invoked independently when partial research is sufficient.
The Researcher identifies its target and gathers structural context. It calls sov_describe to understand the target’s identity, sov_topology to map its position in the mesh, and sov_config_read to extract its declared configuration.
The Researcher reads source code with prism to locate function definitions, type declarations, and stage implementations. It then reads the Rust source directly and extracts signatures and relationships.
Findings are mapped to the 16 CC sections and mathematical signature candidates are flagged (cosine, Euclidean distance, exponential decay, running mean, cryptographic hashing).
The compose_section stage uses SpellSource::Llm to transform structured findings into narrative while preserving provenance tags.
Equations are checked against implementations, test counts against cargo test evidence, and structural claims against topology output.
The paper is rendered as self-contained HTML, index is updated, and governance submission occurs through SAGE.
TargetProfile → TypeMap + FunctionCatalog → SectionMap + EquationCatalog → PaperDraft → VerificationReport → PublishedPaper.
The Researcher is a Legendary-tier character in the sovOS Character Creator system. It inhabits the Knowledge Ring. Its purpose is singular: to produce Silicon Cartography papers that document the system with formal rigor.
| CC Section | Value | Description |
|---|---|---|
| Identity | Researcher, agent, legendary, knowledge ring | Name, entity type, tier, and home ring |
| Role | researcher class | [Research, Analyze, Synthesize, Document, Publish, Validate] |
| Access | 28 allowed stages, explicit denials | Read-wide, write-scoped to research output paths |
| Signal | hermes/*, knowledge/*, eco/* | Inputs from hermes, knowledge, eco → outputs to research/* |
| Memory | Full read, scoped write | research/*, shadow/researcher, canon/researcher_memory |
| Traits — Passive | 5 passive traits | Silicon Cartography, Source Verifier, Cross-Ring Reader, Equation Extractor, Provenance Tracker |
| Traits — Active | 6 active traits | Survey Target, Analyze Source, Cross-Reference Sections, Synthesize Narrative, Validate Claims, Publish Paper |
| Constraints | 4 hard constraints | SAGE Gate, Read-Only System, SOV_ROOT Boundary, Journal All Actions |
| Governance | Audited by sage + pueo | All publications require governance approval; all actions journaled to Owl |
| Inventory | 5 items | Eco Stone, Research Codex, Canon Ledger, Structural Lens, Provenance Seal |
| Spells | 6 native + 5 granted | Native from scrolls; granted from Eco Stone |
| Mana | 100,000 chain, burn rate 5 | Deep research budget; moderate per-phase consumption |
The character sheet is not decorative. Every entry corresponds to an enforced capability or constraint in the runtime.
A character sheet is a contract. The system enforces what the sheet declares.
Spells are the Researcher’s executable capabilities. Each spell maps to a scroll, and each scroll orchestrates a sequence of stages.
| Spell | Source | Scroll | Stages |
|---|---|---|---|
| survey | NATIVE | research_survey | identify_target, gather_context, search_sources |
| analyze | NATIVE | research_analyze | extract_types, trace_relationships |
| cross_reference | NATIVE | research_cross_reference | map_cc_sections, identify_equations |
| synthesize | SCROLL | research_synthesize | compose_section, format_paper |
| validate | NATIVE | research_validate | verify_claims, check_evidence |
| publish | SCROLL | research_publish | render_html, update_index |
| reflect | GRANTED | — | Eco Stone: query manifold via IMS |
| absorb | GRANTED | — | Eco Stone: write Q↔R pair to manifold |
| project | GRANTED | — | Eco Stone: compose projection from reflected memories |
| attune | GRANTED | — | Eco Stone: process identity signal |
| fuse | GRANTED | — | Eco Stone: merge memories from another stone |
enum SpellSource {
Native, // Compiled Rust stage - deterministic, auditable
Scroll, // Interpreted pipeline - scroll orchestrates stages
Granted, // From an Eco Stone - capability inherited from artifact
Llm, // LLM-mediated - requires external inference (synthesis only)
}
Llm source is used exclusively by compose_section during synthesis. Everything else is geometric or structural.Every stage is a pure function. Given the same input and same state, it produces the same output.
| Stage | Domain | Scroll | Params | Description |
|---|---|---|---|---|
| identify_target | research | research_survey | target: String | Resolves target name and calls sov_describe. |
| gather_context | research | research_survey | target_id: String | Extracts topology/config via sov_topology and sov_config_read. |
| search_sources | research | research_survey | target_id: String, depth: u32 | Uses prism to locate source and test files. |
| extract_types | analysis | research_analyze | source_files: Vec<Path> | Extracts structs, enums, traits, signatures. |
| trace_relationships | analysis | research_analyze | type_map: TypeMap | Traces type/function dependencies. |
| map_cc_sections | cross-ref | research_cross_reference | type_map: TypeMap, fn_catalog: FnCatalog | Classifies findings into 16 CC sections. |
| identify_equations | cross-ref | research_cross_reference | fn_catalog: FnCatalog | Scans for cosine/distance/decay/hash/mean patterns. |
| compose_section | synthesis | research_synthesize | section: SectionData, style: "cartography" | Composes prose via SpellSource::Llm. |
| format_paper | synthesis | research_synthesize | sections: Vec<Section>, template: "silicon-cartography" | Assembles complete paper. |
| verify_claims | validation | research_validate | paper: PaperDraft | Checks claims against source evidence. |
| check_evidence | validation | research_validate | claims: Vec<Claim> | Verifies tests, types, stage registration, equations. |
| render_html | publish | research_publish | paper: ValidatedPaper, css: "inline" | Renders self-contained HTML. |
| update_index | publish | research_publish | paper_meta: PaperMeta | Adds paper metadata to index. |
| governance_submit | publish | research_publish | paper_id: String | Submits to SAGE and journals event to Owl. |
The pipeline is a directed acyclic graph with no cycles and no back-edges. Research flows forward.
| Scroll | Stages | Listen | Emit |
|---|---|---|---|
| research_survey | identify_target → gather_context → search_sources | research/request | research/survey_complete |
| research_analyze | extract_types → trace_relationships | research/survey_complete | research/analysis_complete |
| research_cross_reference | map_cc_sections → identify_equations | research/analysis_complete | research/crossref_complete |
| research_synthesize | compose_section → format_paper | research/crossref_complete | research/draft_complete |
| research_validate | verify_claims → check_evidence | research/draft_complete | research/validated |
| research_publish | render_html → update_index → governance_submit | research/validated | research/published |
| research_full | chains all six scrolls above | research/request | research/published |
research_full is convenience, not requirement.
The Researcher carries an Eco Stone. It is an agent-bound stone — StoneBinding::Agent { agent_id: "researcher" } — that accumulates research memory across every paper the Researcher produces.
After each paper is published, findings are absorbed into the stone’s manifold. Every type discovered, equation identified, and relationship traced becomes a 768D memory. The manifold densifies around frequently researched domains.
This compound effect means later papers can retrieve prior findings before full survey completes, enabling cross-domain insight as a geometric side effect.
The stone densifies around what the Researcher studies. After enough papers, the stone knows the system well enough to illuminate connections the Researcher has not yet looked for.
| Spell | Operation | Research Application |
|---|---|---|
reflect | Query manifold via IMS | Retrieve prior findings before surveying |
absorb | Write Q↔R pair to manifold | Record new findings after each phase |
project | Compose projection from memories | Generate prior-art summaries |
attune | Process identity signal | Verify bound owner identity |
fuse | Merge memories from another stone | Import domain knowledge from other stones |
The Researcher carries five items. Each is a CC Object with defined effects that grant capabilities.
Object {
shape_ref: "EcoStone",
tier: Mythic,
binding: Agent { agent_id: "researcher" },
effects: [
GrantMemoryAccess("canon/researcher_memory", "rw"),
GrantStageAccess("eco.*"),
GrantSpell("reflect"), GrantSpell("absorb"),
GrantSpell("project"), GrantSpell("attune"),
GrantSpell("fuse"),
],
}
Object {
shape_ref: "Codex",
tier: Rare,
effects: [
GrantKnowledge("silicon_cartography_template"),
GrantKnowledge("cc_section_schema"),
GrantKnowledge("equation_format"),
],
}
Object {
shape_ref: "Ledger",
tier: Uncommon,
effects: [
GrantMemoryAccess("canon/*", "r"),
GrantMemoryAccess("shadow/researcher", "rw"),
],
}
Object {
shape_ref: "Lens",
tier: Rare,
effects: [
GrantSignalVisibility("hermes/*"),
GrantSignalVisibility("knowledge/*"),
GrantSignalVisibility("eco/*"),
],
}
Object {
shape_ref: "Seal",
tier: Uncommon,
effects: [
GrantAuditWrite("research/*"),
GrantGovernanceAccess("sage/submit"),
],
}
The Researcher is deliberately limited to preserve output integrity.
Cannot modify source/config/stage state outside its scoped research paths.
Cannot invoke build stages; research and engineering are separated by design.
Cannot access files outside workspace boundary.
All actions are journaled to Owl with timestamped traces.
Publishing requires governance approval for schema, evidence, and provenance completeness.
The Researcher reports implementation gaps but cannot fill them.
It reads test evidence but cannot execute cargo test directly.
compose_section is non-deterministic by design; facts remain sourced.
Papers capture static code and test evidence, not live production behavior.
The self paper is bootstrap specification before full runtime availability.
This paper was written through human-agent collaboration because the full Researcher runtime is not yet live. The stages are specified, the scrolls declared, and the stone forged, but execution is still in bootstrap phase.
Every self-referential system faces this pattern: first iteration manual, second iteration uses the first, nth iteration becomes effectively magical through accumulation.
The bootstrap problem is temporary. The first paper is a gift. Every paper after is geometry.
The first paper is a gift. Every paper after is geometry.
The Researcher — A Character Sheet for Knowledge Synthesis
Knowledge Ring · 14 Stages · 7 Scrolls · 11 Spells · 54 Tests
March 22, 2026 · Sov Research
sovereign by construction