Skip to content

System graph wire contract

State: open/verified · Kind: module · Audience: system

  • 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.

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.

  • 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
  • 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)
  • packages/ts/system-model/
  • packages/ts/system-model/src/graph.ts
  • packages/ts/system-model/src/client.ts
  • packages/ts/system-model/src/saved-view.ts
  • packages/ts/system-model/src/aspect.ts
  • packages/ts/system-model/src/project-facets.ts

← Back to Capabilities