Compiler-backed evidence extraction

Compiler-backed evidence extraction A sequence diagram generated by Archify. Extract code evidence Parse configs and source files Compiler options and syntax trees Resolve imports and workspace exports Resolved target or missing result Quality-gated graph and source set Build program; query symbols Declarations and symbol resolutions Semantic facts and assignment status Graphs, diagnostics and quality @topo/languages · Sequence participant · scanProject owns language-capability composition. It requests TypeScript/JavaScript code evidence from the selected scanner adapter so it can build the repository's analysis result. This is the real initiating module, not an unspecified caller. The returned graphs, diagnostics, metrics and authoritative/partial flag feed that composition. Separate Rust/Tauri adapters are outside this view. No model is invoked. @topo/languages Scanner · Sequence participant · scanRepository inventories files, compiler configs and workspaces; captures source text/fingerprints; and resolves imports. Topocode maps compiler-selected outputs to source, distinguishes local/workspace/external/assets, consolidates duplicate import evidence, sorts canonical output, and applies quality gates before the semantic pass. Unresolved local/workspace imports are diagnostics, not guessed edges. Strict failure stops the scan; explicitly allowed partial output remains marked partial. The scanner returns evidence, not a finished architecture narrative. Scanner TypeScript API · Sequence participant · In-process compiler APIs supply parsed configuration, syntax trees, module resolution and type/symbol information. The scanner's workspace-aware host and source mappings constrain how those results are used. TypeScript does not classify Topocode's graph quality or invent responsibility groups. TypeScript API Semantic pass · Sequence participant · extractLogicalArchitecture builds a compiler program using per-file options and already-resolved import mappings. It canonicalizes aliases, identifies declarations, signatures and members, then walks identifiers to record static relationships and their locations. Responsibility assignments come from an explicit proposal, not automatic architectural inference. Missing proposals and unassigned entities stay visible. Static references are not runtime reachability. Semantic pass