Contract v0 scope
What @restormel/graph-core guarantees in v0: frozen DTOs in viewModel.ts, contracts-free helpers, and modules deliberately excluded from the canvas contract.
The authoritative checklist for “what is v0” lives in the repo file GRAPH_CORE_V0_SCOPE.md. This page summarizes it for integrators who should not have to diff viewModel.ts on GitHub to understand
semver expectations.
In scope (Contract v0)
- Frozen DTOs in
@restormel/graph-core/viewModel:GraphData,GraphNode,GraphEdge, ghost types, viewport commands, semantic style records, and related unions. - No
@restormel/contractsinside graph-core MVP — canvas types stay portable across hosts that do not ship the reasoning stack. - Co-located helpers (still contracts-free today):
layout(computeLayout),trace,workspace.
Explicitly out of v0
Compare, lineage, projection, graph diff, evaluation, and summary modules that depend on contracts live in @restormel/graph-reasoning-extensions — not in Contract v0.
Do not expect those APIs to ship from graph-core.
Semver expectations (human summary)
- Patch / minor (canvas): bugfixes, non-breaking additions to optional fields or helpers, docs — as long as published DTOs remain compatible for typical consumers. Follow release notes on npm and Releases & support.
- Major: breaking changes to
GraphData/ node-edge shapes, removed exports, or behaviour that forces adapter rewrites. When in doubt, compareviewModel.tsbetween versions and run yoursvelte-check/ integration tests.