docs(handoff): three corrections β a closed store bullet, a gotcha that claimed novelty it did not have, and a superseded "unpushed" - #1413
Merged
Conversation
β¦at claimed novelty it did not have, and a superseded "unpushed" Each of these was a sentence in this doc that had become false, in the exact way the doc itself keeps warning about. 1. THE STORE BULLET IS CLOSED, so the instruction to close it must stop reading as open work. `devrc/cairn`'s `2026-08-29: OPEN:` is now `RESOLVED caec932:` via `cairn put` (revision `da318a4c6a96f9d8`), naming the implementing site rather than asserting closure: `ATTRIBUTION = " [cairn: {actor}/{session}]"` in `scripts/subsystem-store-api/server.py`, appended server-side from the authenticating token. The control that it did what it claimed is the index row moving `17 nuance / 2 OPEN` to `18 nuance / 1 OPEN` β both dimensions touched, not merely bytes landing. The surviving OPEN is a different bullet and was deliberately left unverified rather than closed on no evidence. 2. THE STALE-DOC GOTCHA CLAIMED TO BE A DISCOVERY AND IS NOT ONE. `/resume` step 1 already carries the rule, backed by two older measurements (a 276-line-stale handoff, a 692-commit-stale skill file), and `scripts/resume-state.sh` exists to prevent it β step 2 orders it BEFORE the read for that reason. This session hand-rolled git/gh instead, which step 2 forbids, walked into the trap the tool was built to prevent, then wrote it up as new. Correction appended rather than the block deleted: the measurement is still true, the framing was wrong. When the reconciler was finally run it reported the tree copy stale at 829 vs 930 lines AND a gap block (`gh answered for 5 of 6 referenced PR(s)`) β a distinction a hand-rolled check cannot produce, since it reports a gap as nothing at all. 3. RANK 3 IS NO LONGER UNPUSHED. The doc says the other session's work is a local commit with no PR; it is now open as devrc #1406, found by the pre-create `gh pr list` sweep that step 6 asks for and that the previous PR ran only afterwards. The claim is untouched and still theirs. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MCjWicwrMAwjGTh3uXsSNT Claude-Session-Id: 054db069-07b1-4abb-962a-f677e633829f
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Three sentences in this handoff had become false. Each one in the way the doc itself keeps warning about, which is why they are worth a PR rather than a silent fix in the next revision.
1. The store bullet is closed, so the instruction to close it must stop reading as open
devrc/cairn's2026-08-29: OPEN: no entry in this store carries a task, PR or session refis nowRESOLVED caec932e:viacairn put(revisionda318a4c6a96f9d8).Closure is named, not asserted: the implementing site is
ATTRIBUTION = " [cairn: {actor}/{session}]"inscripts/subsystem-store-api/server.py, appended server-side from the authenticating token so a body cannot forge someone else's attribution.The control is the badge, not the write. The index row moved
17 nuance / π΄ 2 OPENβ18 nuance / π΄ 1 OPENβ both dimensions I touched. Bytes landing is the weaker claim.β The surviving
π΄ 1 OPENis a different bullet (2026-09-01, the scope merge rule). I gathered no evidence about it and left it: closing an unverified marker is worse than leaving it open.2. The stale-doc gotcha claimed to be a discovery, and is not one
This is a correction of my own writing in the previous PR, and it inverts what the block claimed to be.
/resumestep 1 already carries the rule β "The working-tree copy is a GUESS about what the handoff says β run step 2 FIRST and read the copy it names" β backed by two measurements older than this session: a datapacket clone serving a handoff 276 lines behindorigin/trunk, and a clone serving a skill file 692 commits stale.π΄ And the tooling that prevents it was never run.
scripts/resume-state.shresolves the doc, fetches, compares, and printshandoff-read:naming the authoritative copy. Step 2 orders it before the read for exactly this reason. This session hand-rolledgit/ghinstead β which step 2 explicitly forbids β walked into the trap the tool exists to prevent, and wrote it up as novel.The block is corrected rather than deleted: the measurement in it is still true, the framing was wrong.
When the reconciler was finally run (22:11Z) it reported the tree copy still stale, 829 local vs 930 on
origin/main, hours after the merge β plus a!! GAPSblock:gh answered for 5 of 6 referenced PR(s). A digest with a gap block is not an all-clear, and a hand-rolled check cannot produce that distinction at all; it reports a gap as nothing.3. Rank 3 is no longer unpushed
The doc states the other session's slice-2 work is a clean local commit, "unpushed, no PR yet". It is now open as devrc #1406 (
feat/cairn-flake-pin). Found by the pre-creategh pr listsweep that step 6 asks for β and that the previous PR ran only after creating, which is the wrong order.The rank-3 claim is untouched and still theirs (
rc 10).π€ Generated with Claude Code
https://claude.ai/code/session_01MCjWicwrMAwjGTh3uXsSNT