Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 14 additions & 8 deletions BEARING.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ timeline

## Current State

`v6.5.8` shipped on `2026-08-23`.
`v6.5.8` shipped on `2026-08-23`, and `v6.5.9` is under release review.
Application asset, bundle, page, cache,
expiry, witness, and repository-diagnostics APIs sit above mutable root sets
and the low-level CAS pipeline. Direct bundle-reference reads and bounded
Expand Down Expand Up @@ -94,6 +94,12 @@ What exists now:
Plumbing 3.3.0 sessions pipeline independent blob, tree, metadata, and
successful checked-ref waves while one-shot and older-capability fallbacks
remain intact.
- **Compound workspace-admission candidate.** v6.5.9 adds one bounded
`workspace.batch()` callback for dependency-ordered page and bundle waves.
One private persistence scope stages every operation and one exact final
generation retains their union. A 33-operation witness reduced 200 Git
children to 23 and 33 retained generations to one in both SHA-1 and SHA-256
repositories without changing any application handle.
- **Batched workspace page retention.** v6.5.4 adds
`workspace.pages.putBatch()` so one bounded ordered page group is written and
retained under one exact workspace generation instead of rewriting a growing
Expand Down Expand Up @@ -164,14 +170,14 @@ These were the active tensions from the previous bearing. All resolved.

## Next Horizon

With v6.5.8 shipped, active work is tracked in GitHub Issues and Milestones.
Repo docs hold design and evidence records, not the active queue.
With v6.5.8 shipped and the v6.5.9 candidate under release review, active work
is tracked in GitHub Issues and Milestones. Repo docs hold design and evidence
records, not the active queue.

The completed release design is
[0059-bounded-write-waves](./docs/design/0059-bounded-write-waves/bounded-write-waves.md).
Its completed release goalpost is
[#119](https://github.com/git-stunts/git-cas/issues/119) in the
[`v6.5.8` milestone](https://github.com/git-stunts/git-cas/milestone/18).
The candidate design is
[0060-compound-workspace-admission](./docs/design/0060-compound-workspace-admission/compound-workspace-admission.md).
Its release goalpost is [#123](https://github.com/git-stunts/git-cas/issues/123)
in the [`v6.5.9` milestone](https://github.com/git-stunts/git-cas/milestone/19).

The broader horizon remains:

Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0

## [Unreleased]

## [6.5.9] — 2026-08-24

### Added

- **Compound staging-workspace admission** - `workspace.batch()` runs an
Expand Down
4 changes: 3 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Unlike traditional LFS which moves files to external servers, `git-cas` treats t
Existing v5 users should read [UPGRADING.md](./UPGRADING.md) and run
`npm run upgrade` in dry-run mode before restoring old encrypted vault entries.
For the release overview, see the
[v6.5.8 Release Notes](./docs/releases/v6.5.8.md).
[v6.5.9 Release Notes](./docs/releases/v6.5.9.md).

### 1. CLI Usage

Expand Down Expand Up @@ -238,6 +238,8 @@ All three runtimes are tested in CI on every push. The hexagonal architecture is
sessions for small streaming blob reads while large payloads remain streamed.
- **[v6.5.8 Release Notes](./docs/releases/v6.5.8.md)**: Bounded application
write waves, one-generation workspace batches, and reusable ref sessions.
- **[v6.5.9 Release Notes](./docs/releases/v6.5.9.md)**: Compound dependent
write waves retained under one exact staging-workspace generation.
- **[Upgrading](./UPGRADING.md)**: Migration guide for v5 → v6.
- **[Changelog](./CHANGELOG.md)**: Version history and migration notes.

Expand Down
5 changes: 3 additions & 2 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ GitHub wins and this file should be corrected.
| [`v6.5.6`](https://github.com/git-stunts/git-cas/milestone/16) | Bijou 7 framed cockpit and deterministic ref conflicts | [#105](https://github.com/git-stunts/git-cas/issues/105), [#106](https://github.com/git-stunts/git-cas/issues/106), [#111](https://github.com/git-stunts/git-cas/issues/111) |
| [`v6.5.7`](https://github.com/git-stunts/git-cas/milestone/17) | Bounded session-backed small payload stream reads | [#115](https://github.com/git-stunts/git-cas/issues/115) |
| [`v6.5.8`](https://github.com/git-stunts/git-cas/milestone/18) | Bounded application write and retention waves | [#119](https://github.com/git-stunts/git-cas/issues/119) |
| [`v6.5.9`](https://github.com/git-stunts/git-cas/milestone/19) | Compound staging-workspace admission | [#123](https://github.com/git-stunts/git-cas/issues/123) |
| [`v6.6.0`](https://github.com/git-stunts/git-cas/milestone/9) | Operator TUI and agent automation follow-through | [#39](https://github.com/git-stunts/git-cas/issues/39), [#40](https://github.com/git-stunts/git-cas/issues/40) |
| [`v6.7.0`](https://github.com/git-stunts/git-cas/milestone/10) | Browser and edge read-path exploration | [#41](https://github.com/git-stunts/git-cas/issues/41) |
| [`v7.0.0`](https://github.com/git-stunts/git-cas/milestone/6) | Protocol break only if audit requires it | [#42](https://github.com/git-stunts/git-cas/issues/42), only when justified |
Expand All @@ -54,10 +55,10 @@ GitHub wins and this file should be corrected.

The latest landed design record is:

- [0059-bounded-write-waves](./docs/design/0059-bounded-write-waves/bounded-write-waves.md)
- [0060-compound-workspace-admission](./docs/design/0060-compound-workspace-admission/compound-workspace-admission.md)

Its GitHub goalpost issue,
[#119](https://github.com/git-stunts/git-cas/issues/119), owns the release
[#123](https://github.com/git-stunts/git-cas/issues/123), owns the release
evidence. The design doc is the durable contract; GitHub records completion.

The `v6.2.0` slice record is:
Expand Down
23 changes: 17 additions & 6 deletions STATUS.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# STATUS

**Last tagged release:** `v6.5.8` (`2026-08-23`)
**Current release state:** `v6.5.8` is published to npm and GitHub Releases.
**Latest verification:** reviewed release merge `57b40553` passed 14/14 release-verifier stages with 7,057 observed tests; signed tag `v6.5.8` peels to that merge, and release workflow `32690361682` published the matching npm artifact plus final GitHub Release.
**Current release state:** `v6.5.9` release candidate; tag, npm publication, and GitHub Release remain pending the reviewed tag workflow.
**Latest verification:** exact versioned candidate `5512acd4` passed 14/14 release-verifier stages with 7,147 observed tests across Node, Bun, Deno, and all three real-Git integration suites.
**Playback truth:** `main`
**Runtimes:** Node.js 22.x, Bun, Deno
**Current planning method:** [WORKFLOW.md](./WORKFLOW.md)
Expand All @@ -18,6 +18,17 @@
- The machine-facing `git cas agent` surface exists and now supports
OS-keychain passphrase sources for vault-derived key flows, but parity and
portability are still partial.
- **v6.5.9 candidate posture** — implementation PR
[#124](https://github.com/git-stunts/git-cas/pull/124) merged normally as
`eb8d6176`; release PR [#125](https://github.com/git-stunts/git-cas/pull/125)
reviews the versioned candidate. Exact candidate `5512acd4` passed all 14
release-verifier stages with 7,147 observed tests. npm, JSR, and runtime
metadata identify `6.5.9`, while the signed tag and registry artifact remain
deliberately absent pending release review. The SHA-1/SHA-256 compound
witness preserves every application-handle digest while reducing a
33-operation graph from 200 to 23 Git children and from 33 retained
generations to one. The release is additive and requires no application or
stored-data migration.
- **v6.5.8 artifact posture** — implementation PR
[#120](https://github.com/git-stunts/git-cas/pull/120) and release PR
[#121](https://github.com/git-stunts/git-cas/pull/121) merged normally.
Expand Down Expand Up @@ -167,18 +178,18 @@

- GitHub Issues are canonical. If this section and GitHub disagree, GitHub
wins and this section should be corrected.
- Latest completed release goalpost:
[#119 v6.5.8: Batch bounded Git write and retention waves](https://github.com/git-stunts/git-cas/issues/119)
- Current release goalpost:
[#123 v6.5.9: Compound staging-workspace admission](https://github.com/git-stunts/git-cas/issues/123)
under the
[`v6.5.8` milestone](https://github.com/git-stunts/git-cas/milestone/18).
[`v6.5.9` milestone](https://github.com/git-stunts/git-cas/milestone/19).
- Current queued release goalposts are
[#39 v6.6.0: Operator TUI](https://github.com/git-stunts/git-cas/issues/39)
and
[#40 v6.6.0: Agent automation follow-through](https://github.com/git-stunts/git-cas/issues/40)
under
[`v6.6.0`](https://github.com/git-stunts/git-cas/milestone/9).
- The latest landed design record is
[0059-bounded-write-waves](./docs/design/0059-bounded-write-waves/bounded-write-waves.md).
[0060-compound-workspace-admission](./docs/design/0060-compound-workspace-admission/compound-workspace-admission.md).

## Read Next

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ release_home: 'v6.5.9'
issue: 'https://github.com/git-stunts/git-cas/issues/123'
goalpost_issue: 'https://github.com/git-stunts/git-cas/issues/123'
tracker_source: 'github'
status: 'active'
status: 'landed'
base_commit: '33738af7ce31f9117e9ced24ea20745a8541eea8'
owners:
- '@git-stunts'
Expand Down Expand Up @@ -497,7 +497,8 @@ The work is done when:
- [x] Existing public APIs, storage readers, v6 workspaces, and release surfaces
remain compatible with no migration.
- [x] Public docs, architecture, changelog, and release notes are accurate.
- [ ] Issue and PR are linked; CI and complete local validation are green.
- [x] Issue and implementation PR are linked; CI and complete implementation
validation are green.
- [ ] Released v6.5.9 is consumed from the registry by git-warp before any
downstream performance claim.

Expand Down Expand Up @@ -596,11 +597,14 @@ When this lands, it does not prove:

## Retrospective

The implementation and clean witness are complete. A 33-operation,
81-handle graph fell from 200 to 23 Git children and from 33 retained
generations to one in both SHA-1 and SHA-256 repositories. Median wall time
fell by 80.5% with identical handle digests. The remaining work is hosted
multi-runtime review, v6.5.9 publication, and released downstream adoption.
The implementation and clean witness are complete. A 33-operation, 81-handle
graph fell from 200 to 23 Git children and from 33 retained generations to one
in both SHA-1 and SHA-256 repositories. Median wall time fell by 80.5% with
identical handle digests. Implementation PR #124 merged normally as
`eb8d617620fa8f401fb887f5b1bbc341d4746b0a`; exact reviewed head
`29ba6e88c787a5e54c95a554e9166fd21aae31c0` passed 14/14 release-verifier
stages with 7,141 observed tests. The remaining work is v6.5.9 release review,
publication, and released downstream adoption.

PR:

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
# PERF-0060 v6.5.9 Release Candidate Witness

Date: 2026-08-24

Issue: #123

Implementation review: #124

Release review: #125

## Scope

This witness records the pre-publication candidate for compound
staging-workspace admission. It does not claim that a `v6.5.9` tag, npm
artifact, or GitHub Release exists. This is an explicitly unpublished
candidate.

The candidate:

- sets npm, JSR, and runtime package metadata to `6.5.9`;
- moves compound workspace admission from `Unreleased` to `6.5.9`;
- packages and links `docs/releases/v6.5.9.md`;
- records v6.5.8 publication evidence as immutable history;
- marks design 0060 landed after implementation review #124; and
- leaves v6.5.9 tag and registry claims deliberately absent.

## Implementation Provenance

Implementation review #124 merged normally as
`eb8d617620fa8f401fb887f5b1bbc341d4746b0a`. Its second parent is exact
reviewed head `29ba6e88c787a5e54c95a554e9166fd21aae31c0`.

That exact implementation head passed the complete release method:

| Gate | Result | Observed tests |
| -------------------------- | --------------------- | -------------: |
| Lint | PASS | - |
| Unit tests (Node) | PASS | 2,177 |
| Unit tests (Bun) | PASS | 2,176 |
| Unit tests (Deno) | PASS | 2,167 |
| Public type compatibility | PASS | - |
| Integration tests (Node) | PASS | 207 |
| Integration tests (Bun) | PASS | 207 |
| Integration tests (Deno) | PASS | 207 |
| Examples and build stamp | PASS | - |
| npm and JSR dry-runs | PASS | - |
| **Release method summary** | **PASS: 14/14 gates** | **7,141** |

The versioned release-candidate tree verified below was committed as
`5512acd477bc5e5a11339d6027a03631d1a3544a`. The following
documentation-only commit binds that immutable candidate identity into the
witness; publication still requires verification of the eventual reviewed
merge.

The versioned candidate passed the same complete release method:

| Gate | Result | Observed tests |
| -------------------------- | --------------------- | -------------: |
| Lint | PASS | - |
| Unit tests (Node) | PASS | 2,179 |
| Unit tests (Bun) | PASS | 2,178 |
| Unit tests (Deno) | PASS | 2,169 |
| Public type compatibility | PASS | - |
| Integration tests (Node) | PASS | 207 |
| Integration tests (Bun) | PASS | 207 |
| Integration tests (Deno) | PASS | 207 |
| Examples and build stamp | PASS | - |
| npm and JSR dry-runs | PASS | - |
| **Release method summary** | **PASS: 14/14 gates** | **7,147** |

## Semantic and Process Witness

Five counterbalanced samples compare the same 33-operation, 81-handle graph
under per-wave and compound admission in fresh SHA-1 and SHA-256 repositories.
Every ordered application-handle digest matches.

| Object format | Git children | Git interactions | Median wall reduction |
| ------------- | -----------: | ---------------: | --------------------: |
| SHA-1 | 200 -> 23 | 380 -> 238 | 80.522% |
| SHA-256 | 200 -> 23 | 380 -> 238 | 80.405% |

Compound admission reduces 33 retained workspace generations to one. The
remaining 18 `mktree` children preserve Git validation across dependent
descriptor-pack visibility boundaries and are not bypassed by this release.

## Compatibility and Publication Gate

The release is additive and migration-free. Existing application handles,
stored object bytes, descriptor schemas, ref namespaces, workspace methods,
readers, and repositories remain compatible without rewriting or cutover.

Publication remains blocked until release PR #125 passes hosted CI and review,
the exact reviewed merge passes verification, a signed annotated `v6.5.9` tag
peels to that merge, and the release workflow publishes npm plus the final
GitHub Release.
Original file line number Diff line number Diff line change
Expand Up @@ -48,9 +48,9 @@ workspace generation.
| Object format | Mode | Git children | Git interactions | Wall ms | Worker CPU ms |
| ------------- | -------- | -----------: | ---------------: | ------: | ------------: |
| SHA-1 | per-wave | 200 | 380 | 3763.82 | 370.336 |
| SHA-1 | compound | 23 | 238 | 733.116 | 113.672 |
| SHA-1 | compound | 23 | 238 | 733.116 | 113.672 |
| SHA-256 | per-wave | 200 | 380 | 3709.93 | 373.898 |
| SHA-256 | compound | 23 | 238 | 726.976 | 114.407 |
| SHA-256 | compound | 23 | 238 | 726.976 | 114.407 |

| Object format | Process reduction | Interaction reduction | Wall reduction | Worker CPU reduction |
| ------------- | ----------------: | --------------------: | -------------: | -------------------: |
Expand All @@ -69,15 +69,15 @@ that the batching change did not change page or bundle identity.

Both object formats produced the same process topology:

| Process/session | Per-wave | Compound |
| --------------------- | -------: | -------: |
| `fast-import` | 33 | 1 |
| `hash-object` | 66 | 0 |
| `cat-file` | 1 | 1 |
| `mktree` | 33 | 18 |
| `commit-tree` | 33 | 1 |
| `symbolic-ref` | 33 | 1 |
| `update-ref --stdin` | 1 | 1 |
| Process/session | Per-wave | Compound |
| -------------------- | -------: | -------: |
| `fast-import` | 33 | 1 |
| `hash-object` | 66 | 0 |
| `cat-file` | 1 | 1 |
| `mktree` | 33 | 18 |
| `commit-tree` | 33 | 1 |
| `symbolic-ref` | 33 | 1 |
| `update-ref --stdin` | 1 | 1 |

The single update-ref session performs 33 checked updates in per-wave mode and
one checked update in compound mode. Compound admission also keeps one scoped
Expand Down Expand Up @@ -116,3 +116,15 @@ This change is additive and migration-free. It changes neither application
handles nor stored object bytes, descriptor schemas, ref namespaces, existing
workspace methods, or read paths. Existing repositories and active v6.5.8
workspace refs remain readable without rewriting or cutover.

## Review and Release Boundary

Implementation PR [#124](https://github.com/git-stunts/git-cas/pull/124)
merged normally as `eb8d617620fa8f401fb887f5b1bbc341d4746b0a`. Its exact
reviewed head `29ba6e88c787a5e54c95a554e9166fd21aae31c0` passed the full
14-stage release verifier with 7,141 observed tests. The versioned v6.5.9
candidate `5512acd477bc5e5a11339d6027a03631d1a3544a` then passed the same
14-stage method with 7,147 observed tests. The reviewed merge, signed tag,
registry artifact, and GitHub Release remain separate gates recorded by the
[release-candidate witness](./release-candidate.md) and release PR
[#125](https://github.com/git-stunts/git-cas/pull/125).
Loading
Loading