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
Diagram guide
Explore this system
×
Inspecting compiled semantics
01
Find any node Search labels, responsibilities, kinds, and stable IDs.
/
02
Trace a route Ask how two semantic nodes connect in authored direction.
R
03
See the whole system Open Semantic Radar with a live viewport and stable nodes.
M
04
Compare semantic kinds Count roles, reveal their traffic, and compare direct authored links.
L
05
Enter Presentation Stage Give the live diagram the viewport without changing export.
F
E ExportT ThemeS Style0 Reset+ Zoom in- Zoom outEsc Close
Find a node
×
⌕
/
No matching nodes
Semantic passport
Authored reach
Upstream 0
Downstream 0
×
Copy link
Relations
Path
Click where the path starts
Find start
Copy link
Clear
Click two nodes on the diagram
←
▶
Journey
→
Overview
Click a start, then an end. Paths follow the arrows.
Semantic lens
Compare responsibilities
×
Choose up to two authored roles. Highlight only the relationships drawn in this story: not runtime traffic, transitive impact, or the complete dependency graph. One role includes connected peers; two compare direct cross-role arrows.
Choose a kind to inspect its nodes and touching relationships.
Copy link
Clear
Semantic radar
Building overview
Open radar
×
Click node Drag to pan
Semantic radar needs more MAP space.
Notes & index
PATH
MAP
LENS
READ 100%