|
| 1 | +# PERF-0052 v6.5.2 Release Candidate Witness |
| 2 | + |
| 3 | +Date: 2026-07-19 |
| 4 | + |
| 5 | +Issue: #90 |
| 6 | + |
| 7 | +Implementation review: #91 |
| 8 | + |
| 9 | +Release review: #92 |
| 10 | + |
| 11 | +## Scope |
| 12 | + |
| 13 | +This witness records the pre-publication release candidate for persistent |
| 14 | +bounded Git object sessions, bounded page batches, and deterministic local |
| 15 | +resource closure. It does not claim that a `v6.5.2` tag, npm artifact, or GitHub |
| 16 | +Release exists. This is an explicitly unpublished candidate. |
| 17 | + |
| 18 | +The candidate: |
| 19 | + |
| 20 | +- sets npm, JSR, and the runtime `PACKAGE_VERSION` export to `6.5.2`; |
| 21 | +- moves the persistent-session and page-batch changes from `Unreleased` to |
| 22 | + `6.5.2`; |
| 23 | +- packages and links `docs/releases/v6.5.2.md`; |
| 24 | +- adds v6.5.1-to-v6.5.2 adoption guidance to `UPGRADING.md`; |
| 25 | +- marks design 0052 landed and records its release-candidate posture; |
| 26 | +- preserves all v6.5.1 publication evidence as immutable history; and |
| 27 | +- leaves tag and registry publication claims deliberately absent. |
| 28 | + |
| 29 | +## Implementation Provenance |
| 30 | + |
| 31 | +| Capability | Review anchor | Commit | |
| 32 | +| -------------------------------------------- | ------------- | ------------------------------------------ | |
| 33 | +| Persistent typed Git object sessions | #91 | `27831926327afc7522b39ab435d29b46b7ac428e` | |
| 34 | +| Bounded page batching and facade closure | #91 | `27831926327afc7522b39ab435d29b46b7ac428e` | |
| 35 | +| Lifecycle, teardown, and boundedness repairs | #91 | `1819d8572707d8846ffa7ace9847f490cdb6438b` | |
| 36 | +| Final review repairs | #91 | `efce7879348072a25759996dd159e35b638c4035` | |
| 37 | +| Reviewed feature merge | #91 | `4ce37adc57d49d2633507c3fbdc46e98617b26d6` | |
| 38 | + |
| 39 | +The public page capability exposes bounded ordered batches, and the root facade |
| 40 | +exposes explicit close and async disposal without making the optional |
| 41 | +persistence-port capabilities mandatory for legacy structural adapters. |
| 42 | + |
| 43 | +[cite: `index.d.ts#1466-1474@4ce37adc57d49d2633507c3fbdc46e98617b26d6`] |
| 44 | +[cite: `index.d.ts#1723-1742@4ce37adc57d49d2633507c3fbdc46e98617b26d6`] |
| 45 | + |
| 46 | +The Git adapter feature-detects typed sessions, bounds parsed-tree residency, |
| 47 | +keeps individual writes one-shot, and scopes bulk writes to one completed and |
| 48 | +closed `fast-import` process. |
| 49 | + |
| 50 | +[cite: `src/infrastructure/adapters/GitPersistenceAdapter.js#41-180@4ce37adc57d49d2633507c3fbdc46e98617b26d6`] |
| 51 | +[cite: `src/infrastructure/adapters/GitPersistenceAdapter.js#499-570@4ce37adc57d49d2633507c3fbdc46e98617b26d6`] |
| 52 | + |
| 53 | +The real-Git regression contract proves semantic identity, one-session reads, |
| 54 | +one-process bounded batch writes, assertion-safe cleanup, and correct rewrite |
| 55 | +after aggressive external pruning. |
| 56 | + |
| 57 | +[cite: `test/integration/bundle-reference-performance.test.js#165-246@4ce37adc57d49d2633507c3fbdc46e98617b26d6`] |
| 58 | + |
| 59 | +## Verification |
| 60 | + |
| 61 | +The versioned candidate passed the complete `pnpm run release:verify` method: |
| 62 | + |
| 63 | +| Gate | Result | Observed tests | |
| 64 | +| -------------------------- | ---------------- | -------------: | |
| 65 | +| Lint | PASS | - | |
| 66 | +| Unit tests (Node) | PASS | 2,080 | |
| 67 | +| Unit tests (Bun) | PASS | 2,079 | |
| 68 | +| Unit tests (Deno) | PASS | 2,070 | |
| 69 | +| Public type compatibility | PASS | - | |
| 70 | +| Integration tests (Node) | PASS | 196 | |
| 71 | +| Integration tests (Bun) | PASS | 196 | |
| 72 | +| Integration tests (Deno) | PASS | 196 | |
| 73 | +| Examples and build stamp | PASS | - | |
| 74 | +| npm and JSR dry-runs | PASS | - | |
| 75 | +| **Release method summary** | **PASS (14/14)** | **6,817** | |
| 76 | + |
| 77 | +The implementation PR merged only after GitHub lint and all Node/Bun/Deno jobs |
| 78 | +passed, CodeRabbit approved, every review thread was resolved, and the complete |
| 79 | +diff received a clean self-review. Tag and publication evidence remain |
| 80 | +deliberately absent from this candidate witness. |
| 81 | + |
| 82 | +## Publication Gate |
| 83 | + |
| 84 | +Publication remains blocked until all of the following are true: |
| 85 | + |
| 86 | +1. the versioned candidate passes every release-verifier step; |
| 87 | +2. the release PR passes GitHub CI, self-review, Code Lawyer review, and the |
| 88 | + agreed CodeRabbit posture; |
| 89 | +3. the release PR is merged without unresolved findings; |
| 90 | +4. a signed annotated `v6.5.2` tag points at the reviewed merge commit; |
| 91 | +5. the release workflow passes version validation and runtime tests; |
| 92 | +6. npm reports `@git-stunts/git-cas@6.5.2` with provenance; and |
| 93 | +7. GitHub reports the final non-draft `v6.5.2` Release. |
| 94 | + |
| 95 | +Downstream git-warp adoption and its process-tree CPU, wall-clock, |
| 96 | +Git-command, and bounded-memory evidence remain separate post-publication |
| 97 | +obligations. |
0 commit comments