Skip to content

fix(claw): regenerate the gate inventory to 70 workflows so the claw drift step reads clean (Closes #13004) - #13005

Closed
gHashTag wants to merge 2 commits into
masterfrom
claude/claw-gates-regenerate-13004
Closed

gHashTag wants to merge 2 commits into
masterfrom
claude/claw-gates-regenerate-13004

Conversation

@gHashTag

@gHashTag gHashTag commented Oct 31, 2026 •

Copy link
Copy Markdown
Collaborator

Closes #13004

What

Regenerates the gate inventory specs/claw/gates.t27 from 71 to 70 workflows so the step "claw drift" of gate-topology reads claw: matrix is current instead of three problems:

How

By the recipe in docs/claw/README.md, no build:

  • specs/claw/gates.t27: drop the two t27os rows, add stale-arm-repair in alphabetical place (index 59) in all seven parallel arrays. COUNT, array sizes and loop bounds say 70. Census tests pin 63 blocking + 3 soft + 4 reporting; the coverage lines say n=63; the hole test points at row 69.
  • gen/c/claw/gates.c: regenerated with t27c gen-c specs/claw/gates.t27. The drift step compiles this committed file, not the spec, so the first push (spec only) still failed with the same three problems. The same binary first reproduced the old file byte for byte from the old spec, so the 53 changed lines are only the new table.
  • specs/claw/gates_pins.t27: both length pins now cover all 70 rows (they stopped at 69).
  • docs/claw/README.md: [70] arrays, census 63/3/4.

The new row: class blocking by the class rule (no continue-on-error), events schedule,workflow_dispatch, a 137-byte NOT_MERGE_CRITICAL reason. If the owner prefers it reporting (it arms auto-merge and comments, like pr-queue-drain), the census becomes 62/3/5; that is a one-digit change.

The other 69 rows were re-measured against the live on: blocks: names, trigger sets and lengths are unchanged.

Measured (no build, no test run on the Mac)

  • t27c typecheck of both specs with the kept t27c (t27c-bc19b54e6): exit 0, 0 errors, 0 warnings.
  • Spec NAMES equal ls .github/workflows (70 lines, zero diff).
  • NAME_LENS, EVENT_LENS and REASON_LENS equal the byte lengths of their strings; each array column has 70 entries.
  • No path under .github/workflows is touched; no hand edit under gen/; no added non-ASCII line. The 70 names in gen/c/claw/gates.c equal ls .github/workflows (zero diff).
  • t27c test, gen-c and the C compile of the drift step are left to CI.

Not done here (owner's word needed)

Landing

Draft. Auto-merge is dead (GH_AGENT_TOKEN expired), so the merge is by hand on the owner's word. PR 13002 (documented-commands gate) is a separate draft and is untouched.

🤖 Generated with Claude Code

…drift step reads clean (Closes #13004)

The step "claw drift" of gate-topology fails on master head 21e20c4
with three problems: SPEC-ONLY t27os, SPEC-ONLY t27os-release,
DIR-ONLY stale-arm-repair. The directory holds 70 workflow files, the
inventory claimed 71.

- t27os.yml and t27os-release.yml were deleted by 453fe31 (#12167,
  a spec PR whose description names no workflow change), after the
  inventory was regenerated at 71 rows in 06458ed (#12821).
- stale-arm-repair.yml was added by 1c94936 (#12846) without a row.

Regenerated by the recipe in docs/claw/README.md:

- specs/claw/gates.t27: the two t27os rows are dropped, the row
  stale-arm-repair is added in alphabetical place in all seven parallel
  arrays (blocking by the class rule: no continue-on-error; trigger set
  schedule,workflow_dispatch; a NOT_MERGE_CRITICAL reason of 137
  bytes). COUNT, the array sizes and every loop bound say 70. The census
  tests now pin 63 blocking + 3 soft + 4 reporting, the coverage lines
  say n=63, the hole test points at row 69.
- specs/claw/gates_pins.t27: both length pins now cover all 70 rows (they
  stopped at 69, two short of the old table).
- docs/claw/README.md: [70] arrays, census 63/3/4.

The other 69 rows were re-measured with the README awk recipe against
the live on: blocks: names, trigger sets and lengths are unchanged.
This does not restore the two deleted workflows; whether #12167 deleted
them on purpose is the owner's call, and restoring them re-adds two rows.

The seals claw_ClawGates and claw_ClawGatesPins are stale after this
edit and are not re-saved here (a seal saved from a worktree under
/Users/... can embed the path); that is a separate step with the
post-#12824 t27c through a T27 OS shell-cell pane.

Measured without a build: typecheck of both specs with the kept t27c
(t27c-bc19b54e6) exits 0; the spec NAMES equal ls .github/workflows (70
lines, zero diff); NAME_LENS, EVENT_LENS and REASON_LENS equal the byte
lengths of their strings; the seven non-zero class rows are the same
seven workflows as before.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-31 11:14:19 UTC

Summary

Status Count
Total Open PRs 40
PRs with Failing Checks 39
PRs with All Checks Green 1
READY 0
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 39 + 0 + 0 = 39, and there are 40 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=e75b498e5e79 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

… the drift step compiles the new table (Refs #13004)

The first push of this PR changed specs/claw/gates.t27 only, and the
step "claw drift" of gate-topology still printed the same three
problems (SPEC-ONLY t27os, SPEC-ONLY t27os-release, DIR-ONLY
stale-arm-repair): the step does not generate C, it compiles the
committed gen/c/claw/gates.c (tracked, last written by 06458ed), so
the stale table was still the one it audited. My issue text said no
gen/ file may be edited; that was wrong, a generated file follows its
spec and is rewritten by the generator, never by hand.

gen/c/claw/gates.c is now the stdout of `t27c gen-c specs/claw/gates.t27`.
The same binary (the kept post-#12824 t27c-bc19b54e6) first reproduced
the committed file byte for byte from the previous spec (cmp identical,
732 lines), so the 53 changed lines are only the new table: NAMES,
NAME_LENS, CLASSES, EVENT_LENS, EVENTS, REASONS and REASON_LENS at 70
rows, `size_t n[70]`. The 70 NAMES equal `ls .github/workflows` with zero
diff. No hand edit, no non-ASCII line, no path of the machine in the file.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown
Contributor

PR Dashboard

Generated at: 2026-10-31 11:21:15 UTC

Summary

Status Count
Total Open PRs 40
PRs with Failing Checks 39
PRs with All Checks Green 1
READY 0
FAILING 39
PENDING 0
NO CHECKS YET 0

These columns do not partition: 0 + 39 + 0 + 0 = 39, and there are 40 open PRs. A PR is being counted twice or not at all.

Seal Status

  • ⚠️ STALE -- sha256(compiler.rs)=e75b498e5e79 != manifest seal=87e5cbd3ad94.
    The committed NMSE numbers were certified against an older compiler.rs.
    Run scripts/reseal-check.sh locally for the two-step reseal command (advisory; not a merge gate).

@gHashTag

Copy link
Copy Markdown
Collaborator Author

Closing as superseded: PR 12967 merged 2026-10-31T12:10:51Z (8296ba4) with the same gates.t27, gates_pins.t27, gen/c/claw/gates.c and claw seals. Owner word: close.

@gHashTag gHashTag closed this Oct 31, 2026
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.

ci(claw): regenerate the gate inventory so gate-topology reads clean again (70 workflows)

1 participant