Repository navigation
Carry the exclusion widening into the second, dormant tree-sync pin - #8567
Merged
Merged
Conversation
main is red on test.claim.live_deploy.emit witness_scripts_stay_within_ci_runner_grants, and the cause is mine. That claim pins the tree-sync ExecStart to the exact two-prefix spelling `--exclude /target --exclude /.git`, which #8522 widened to six prefixes. WHY #8522 WAS GREEN ANYWAY, WHICH IS THE PART WORTH RECORDING. Two witnesses assert those same emitted bytes: live_deploy_unit_emission_oracle_witness, which #8522 updated because the floor caught it, and this one, which was NOT enrolled at the time and therefore could not be caught. #8503 restored 14 modules and 226 witness identities, this claim among them, and it landed straight onto the already-merged change. So the red is not #8503's defect -- the restoration did exactly what restoring evidence is for, which is to make a previously invisible breakage observable. The lesson is the one about denominators: I fixed the pin the floor showed me and inferred from a green run that no other pin existed, when the correct question was which OTHER claims assert these bytes. A dormant witness is not a passing witness, and a green floor says nothing about the claims it never ran. Fix is the same delta as the oracle row: the pattern gains the four host-state prefixes. The surrounding claim is unchanged and still does its real job -- apply and retract scripts must stay inside the ci-runner grants (no chown, no rmdir, no rsync outside the unit) -- and that half never depended on the exclusion list. Not fixed here, and not mine: v2.test.lens_inert_carrier.inert_carrier_test inert_carrier_no_unrostered_or_stale is the other red on main. It fails on main without this branch's content, and a rebased run carrying an added prose row reported the same two failures rather than three, so that one is independent of both #8522 and #8562. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
briansrls
pushed a commit
that referenced
this pull request
Aug 19, 2026
…d literal #8567 fixed the same red on the same line by hand-transcribing #8522's six prefixes into the pattern. That restores the parallel representation this branch removes: the literal is a second copy of gunbc.live_deploy.deployed_tree_scope deployed_tree_excluded_prefixes, and it rotted once already — that rot is exactly the red both PRs are answering. Resolved to this branch's side, which derives the flags from that authority, so the seventh prefix cannot desync the witness at all. The conjunct's real job is unchanged and every other conjunct stays literal.
This was referenced Aug 19, 2026
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.
main is red, and this half of it is mine
test.claim.live_deploy.emitwitness_scripts_stay_within_ci_runner_grantspins the tree-syncExecStartto the exact two-prefix spelling:#8522 widened
deployed_tree_excluded_prefixesfrom two entries to six, so thatstring_containsno longer matches.Why #8522 was green anyway — the part worth recording
Two witnesses assert those same emitted bytes:
live_deploy_unit_emission_oracle_witness— enrolled, so the floor caught it, and Widen the deployed-tree exclusions to the host-state prefixes rsync was shipping #8522 updated it.#8503 restored 14 modules and 226 witness identities, this claim among them, and it landed straight onto the already-merged change.
#8503 is not at fault. The restoration did exactly what restoring evidence is for: it made a previously invisible breakage observable. The defect merged hours earlier and simply had no executing consumer.
My error was a denominator error. I fixed the pin the floor showed me and inferred from a green run that no other pin existed. The correct question was which other claims assert these bytes — answerable with a grep at the time. A dormant witness is not a passing witness, and a green floor says nothing about the claims it never ran.
The fix
Same delta as the oracle row: the pattern gains the four host-state prefixes. The surrounding claim is otherwise untouched and still does its real job — apply and retract scripts must stay inside the ci-runner grants (no
chown, normdir, norsyncoutside the unit) — and that half never depended on the exclusion list.Validated by execution
claim_batchondag/test/claim/live_deploy/emit_test.dag, all 47 claims, on srv1 (aarch64): 47/47 PASS, 0 FAIL, including the previously-redwitness_scripts_stay_within_ci_runner_grants.The other red on main is NOT this, and not mine
v2.test.lens_inert_carrier.inert_carrier_testinert_carrier_no_unrostered_or_stalealso fails on main. It is independent:datarow (Restore the serve socket seam as a frozen quarry route; keep converge refusing #8562) reported the same two failures rather than three — so my added carrier introduces no inert-carrier violation.That one is still open and needs its own owner.