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
14 changes: 14 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.0] — 2026-07-18

### Added

- **Direct bundle references** - `bundles.getMemberReference()` and
Expand All @@ -24,6 +26,18 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
mutable records are cloned for callers, and no application payloads or ref
state enter either cache.

### Fixed

- **Observed RootSet compare-and-swap races** - exact failed
`update-ref --no-deref` commands with an independently observed head advance
now normalize to `ROOT_SET_CONFLICT` even when Git emits no diagnostic text.
OIDs are compared canonically so case-only differences do not create false
conflicts.
- **Bounded cache settlement** - rejected work is removed before its returned
promise settles, and a resolved value larger than its weight budget is
discarded before eviction runs, preserving retryability and unrelated
residents.

## [6.4.0] — 2026-07-17

### Added
Expand Down
34 changes: 18 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,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.4.0 Release Notes](./docs/releases/v6.4.0.md).
[v6.5.0 Release Notes](./docs/releases/v6.5.0.md).

### 1. CLI Usage

Expand Down Expand Up @@ -94,21 +94,21 @@ the asset reachable.

The README is the front door. Detailed mechanics live in the guide set:

| Need | Start Here |
| ------------------------------------------------------- | ------------------------------------------------------------ |
| Productive library and CLI workflows | [Developer Guide](./GUIDE.md) |
| Restore memory behavior | [Streaming and restore matrix](./GUIDE.md#streaming-surface) |
| Encryption scheme selection | [Encryption Modes](./docs/ENCRYPTION_MODES.md) |
| CDC internals, Merkle manifests, KDF policy, and tuning | [Advanced Guide](./ADVANCED_GUIDE.md) |
| Ports, adapters, and collaborator boundaries | [Architecture](./ARCHITECTURE.md) |
| Assets, pages, bundles, retention, and publication | [Application storage](./docs/API.md#application-storage) |
| Temporary retention during multi-step composition | [Scoped staging workspaces](./docs/API.md#scoped-staging-workspaces) |
| GC retention for caches and derived state | [Root Sets](./docs/API.md#root-sets) |
| Managed TTL and capacity caches | [Cache Sets](./docs/API.md#cache-sets) |
| Scoped protection while consuming a cache hit | [Cache acquisitions](./docs/API.md#acquire-and-release) |
| Durable replay markers with expiry-only release | [Expiring Sets](./docs/API.md#expiring-sets) |
| Repository reachability and git-cas usage evidence | [Repository Diagnostics](./docs/API.md#repository-diagnostics) |
| v5 to v6 migration | [Upgrading](./UPGRADING.md) |
| Need | Start Here |
| ------------------------------------------------------- | -------------------------------------------------------------------- |
| Productive library and CLI workflows | [Developer Guide](./GUIDE.md) |
| Restore memory behavior | [Streaming and restore matrix](./GUIDE.md#streaming-surface) |
| Encryption scheme selection | [Encryption Modes](./docs/ENCRYPTION_MODES.md) |
| CDC internals, Merkle manifests, KDF policy, and tuning | [Advanced Guide](./ADVANCED_GUIDE.md) |
| Ports, adapters, and collaborator boundaries | [Architecture](./ARCHITECTURE.md) |
| Assets, pages, bundles, retention, and publication | [Application storage](./docs/API.md#application-storage) |
| Temporary retention during multi-step composition | [Scoped staging workspaces](./docs/API.md#scoped-staging-workspaces) |
| GC retention for caches and derived state | [Root Sets](./docs/API.md#root-sets) |
| Managed TTL and capacity caches | [Cache Sets](./docs/API.md#cache-sets) |
| Scoped protection while consuming a cache hit | [Cache acquisitions](./docs/API.md#acquire-and-release) |
| Durable replay markers with expiry-only release | [Expiring Sets](./docs/API.md#expiring-sets) |
| Repository reachability and git-cas usage evidence | [Repository Diagnostics](./docs/API.md#repository-diagnostics) |
| v5 to v6 migration | [Upgrading](./UPGRADING.md) |

Core capabilities:

Expand Down Expand Up @@ -202,6 +202,8 @@ All three runtimes are tested in CI on every push. The hexagonal architecture is
reference-only cache acquisitions with explicit release and doctor evidence.
- **[v6.4.0 Release Notes](./docs/releases/v6.4.0.md)**: Scoped staging
workspaces for temporary multi-object reachability, promotion, and cleanup.
- **[v6.5.0 Release Notes](./docs/releases/v6.5.0.md)**: Bounded direct bundle
references, immutable metadata reuse, and corrected concurrency settlement.
- **[Upgrading](./UPGRADING.md)**: Migration guide for v5 → v6.
- **[Changelog](./CHANGELOG.md)**: Version history and migration notes.

Expand Down
27 changes: 14 additions & 13 deletions ROADMAP.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,26 +29,27 @@ Repo docs are supporting records:
The milestones below should exist in GitHub. If this table and GitHub disagree,
GitHub wins and this file should be corrected.

| Milestone | Theme | Tracker |
| ------------------------------------------------------------- | ---------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------- |
| [`v6.0.1`](https://github.com/git-stunts/git-cas/milestone/1) | Patch closeout and planning truth | [#37](https://github.com/git-stunts/git-cas/issues/37) |
| [`v6.1.0`](https://github.com/git-stunts/git-cas/milestone/2) | Bounded residency and scale hardening | [#43](https://github.com/git-stunts/git-cas/issues/43), [#44](https://github.com/git-stunts/git-cas/issues/44), [#45](https://github.com/git-stunts/git-cas/issues/45), [#48](https://github.com/git-stunts/git-cas/issues/48) |
| [`v6.2.0`](https://github.com/git-stunts/git-cas/milestone/3) | Emergency application storage and cache ownership boundary | [#50](https://github.com/git-stunts/git-cas/issues/50) |
| [`v6.3.0`](https://github.com/git-stunts/git-cas/milestone/7) | Bounded scoped cache acquisitions | [#69](https://github.com/git-stunts/git-cas/issues/69), [#70](https://github.com/git-stunts/git-cas/issues/70) |
| [`v6.4.0`](https://github.com/git-stunts/git-cas/milestone/4) | Scoped staging workspaces | [#75](https://github.com/git-stunts/git-cas/issues/75), [#77](https://github.com/git-stunts/git-cas/issues/77) |
| [`v6.4.1`](https://github.com/git-stunts/git-cas/milestone/8) | Historical bounded-residency proof closeout | [#38](https://github.com/git-stunts/git-cas/issues/38), [#46](https://github.com/git-stunts/git-cas/issues/46) |
| [`v6.5.0`](https://github.com/git-stunts/git-cas/milestone/5) | 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.6.0`](https://github.com/git-stunts/git-cas/milestone/9) | 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 |
| Milestone | Theme | Tracker |
| -------------------------------------------------------------- | ----------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [`v6.0.1`](https://github.com/git-stunts/git-cas/milestone/1) | Patch closeout and planning truth | [#37](https://github.com/git-stunts/git-cas/issues/37) |
| [`v6.1.0`](https://github.com/git-stunts/git-cas/milestone/2) | Bounded residency and scale hardening | [#43](https://github.com/git-stunts/git-cas/issues/43), [#44](https://github.com/git-stunts/git-cas/issues/44), [#45](https://github.com/git-stunts/git-cas/issues/45), [#48](https://github.com/git-stunts/git-cas/issues/48) |
| [`v6.2.0`](https://github.com/git-stunts/git-cas/milestone/3) | Emergency application storage and cache ownership boundary | [#50](https://github.com/git-stunts/git-cas/issues/50) |
| [`v6.3.0`](https://github.com/git-stunts/git-cas/milestone/7) | Bounded scoped cache acquisitions | [#69](https://github.com/git-stunts/git-cas/issues/69), [#70](https://github.com/git-stunts/git-cas/issues/70) |
| [`v6.4.0`](https://github.com/git-stunts/git-cas/milestone/4) | Scoped staging workspaces | [#75](https://github.com/git-stunts/git-cas/issues/75), [#77](https://github.com/git-stunts/git-cas/issues/77) |
| [`v6.4.1`](https://github.com/git-stunts/git-cas/milestone/8) | Historical bounded-residency proof closeout | [#38](https://github.com/git-stunts/git-cas/issues/38), [#46](https://github.com/git-stunts/git-cas/issues/46) |
| [`v6.5.0`](https://github.com/git-stunts/git-cas/milestone/5) | Bounded lazy bundle references and immutable metadata reads | [#81](https://github.com/git-stunts/git-cas/issues/81) |
| [`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 |

## Latest Landed Design

The latest landed design record is:

- [0049-scoped-staging-workspaces](./docs/design/0049-scoped-staging-workspaces/scoped-staging-workspaces.md)
- [0050-lazy-bundle-reference-reads](./docs/design/0050-lazy-bundle-reference-reads/lazy-bundle-reference-reads.md)

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

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

**Last tagged release:** `v6.4.0` (`2026-07-18`)
**Current release state:** `v6.4.0` is published to npm and GitHub Releases from signed tag `v6.4.0` at reviewed merge `d47af74a`.
**Latest verification:** Release run `29627828620` passed validation, unit and Node/Bun/Deno real-Git integration, OIDC trusted npm publication, and final GitHub Release creation; npm reports `6.4.0` as `latest` with SLSA provenance.
**Current release state:** `v6.5.0` release candidate; tag, npm publication, and GitHub Release remain pending the reviewed tag workflow.
**Latest verification:** the final v6.5.0 candidate passed 14/14 release-verifier steps with 6,625 observed tests across Node.js, Bun, and Deno; that verifier run's npm dry-run contained 249 files totaling 769,785 packed bytes and 2,149,364 unpacked bytes.
**Playback truth:** `main`
**Runtimes:** Node.js 22.x, Bun, Deno
**Current planning method:** [WORKFLOW.md](./WORKFLOW.md)
Expand All @@ -18,8 +18,13 @@
- 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.0 candidate posture** — bounded direct bundle references, immutable
metadata reuse, and the RootSet/cache concurrency repairs are merged through
reviewed commit `d5f770fb`; npm, JSR, and runtime version metadata identify
`6.5.0`, while the tag and registry artifacts remain deliberately absent
until release-candidate review completes.
- **v6.4.0 artifact posture** — signed tag `v6.4.0` resolves to reviewed merge
`d47af74`; npm reports `@git-stunts/git-cas@6.4.0` as `latest` with SLSA
`d47af74a`; npm reports `@git-stunts/git-cas@6.4.0` as `latest` with SLSA
provenance, and the final GitHub Release is published. Scoped staging
workspaces and the corrected structured RootSet lock retry are shipped. JSR
dry-run validation is healthy, but JSR publication is not part of the release
Expand Down Expand Up @@ -105,11 +110,11 @@
- GitHub Issues are canonical. If this section and GitHub disagree, GitHub
wins and this section should be corrected.
- Current release goalpost:
[#38 Bounded Residency](https://github.com/git-stunts/git-cas/issues/38)
[#81 Bounded lazy bundle references and immutable metadata reads](https://github.com/git-stunts/git-cas/issues/81)
under the
[`v6.4.1` milestone](https://github.com/git-stunts/git-cas/milestone/8).
[`v6.5.0` milestone](https://github.com/git-stunts/git-cas/milestone/5).
- The latest landed design record is
[0049-scoped-staging-workspaces](./docs/design/0049-scoped-staging-workspaces/scoped-staging-workspaces.md).
[0050-lazy-bundle-reference-reads](./docs/design/0050-lazy-bundle-reference-reads/lazy-bundle-reference-reads.md).

## Read Next

Expand Down
Loading
Loading