You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
v19.0.0 is the intentional graph-first-to-runtime application break and the completion of the emergency storage-ownership/performance pivot.
Released scope:
Runtime as the sole root runtime value, with type-only Lane, Intent, Observer, Observation, Reading, Evidence, Tick, settlement, and Receipt contracts.
Wesley-generated validated Intent and Observer SDKs; lazy single-execution Observations; runtime-backed strands and revalidated settlement plans.
Explicit /advanced, /diagnostics, /charts, and /testing surfaces, with storage, legacy, and browser absent from the package export map.
git-cas 6.5.5 ownership of CAS objects, pages, bundles, cache lifecycle, retention, and physical diagnostics; WARP-owned duplicate caches and raw object writers removed or prohibited by CI.
A one-shot git-warp-v18-to-v19 retained-substrate migrator under scripts/v18-to-v19/, with non-mutating disposable rehearsal, compare-and-swap promotion, additive recovery refs, and authentic published-v18 fixtures. No v18 compatibility runtime remains in product code.
Versioned cold/warm/incremental materialization and oversized Observer gates, plus an authentic published-v18 versus migrated-v19 retained-read comparison.
CLI and MCP vocabulary aligned with Runtime/Lane/Intent/Observation/Reading/Receipt.
npm, JSR, GitHub Release, annotated tag, release workflow, and exact-main performance evidence aligned on one commit.
Not released
The v18 graph-first application API is not retained or hidden under another subpath. Consumers must migrate application code deliberately.
Think itself was not switched to v19 as part of this package release. Its graph-first application layer and durable repository should be migrated together in an isolated rehearsal before the live writer resumes.
Common-basis braid validation, WARP DRIVE, WARP-TTD, offline bundles, live Echo/git-warp suffix exchange, and generic legacy compatibility remain outside v19 as stated by the milestone.
Universal performance claims were not made. The release witnesses bounded, named workloads and memory envelopes.
Plan vs actual
Planned thesis: ship a boring Runtime/Lane/Intent/Observer/Observation/Reading/Receipt boundary and major performance improvements from corrected git-cas ownership.
Actual release: matched the thesis, but only after two release-blocking discoveries changed the implementation path.
A real Think probe proved that npm linking alone could not bridge retained v18 blob-backed state to the v19 asset-handle boundary. The release stopped, and the normal one-shot migration model was implemented under scripts/v18-to-v19/ instead of preserving legacy runtime code.
The first authentic v18 comparison showed only about 4–5% lower wall time. The release stopped again. Observation basis preparation, pinned coordinate optic reuse, and immutable captured-basis caching were optimized until the exact merged-main gate proved a material improvement.
The final train spans 290 commits, 51 first-parent merge commits, and 1,177 changed files (87,737 insertions, 47,334 deletions) from v18.2.1 to v19.0.0. The v19 milestone closed 56 issues and reached zero open release items before tagging.
Evidence
Tag: v19.0.0
Annotated tag object: a0769b73d6427d3449888eb833fe4b711b30fe51
Exact merged-main, Linux x64, Node 22.23.1, Git 2.54.0:
Authentic approximately 2 MiB, 18-patch retained-v18 fixture; one-shot migration reported separately at 3,281.1 ms.
Sixteen retained properties at one pinned coordinate, five measured cold and warm runs per runtime after warmup.
Cold: 1,251.4 ms v18 → 861.9 ms v19 (31.1% lower wall); 657.5 ms → 525.7 ms operation CPU (20.1% lower).
Warm: 1,239.0 ms v18 → 841.4 ms v19 (32.1% lower wall); 652.3 ms → 513.6 ms operation CPU (21.3% lower).
Git commands: 322 → 172 (46.6% fewer) in both scenarios.
Oversized proof: all 128 Readings / 256 MiB logical property data under a 64 MiB old-space cap, 35.2 MiB peak heap, zero whole-index scans, zero full materializations, hostile full-materialization control OOM as required.
Went well
Real consumer evidence stopped the release instead of being dismissed as a linking problem.
Legacy migration code stayed in the one-shot script boundary; the v19 product surface remained clean.
The fixture stayed small: approximately 2 MiB, not a checked-in copy of a live or gigabyte-scale mind.
The first weak benchmark result was accepted as RED evidence and drove a real runtime optimization rather than a weaker threshold.
Exact-main performance, release preflight, tag identity, registry publication, and post-publication import/export checks all agreed.
No amend, rebase, force, draft PR, or legacy compatibility shortcut was used.
Improve next time
Curate the release synopsis before generated PR history. The generated v19 list surfaced superseded openWarp/Timeline prototypes and required a post-publication release-note prepend. Tracked by Publish curated release notes before generated PR history #803.
Keep the disposable registry smoke's working directory explicit. The post-publish smoke initially installed into /tmp; exact birth-time checks allowed safe removal of only the created paths, and no repository or user data was affected.
Preserve the intentionally redundant final-main and tag verification gates, but investigate artifact reuse only if it can retain exact-SHA, package-content, and registry-publish guarantees.
Do not start a v20 feature train immediately. First migrate one real graph-first consumer—Think is the obvious candidate—through both layers in an isolated copy:
stop all writers and preserve the live repository;
run the packaged v18-to-v19 rehearsal and inspect its recovery plan;
migrate the application from graph-first imports/patch callbacks to generated Intents and bounded Observers;
promote the retained substrate only after disposable reads, writes, receipts, doctor, and recovery tests pass;
resume the live writer only after compare-and-swap preconditions are rechecked.
Treat that as consumer validation, not a reason to reintroduce v18 runtime code into git-warp.
Release retrospective: v19.0.0
Released
v19.0.0is the intentional graph-first-to-runtime application break and the completion of the emergency storage-ownership/performance pivot.Released scope:
Runtimeas the sole root runtime value, with type-only Lane, Intent, Observer, Observation, Reading, Evidence, Tick, settlement, and Receipt contracts./advanced,/diagnostics,/charts, and/testingsurfaces, withstorage,legacy, andbrowserabsent from the package export map.git-warp-v18-to-v19retained-substrate migrator underscripts/v18-to-v19/, with non-mutating disposable rehearsal, compare-and-swap promotion, additive recovery refs, and authentic published-v18 fixtures. No v18 compatibility runtime remains in product code.Not released
Plan vs actual
Planned thesis: ship a boring Runtime/Lane/Intent/Observer/Observation/Reading/Receipt boundary and major performance improvements from corrected git-cas ownership.
Actual release: matched the thesis, but only after two release-blocking discoveries changed the implementation path.
scripts/v18-to-v19/instead of preserving legacy runtime code.The final train spans 290 commits, 51 first-parent merge commits, and 1,177 changed files (
87,737insertions,47,334deletions) fromv18.2.1tov19.0.0. The v19 milestone closed 56 issues and reached zero open release items before tagging.Evidence
v19.0.0a0769b73d6427d3449888eb833fe4b711b30fe51f93f57fe5f241f326473b553e2a907f293339db1@git-stunts/git-warp@19.0.0, dist-taglatestsha512-YiQOjaR5gDr3FMINdtBoNqrEpCX7HQLVJO18151fcJET3CpL9qw3fToEp9nAwDQWavg4Xp7wN4wh7ViLlYigQg==@jsr/git-stunts__git-warp@19.0.0, dist-taglatestsha512-fXfbEREsrPIwAIjIbWn1DJZlZOFGeXnPrp6KNA3+Ml4Le23s5qskizjk6Mf+/GolNSp0RC5D+eZ+swmGuUfgLg==Performance witness
Exact merged-main, Linux x64, Node 22.23.1, Git 2.54.0:
Went well
Improve next time
openWarp/Timelineprototypes and required a post-publication release-note prepend. Tracked by Publish curated release notes before generated PR history #803.Related: #758was added. Tracked by Reference the goalpost when opening release PRs #804./tmp; exact birth-time checks allowed safe removal of only the created paths, and no repository or user data was affected.Fallout issues
Next release recommendation
Do not start a v20 feature train immediately. First migrate one real graph-first consumer—Think is the obvious candidate—through both layers in an isolated copy:
Treat that as consumer validation, not a reason to reintroduce v18 runtime code into git-warp.