Goal
Implement the accepted v19 public programming model:
Write intents. Observe lanes. Keep receipts.
The normative design is docs/topics/api/README.md.
Why This Goalpost Reopened
The original closure evidence correctly proved the first v19 Timeline/Reading facade at commit 059dbf478d1f42b810f3c43ee486e20af36eaf3b. That facade has since been superseded by the accepted Runtime/Lane/Observer/Observation vocabulary checkpoint.
The old evidence remains valid historical evidence. It is not evidence that the revised release contract is implemented.
Canonical Surface
Root runtime values:
Core grammar:
An Observer runs against a Lane, producing an Observation
that emits Readings and leaves a Receipt.
Operation outcomes:
derived
plural
conflict
obstruction
Epistemic support remains a separate algebra.
Supported expert surfaces:
@git-stunts/git-warp/charts
@git-stunts/git-warp/diagnostics
@git-stunts/git-warp/advanced
@git-stunts/git-warp/testing
There is no public /graph, /browser, or /legacy surface.
Acceptance
- Root runtime values contain exactly
Runtime.
Runtime.open() owns production composition; close() releases local resources only.
Lane replaces Timeline; worldline and strand kinds are mutually exclusive runtime truths.
- Wesley-generated
*.intents and *.observers return validated domain objects.
Lane.observe(observer) synchronously constructs one dormant Observation.
- Iterator demand, convenience consumption, and awaiting
receipt share exactly one execution.
- Receipt-only consumption drains with backpressure and does not materialize Reading streams.
Reading.value is canonical across TypeScript, CLI JSON, MCP, fixtures, and envelopes.
- Operational outcomes and epistemic support cannot alias.
previewSettlement() returns inspectable presentation containing an immutable SettlementPlan.
settle() accepts only a validated plan and revalidates current frontiers.
- Graph-shaped derived views ship only through
/charts.
- CLI and MCP surfaces use the same vocabulary and Receipt renderer.
- Vocabulary conformance tests reject legacy nouns outside migration, substrate, and formal exceptions.
- README, migration docs, generated reference, CLI help, MCP descriptions, and consumer fixtures agree with runtime behavior.
Non-Goals
This goalpost does not promise WARP DRIVE, WARP-TTD, offline bundles, common-basis braid validation, or a legacy graph compatibility package. Those surfaces remain unadvertised until separately implemented and evidenced.
Goal
Implement the accepted v19 public programming model:
The normative design is
docs/topics/api/README.md.Why This Goalpost Reopened
The original closure evidence correctly proved the first v19 Timeline/Reading facade at commit
059dbf478d1f42b810f3c43ee486e20af36eaf3b. That facade has since been superseded by the accepted Runtime/Lane/Observer/Observation vocabulary checkpoint.The old evidence remains valid historical evidence. It is not evidence that the revised release contract is implemented.
Canonical Surface
Root runtime values:
Core grammar:
Operation outcomes:
Epistemic support remains a separate algebra.
Supported expert surfaces:
There is no public
/graph,/browser, or/legacysurface.Acceptance
Runtime.Runtime.open()owns production composition;close()releases local resources only.LanereplacesTimeline; worldline and strand kinds are mutually exclusive runtime truths.*.intentsand*.observersreturn validated domain objects.Lane.observe(observer)synchronously constructs one dormant Observation.receiptshare exactly one execution.Reading.valueis canonical across TypeScript, CLI JSON, MCP, fixtures, and envelopes.previewSettlement()returns inspectable presentation containing an immutableSettlementPlan.settle()accepts only a validated plan and revalidates current frontiers./charts.Non-Goals
This goalpost does not promise WARP DRIVE, WARP-TTD, offline bundles, common-basis braid validation, or a legacy graph compatibility package. Those surfaces remain unadvertised until separately implemented and evidenced.