Skip to content

Add framed checkpoint v2 codec and bounded readback - #228

Merged
chaoz23 merged 1 commit into
mainfrom
agent/156-checkpoint-v2-foundation
Sep 6, 2026
Merged

chaoz23 merged 1 commit into
mainfrom
agent/156-checkpoint-v2-foundation

Conversation

@chaoz23

@chaoz23 chaoz23 commented Aug 25, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add an opt-in framed-v2 checkpoint artifact and manifest codec with bounded, incremental frame readback; per-frame, per-component, and terminal-index integrity checks; exact EOF validation; typed byte/count/depth limits; and prompt cancellation of stalled I/O.
  • Keep the logical SharedSearchCheckpoint at schema v1 and preserve the existing checkpoint-ID algorithm across layouts. The default writer remains legacy-v1.
  • Split the logical checkpoint into eight fixed-order components and reassemble the exact checkpoint without changing deterministic frontier order, findings, witnesses, or split/resume results.
  • Make same-ID legacy/framed writers converge on exactly one verified public layout through a neutral no-clobber publication path, including crash recovery, mixed-format races, byte-identical distinct-inode writers, three-writer neutral reuse, and caller-limit mismatches.
  • Extend list/show/capabilities with explicit artifact-schema discovery while keeping public projections numeric and privacy-safe.

Verification

  • npm test: 386 total, 383 passed, 0 failed, 3 expected local socket skips.
  • npm pack --dry-run --json --cache /private/tmp/inkcheck-v2-npm-cache: passed, 118 package entries, version unchanged at 0.7.2.
  • Independent frozen-tree review: 18 paths, +5150/-149, exact tree 85dfe9eaa0163bef5a7776ac4b4aa3e2eedb8216, no unstaged or untracked files.
  • Focused codec and integration coverage includes corruption/truncation, future schemas, bounds, cancellation, exact resume, component growth, retention, crash windows, cross-process publication, and public-shape privacy.

Deliberate scope

This is an opt-in checkpoint-storage foundation under #156 and a bounded prerequisite within #215/#216. It does not make framed v2 the default, activate allocation/eviction/compaction/stopping policy, change search ordering, publish a release, run InkBench, or claim a current-head performance improvement. Engine-native streaming from live search structures and the matched Intercept plus second-story promotion evidence remain separate work. All related issues remain open.

Related: #156, #215, #216

@chaoz23 chaoz23 added the enhancement New feature or request label Aug 25, 2026
@chaoz23
chaoz23 marked this pull request as ready for review September 6, 2026 00:52
@chaoz23
chaoz23 merged commit 4f2cc15 into main Sep 6, 2026
10 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant