Repository navigation
docs(health-check): finish a retraction that reached the code but not four of its citations - #2606
Conversation
… four of its citations
Chi retracted the claim that the flat `state/current-track.md` path "destroyed a
peer's 1056-line anchor". It did not. The vault uses per-host branches
(`host/<host>/<wsid>`), so a host only ever merges a peer INTO its own branch and
never writes to the peer's; the file's whole history on that branch is two
commits, `added` then `removed`, never `modified`, and the anchor was never in
the vault at all, because that host carries `hosts/`, not `state/`.
The correction reached the UNSAFE_TO_READD comment and
`health-check-carrier-set-enforced.test.py`. Four sites still assert it:
src/health-check.py live-checkout-branch rationale
tests/health-check-live-checkout-branch.test.py the same sentence, copied
skills/context-reconstruct/SKILL.md x2 practice-log entry + line 34
The SKILL.md pair is the reason this is worth a PR rather than a nit. That file
is re-read on EVERY proactive-loop pass (step 0.7), so it re-teaches the claim on
a schedule — and its own practice log records an agent repeating "destroyed a
1056-line anchor" back to Chi from it after he had already retracted it.
The practice-log correction turned out to exist ONLY as an uncommitted edit in
one live checkout. `origin/main` has the false version and no retraction at all:
git show origin/main:skills/context-reconstruct/SKILL.md
"CORRECTED 2026-08-04" -> 0 occurrences
"after a live data loss" -> 1 occurrence, asserted
So the fix everyone believed had shipped was one `git checkout --` away from
being lost, on a file the loop reads every few minutes. This commit lands it.
Comments and prose only: 0 non-comment lines changed in `src/` or `tests/`.
The examples still land, because they never needed the destruction. The
live-checkout point is that a running skill and a merged skill can disagree
invisibly, which is true of any content difference; the wording now says the path
DELIVERS one host's anchor onto another at the same local path, which is the
defect that is real and that #2568 actually fixes.
Detector-based before/after, and the detector is validated rather than assumed —
it finds the sites at the parent, so its zero at HEAD means something:
origin/main (dab9c99) live assertions: 2 (+2 SKILL.md, caught by the
HEAD live assertions: 0 wider "clobber"/"data loss" pass)
It excludes sentences that quote the claim in order to retract it ("nothing was
destroyed", "used to say", "previously called"). Those must survive: a retraction
cannot name what it retracts without repeating it. Same historical-vs-live
distinction a bare keyword guard always gets wrong.
Suites for every touched file, all rc=0:
tests/health-check-live-checkout-branch.test.py rc=0
tests/health-check-carrier-set-enforced.test.py rc=0
tests/vault-carrier-default-current-track.test.sh rc=0 10/10
tests/sync-workspace-anchor-migration.test.sh rc=0 8/8
No test asserted on the changed wording (grepped before editing), so nothing was
pinned to the old text.
Issue #2567's title and body carried the same claim and were corrected
separately, in place, with the original struck through rather than deleted.
Stand: Echo Act IV Mini
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
bassilkhilo-ag2
left a comment
There was a problem hiding this comment.
Verified independently.
Non-comment-line claim: confirmed by reading the diff directly — every changed line in src/health-check.py and tests/health-check-live-checkout-branch.test.py is a #-prefixed comment line. No behavior changed.
Retraction-completeness claim: grepped both commits myself rather than trusting the PR's own detector output.
- At parent (
dab9c998): live (non-retracting) assertions of the false claim insrc/health-check.py:2153("...had destroyed a peer's anchor...") and two inskills/context-reconstruct/SKILL.md— line 34 ("cross-host clobber") and line 54 ("after a live data loss... overwrote... Three writes... all destructive"). That's the "four citations" the PR claims (health-check.py ×1, SKILL.md ×2, health-check-live-checkout-branch.test.py ×1 — matches its own count). tests/health-check-carrier-set-enforced.test.pyalready carried the corrected wording at parent — matches the PR body's claim that this file was already fixed before this PR.- At HEAD: zero live assertions remain; only retraction-narrating sentences ("nothing was destroyed", "THAT IS FALSE") that necessarily repeat the phrase to correct it.
Why this matters, confirmed structurally not just asserted: context-reconstruct/SKILL.md is read on every proactive-loop pass (step 0.7 in this repo's own loop skill) — a stale correction there really does re-teach the wrong claim on a schedule, so this isn't a cosmetic nit.
Test suites: ran all four cited files myself — health-check-live-checkout-branch.test.py rc=0, health-check-carrier-set-enforced.test.py rc=0 (39/39, consistent with this branch not carrying #2605's added cases), vault-carrier-default-current-track.test.sh 10/10, sync-workspace-anchor-migration.test.sh 8/8. All pass.
Hardcoded-path scan: clean, no /Users///home/ in added lines.
No blockers. Approving.
Coverage Gate❌ Test suite failed under instrumentation — coverage not measurable. See the job log. |
qingyun-wu
left a comment
There was a problem hiding this comment.
Approved exact head 2f17526b6e547306df4e84d242a562a118e5b4d5.
This is a prose/comment-only correction: the live guidance now consistently describes cross-host content delivery at the shared flat path, explicitly retracts the false data-loss claim, and preserves the operational rule to keep current-track.md host-qualified. The touched src/ and test lines are comments only; no prompt/tool behavior or executable assertion changed.
Reviewer-run evidence: health-check-live-checkout-branch, health-check-carrier-set-enforced (39/39 on this branch), vault-carrier-default-current-track (10/10), and sync-workspace-anchor-migration (8/8) pass; Python compilation, diff hygiene, and the REVIEW.md hardcoded-path gate pass. Hosted Coverage Gate and every completed static gate are green; the long clean-install CI job is still running.
Worst-case disruption is leaving a high-frequency reconstruction skill teaching a claim the owner retracted; this change removes that live assertion while retaining the reason the path must stay per-host. No blocker found.
Code-approved; merge only after the pending required CI job is green and the complete repository merge gate is satisfied.
Reviewed by Qingyun's Personal Codex.
qingyun-wu
left a comment
There was a problem hiding this comment.
Reviewed exact head 2f17526b6e547306df4e84d242a562a118e5b4d5.
No blockers. The branch is a retraction/completeness cleanup rather than a behavior change: the changed lines in skills/context-reconstruct/SKILL.md, src/health-check.py, and tests/health-check-live-checkout-branch.test.py remove the live "destroyed/clobbered anchor" framing and preserve it only inside explicit correction text. That matters because the skill file is loaded by the proactive loop, so the retraction needs to live where the agent actually rereads it.
Focused checks I ran:
PYTHONPYCACHEPREFIX=/private/tmp/pycache-pr2606 python3 tests/health-check-live-checkout-branch.test.pyPYTHONPYCACHEPREFIX=/private/tmp/pycache-pr2606 python3 tests/health-check-carrier-set-enforced.test.py(39/39 on this branch)bash tests/vault-carrier-default-current-track.test.sh(10/10)bash tests/sync-workspace-anchor-migration.test.sh(8/8)git diff --check origin/main...HEAD
Hosted checks are green at this head. I do not see a reason to block this comment-only correction.
Reviewed by Qingyun's Personal Codex.
|
@cla-assistant check |
A retraction that reached the code but not four of its citations
Chi retracted the claim that the flat
state/current-track.mdpath "destroyed a peer's 1056-line anchor". It did not. The vault uses per-host branches (host/<host>/<wsid>), so a host only ever merges a peer into its own branch and never writes to the peer's. The file's whole history on that branch is two commits —addedthenremoved, nevermodified— and the anchor was never in the vault at all, because that host carrieshosts/, notstate/.The correction landed on the
UNSAFE_TO_READDcomment and onhealth-check-carrier-set-enforced.test.py. Four sites kept asserting it:src/health-check.pytests/health-check-live-checkout-branch.test.pyskills/context-reconstruct/SKILL.mdWhy this is a PR and not a nit
context-reconstruct/SKILL.mdis re-read on every proactive-loop pass (step 0.7), so it re-teaches the claim on a schedule. Its own practice log records an agent repeating "destroyed a 1056-line anchor" back to Chi from it — after he had already retracted it.And the practice-log correction turned out to exist only as an uncommitted edit in one live checkout:
The fix everyone believed had shipped was one
git checkout --from being lost, on a file the loop reads every few minutes. This PR lands it.Comments and prose only
0 non-comment lines changed in
src/ortests/(verified by parsing the diff, not by eye). The examples still land, because they never needed the destruction: the live-checkout point is that a running skill and a merged skill can disagree invisibly, which is true of any content difference. The wording now says the path delivers one host's anchor onto another at the same local path — the defect that is real, and the one #2568 fixes.Before / after, with a validated detector
The detector fires at the parent, so its zero at HEAD means something. It excludes sentences that name the claim in order to retract it — a retraction cannot name what it retracts without repeating it, the same historical-vs-live distinction a bare keyword guard always gets wrong.
I got that exclusion wrong first. My initial pattern matched "…I repeated 'destroyed a 1056-line anchor' back to Chi…" — a sentence narrating the retraction — and reported 1 residual assertion. I widened the exclusion on its general axis (retraction vocabulary anywhere in the sentence) rather than special-casing that phrasing. The two SKILL.md sites are outside this detector's pattern; they were found by a wider
clobber|data loss|overwrotesweep and are listed explicitly above rather than folded into the count.Suites — every touched file, all rc=0
No test asserted on the changed wording — grepped before editing, so nothing was pinned to the old text.
Merge order vs my other open
health-check.pyPRsBoth PR refs verified
rev-parse == headRefOidbefore measuring. Every order merges clean, compiles, passes the live-checkout suite, and reports 0:#2588, #2600 and this PR are order-free.
Related
Issue #2567's title and body carried the same claim. Corrected in place, original struck through rather than deleted, with a comment explaining the edit and crediting the author's own retraction.