feat(harness): persist bootstrap claims [Agent Map 05/15] - #824
Conversation
Review — PR #824 (round 1)No confidentiality findings. Changeset, JSDoc, and comments are provider- and Findings1. Post-commit hook rejection fails a create that already committed
Failure scenario: the slot-7 consumer's post-commit delivery throws (outbox The hook's own JSDoc says "Delivery may be retried, so consumers must be project-keyed and 2. Changeset is
|
d824dc0 to
023c09d
Compare
37ad9f0 to
cc19a8a
Compare
Review — PR #824 (round 2, follow-up)Delta since Fixed
Not fixed
Round 1 correctionNit 2 was wrong: VerdictRequest changes: the two substantive round-1 findings (uncaught post-commit hook, patch-level |
023c09d to
3d105bc
Compare
cc19a8a to
2b5ee34
Compare
Primary change type
Problem and motivation
Project bootstrap and queued user input need durable identities and claims so retries or restarts cannot create duplicate first sessions or discard accepted requests.
Summary and scope
Extract state decoding and migration, project intents, first-session claims, accepted-input receipts, and the bootstrap outbox into a persistence boundary that can be tested before activation.
Ignore unrelated outbox files such as .DS_Store while rejecting malformed reserved records. Failed state writes remove their temporary file and preserve the last committed state.
How this increment fits
This is internal persistence groundwork with no active server behavior. The complete coordinator follows in part 6 and activates in part 7.
Stack and review boundary
2b5ee346d6a49b783033256d4e3a8ae04949fb20; 2,350 changed lines across 8 files, counting additions and deletions including tests.fix/studio-onboarding-followups.Related work
Agent Map checkpoint SAP-3147; relevant work SAP-3148. This packaging follows the maintainer-approved 15-PR split.
Validation
Root checks ran against
cc19a8a0d4bde84feb5568a50d01801a784fa76e. The final head changes only README terminology or commit ancestry; a complete tracked-file comparison confirms identical executable source and build inputs. The terminology gate was rerun on2b5ee346d6a49b783033256d4e3a8ae04949fb20.Tests and documentation
Regression coverage: Legacy state decoding, durable claims and receipts, duplicate intents, corrupt reserved entries, unrelated files, failed writes, and restart recovery.
See part 15 for integrated browser, native CLI, and Mac journey validation. The checks above were run independently on this PR’s own commit.
Linux tests run with ordinary user filesystem permissions; the sandbox's extra ambient capabilities are dropped. Hosted CI and automated review are separate from these recorded local results.
Compatibility and release impact
.changeset/bootstrap-storage.mdSecurity
AI assistance
Checklist