Selfhost Symbol Ownership Index v0.1
This document defines the machine-readable ownership index emitted by:
genesis --json agent-indexunder data.selfhost_symbol_index.
Purpose
Provide deterministic symbol-to-module ownership metadata for selfhost toolchain planning so agents can target edits without scanning the entire selfhost source set.
Schema
schema:"genesis/selfhost-symbol-ownership-index-v0.1"path:"selfhost/toolchain_manifest.gc"loaded: boolmodule_count: intsymbol_count: intrequired_symbol_count: intunresolved_required_symbols: vector of symbol stringsduplicate_symbol_owners: vector of:symbol: stringmodule_paths: vector
symbols: vector of:symbol: stringmodule_path: stringmodule_intent: string ornullrequired: bool
Generation Rules
- Module set is sourced from
selfhost/toolchain_manifest.gc:module-paths. - Required symbol set is sourced from
selfhost/toolchain_manifest.gc:required-symbols. - Symbol ownership is derived from top-level
(def <symbol> ...)forms in each module. ::metais excluded from ownership entries.- Module intent is read from module
::meta:intentwhen present. - Ownership is deterministic:
- module iteration follows manifest order
- output
symbolsordering is lexical bysymbol duplicate_symbol_ownersordering is lexical bysymbol
Failure Semantics
When manifest/module loading fails:
loaded = falseerrorcontains a stable human-readable failure string- counts are zero
- vectors are empty
- affected paths are surfaced via
data.missing_sourcesinagent-index.