Repository navigation
ci(lint): describe the query-options test ratchet as one-sided - #27115
Conversation
The comment above the `Engine query-options erasure ratchet` step still called the aggregate test-code number decrease-only. Since #26549 the reader is one-sided: growth past the ceiling reds, a fall passes and is reported, and a fall to zero is refused as a dead scan. Comment only. Co-authored-by: Claude <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01QSeKYpxei8vxY22nkCLVj1
Contract reviewServed-tier: This record was rendered by a contract-review subagent at CONTRACT_REVIEW_TIER and adopted by devx seat 2. Inputs: card #26586 (body and all 8 comments), PR #27115 (body, file list), the net diff ① Derived judgments
② Semver level
③ Boundary flags
④ Design judgment
Attempts to break it: (a) could "one-sided" now contradict the retained "same ratchet mechanism as slot-lookup"? No, slot-lookup is one-sided by the same card. (b) Does the comment say anything about the non-test residual's direction that the code contradicts? No, it leaves that to the slot-lookup sentence; slot-lookup's own step comment in No must-fix. No should-fix. Implemented-by: VERDICT: PASS Generated by Claude Code |
席位核对 — ACCEPT · domain:devx#2 · head
|
Fixes #26586
Clause-②: no
Metadata-protocol: none
维护者速读
.github/workflows/lint.yml里Engine query-options erasure ratchet这一步上方的一段注释,把测试代码那个汇总数字从「只降不升」改写成脚本现在的真实行为。if:、命令都没变;回滚就是 revert 这一个 commit。.github/workflows/lint.yml第 4191–4195 行(唯一的改动块)。git diff origin/main -- .github/workflows/lint.yml,预期只看到 5 行注释替换 3 行注释,没有任何非#行。.github/workflows/**),需要一位GOVERNED_APPROVERS批准,或由你亲手合并。What changes
Item 2 of #26586 only. The comment above the
Engine query-options erasure ratchetstep still called the aggregate test-code number "decrease-only". Since #26549 the reader is one-sided, and the comment now says what the code does: growth past the ceiling reds, a fall passes and is reported, and a fall to zero is refused as a dead scan. Items 1 and 3 landed via #26701; item 4 asks for no change and stays with the maintainer. No step,if:, command or other comment is touched.Tests
None — comment-only change in a workflow file; nothing executable moved (the parsed YAML is identical before and after).
Acceptance notes
The wording was measured against the reader,
scripts/check-query-options-erasure-ratchet.mjs(the step runspnpm check:query-options-erasure, which is that script's--self-testthen the scan), onorigin/main76e90df6:diffRatchetpushes an error whentestSites > testCeiling("test surface grew CEILING → N site(s)").ratchetDownReportadds a line whentestSites < testCeiling("test surface fell … Passing; until--updaterecords it …"), printed under "decrease(s) (passing, reported)", never as an error.testSurfaceCollapsereturns a refusal when the ceiling is above 0 and the run measured 0 sites, and the main path exits 2 on it.else if (testSites < testCeiling)error branch ("ratchet DOWN: run …") and the self-test row that expected one error for a test-surface shrink; the current self-test row "test-surface shrink passes (one-sided)" expects zero.Verification
YAML parse and comment-only proof
python3withyaml.safe_loadon the new file and ongit show HEAD:.github/workflows/lint.ymlbefore the commit: parsed ok, semantically identical: True.git diff -U0filtered to changed lines that are not comments: none.Derived gates (dispatch-gates --commands, 42 commands)
Run on head
5a94fec3(after mergingorigin/main), each exit captured before any pipe; all 42 exit 0. The first pass on9be4825d(before the merge) was also 42 of 42 exit 0.dispatch-gates --ran(exit 0):42 derived famil(ies) accounted for — 42 run, 0 NOT-MEASURED (a DERIVED zero — all 42 recorded an exit code and none of them is 3).The 6 workflow-valued families the derivation lists as NOT MEASURED locally (they take a value only a CI run has: required-contexts --verify-required-set, the shard-attestation emit/verify legs) and every CI-only family are left to the PR's check-runs.
Generated by Claude Code