System graph wire contract
State: open/verified · Kind: module · Audience: system
Summary
Section titled “Summary”- States a project’s structure — SystemGraph/SystemNode/SystemEdge, plus the aspect, project-facets, and saved-view shapes riding beside it — as one wire contract shared by every producer, host, and consumer.
- Types and ports only: no walker, no rendering, no runtime dependency; the Rust schema stays authoritative and this package restates it once for TypeScript.
Statement
Section titled “Statement”Four call sites independently declared this shape before this package unified it: the Rust schema, ontogen’s generated TypeScript, a hand-restated copy in the experience layer, and the TypeScript walker. This package fixes one definition — the graph shape, the one-method SystemGraphClient port a host implements to serve it, and the SavedViewStore port for named views — so a producer, a host, and a viewer agree by construction instead of by someone continuously checking four copies stayed in sync.
What it provides
Section titled “What it provides”- SystemGraph/SystemNode/SystemEdge types and the NodeKind/DepKind/SpecifierKind/Ecosystem string unions with ALL_* rosters
- SystemGraphClient — the one-method port (
graph(includeExternal)) a host satisfies to serve the graph - Aspect/Evidence types for per-node technology detection with tiered evidence
- ProjectFacets/ProjectFacetsStore for build-system role taxonomy joined by directory
- SavedView/SavedViewStore for named, restorable view configurations
Underlying implementation
Section titled “Underlying implementation”- packages/ts/system-model/src/graph.ts
- packages/ts/system-model/src/client.ts
- solutions/ontological/desktop/src-tauri/src/schema/system_graph.rs (authority on the shape)
Locations
Section titled “Locations”packages/ts/system-model/packages/ts/system-model/src/graph.tspackages/ts/system-model/src/client.tspackages/ts/system-model/src/saved-view.tspackages/ts/system-model/src/aspect.tspackages/ts/system-model/src/project-facets.ts