# git-cas v6.5.3 Release Notes

v6.5.3 preserves coherent persistent Git object sessions across compatible
immutable writes. It is a process-topology correction to v6.5.2 and changes no
public API, stored format, object identity, retention policy, or lifecycle
contract.

## Session Coherence

`GitPersistenceAdapter` now preserves its typed `cat-file --batch-command`
session after successful loose blob, bulk blob, and tree writes. Git permits
that process to refresh object-database state and discover both new loose
objects and packs created after the session started.

The adapter also preserves `mktree --batch -z` after loose blob and tree writes.
It deliberately retires `mktree` after a bounded `fast-import` batch because
Git's quick tree-entry lookup does not refresh packs created after the process
prepared its object database. The scoped `fast-import` process still
checkpoints and closes before any object ID escapes.

## Measured Effect

In the audited 128-node git-warp retained-materialization fixture, total Git
children fell from 558 to 401. `cat-file` openings fell from 80 to four and
`mktree` openings fell from 82 to one. The three-run median materialization test
time fell from 14.24 seconds to 12.72 seconds, and measured process CPU fell
from 15.74 seconds to 13.83 seconds.

Process counts are deterministic regression evidence. Timings are local
observations, not cross-platform performance guarantees. The remaining 401 Git
children include 140 intentionally one-shot `hash-object` writes and git-warp
history, ref, and workspace operations outside this patch's scope.

## Verification

The versioned candidate passed 2,082 Node unit tests, 2,081 Bun unit tests, 2,072
Deno unit tests, and 198 real-Git integration tests on each runtime. The full
release verifier passed all 14 steps with 6,829 observed tests. Real-Git
coverage exercises SHA-1 and SHA-256 repositories, later loose objects, later
packs above `fastimport.unpackLimit`, failure invalidation, idle retirement, and
explicit closure.

## Compatibility

This release requires no application changes or stored-data migration.
Existing public methods, handles, refs, witnesses, object IDs, and retention
semantics remain compatible with v6.5.2.
