Skip to content

chore(ci): retire redundant *_row_count cross-checks (merge-skew liability) - #4959

Merged
briansrls merged 5 commits into
mainfrom
ci/corpus-count-retire
Jun 15, 2026
Merged

briansrls merged 5 commits into
mainfrom
ci/corpus-count-retire

Conversation

@briansrls

Copy link
Copy Markdown
Contributor

Retire redundant *_row_count cross-checks (merge-skew liability)

Urgent, operator-directive bar (via zesty/bold-crane): delete the parallel-ledger row-count
cross-checks that reddened main on #4947, ahead of the glob-discovery re-scope.

Why

The claim-witness-corpus and affected-set node-frontier/testgen gates each cross-checked a
projected row count against a hand-maintained *_row_count datum. That datum is a parallel
ledger
(CLAUDE.md ledger principle) for a fact the typed shard List already carries: the gate
projects rows directly from the list, so a dropped row simply isn't enrolled and its witness isn't
run — the count datum can't detect that and only drifts under concurrent merges. That's exactly
what reddened main on #4947: two PRs each list-consistent, the squash-merge re-resolve combined
their list edits while the hand-count stayed stale (claim_run_row_count was even left at "54"
vs the real 55).

What

  • scripts/v4-claim-witness-corpus-gate.sh — drop count_data + expected_count fetch + the
    projected-vs-modeled comparison; keep row_count for the notice.
  • scripts/v4-affected-set-node-frontier-gate.sh — drop both expected_count fetches + both
    comparisons (node-frontier + testgen); header docs de-stated.
  • claim_witness_corpus_ci_runner.dag — delete claim_run_row_count (dead, 0 readers, stale "54")
    • shard_a_row_count + shard_b_row_count.
  • affected_set_ci_runner.dag — delete ci_runner_node_frontier_claim_run_row_count.
  • affected_testgen_ci_runner.dag — delete affected_testgen_claim_run_row_count.

Deletion-safety: grepped all .rs/.sh/.py/.dag/.yml — each datum is read only by its gate
.sh (corpus via the dynamic claim_witness_corpus_shard_${shard}_row_count); the full-list count
had zero readers.

Teeth retained (the +/- proof)

Per-row pass + per-row perturb-RED + ExpectFail-drift + empty-roster fail-closed guards are all
untouched
(diff removes only the count blocks) — a real witness regression still trips RED, and an
empty roster still fails closed. The only behavior removed is pass-by-omission detection on a
list-row deletion, which is the drift-prone bit; it is restored properly by glob-discovery in the
follow-up re-scope.

🤖 Generated with Claude Code

Brian Searls and others added 5 commits June 15, 2026 15:10
…ility)

The claim-witness-corpus and affected-set node-frontier/testgen gates each
cross-checked a projected row count against a hand-maintained *_row_count datum.
That datum is a parallel ledger for a fact the typed shard List already carries:
the gate projects rows directly from the list, so a dropped row simply is not
enrolled and its witness is not run — the count datum cannot detect that and only
DRIFTS under concurrent merges (a hand-count vs a hand-list is the merge-skew
axis that reddened main on #4947: two PRs each list-consistent, the squash-merge
re-resolve combined their list edits while the count stayed stale).

Delete the cross-checks and the now-unused datums (CLAUDE.md ledger principle):
- scripts/v4-claim-witness-corpus-gate.sh: drop count_data + expected_count fetch
  + the projected-vs-modeled comparison; keep row_count for the notice.
- scripts/v4-affected-set-node-frontier-gate.sh: drop both expected_count fetches
  + both comparisons (node-frontier + testgen).
- claim_witness_corpus_ci_runner.dag: delete claim_run_row_count (dead, 0 readers,
  and stale at "54" vs 55 real) + shard_a_row_count + shard_b_row_count.
- affected_set_ci_runner.dag: delete ci_runner_node_frontier_claim_run_row_count.
- affected_testgen_ci_runner.dag: delete affected_testgen_claim_run_row_count.

Teeth retained: per-row pass + per-row perturb-RED + ExpectFail-drift +
empty-roster fail-closed guards are all untouched. A real witness regression
still trips RED. (Pass-by-omission on list-row deletion is restored properly by
glob-discovery; this only removes the drift-prone parallel ledger.)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant