Repository navigation
feat(claw): claw/t27f -- the seal-gated T27F check on every .t27 pull request through the TRI CLAW App (Closes #10268) - #10283
Merged
Merged
Conversation
… request through the TRI CLAW App (Closes #10268) - specs/claw/t27f_gate.t27 (+ zig-only pins): scope = changed .t27 plus direct importers, judged by `t27c seal --verify`, decision reuses hot.t27; unsealed neutral, stale/vacuous/unreadable failure, malformed input fails closed. MODE_T27F in specs/claw/service.t27. - gen/c/claw/t27f_gate.c: its gen-c lowering; spec-guards.yml now regenerates both claw C files and diffs them. - gate-topology.yml: a claw-t27f job on a new 10-minute schedule and on workflow_dispatch; the existing job skips the schedule; concurrency keyed by event. The job mints the App token (secret CLAW_APP_PRIVATE_KEY, variable CLAW_APP_ID) and exits 0 with a notice when either is absent. It only fetches, runs the cosign-verified t27o-v0.1.0 t27c and posts what the law prints. - specs/claw/gates.t27: gate-topology events gain schedule (67 workflows, 62/3/2 unchanged); gen/c/claw/gates.c regenerated. - docs/claw/README.md: the owner checklist. AGENTS.md section 8: pointers to what landed. - Own-language offset: scripts/gen_w389.py deleted (spent generator, no runtime refs). MAX_DEAD_TRI unchanged at 140. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 18, 2026 07:30
Contributor
…requests:read, contents:read (Refs #10268) The App holds write on about 40 permissions across every gHashTag installation; an unscoped token minted from a t27 branch would carry secrets, workflows and administration write. The three scopes are the check-run, pr-files and spec-read rows of specs/claw/github_surface.t27 (#10280). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Merged
Contributor
PR DashboardGenerated at: 2026-10-18 07:39:32 UTC
Summary
Seal Status
|
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…loses #10303) Master's cli-tri step "No census moved without saying so" has been red since 834f258, because #10283 moved two pinned censuses without re-blessing them. That was my miss. Re-blessed with `tri census pin --bless` on the Railway lab, from master dc4ea95. What moved, and why: - gates shell, jobs 88 -> 89: #10283 added the claw-t27f job to gate-topology.yml. - gates shell, run steps 314 -> 316 (runner-named 293 -> 295): the claw-t27f job's steps, as of #10299, which made the check-run POST plus one PATCH per further annotation batch. - gates quiet, quiet-shape steps 32 -> 33, file-existence guards 9 -> 10, variable-in-path 6 -> 7, named-but-not-quiet 200 -> 204: the same job.s steps. No other workflow changed since the last bless, so every moved line comes from gate-topology.yml No other workflow changed between the last bless (290ff17, #10172) and dc4ea95. `tri census pin --gate` exits 0 after the re-bless. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…loses #10303) Master's cli-tri step "No census moved without saying so" has been red since 834f258, because #10283 moved two pinned censuses without re-blessing them. That was my miss. Re-blessed with `tri census pin --bless` on the Railway lab, from master dc4ea95. What moved, and why: - gates shell, jobs 88 -> 89: #10283 added the claw-t27f job to gate-topology.yml. - gates shell, run steps 314 -> 316 (runner-named 293 -> 295): the claw-t27f job's steps, as of #10299, which made the check-run POST plus one PATCH per further annotation batch. - gates quiet, quiet-shape steps 32 -> 33, file-existence guards 9 -> 10, variable-in-path 6 -> 7, named-but-not-quiet 200 -> 204: the same job's steps. No other workflow changed since the last bless, so every moved line comes from gate-topology.yml. No other workflow changed between the last bless (290ff17, #10172) and dc4ea95. `tri census pin --gate` exits 0 after the re-bless. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 18, 2026
Closed
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…loses #10303) (#10304) Master's cli-tri step "No census moved without saying so" has been red since 834f258, because #10283 moved two pinned censuses without re-blessing them. That was my miss. Re-blessed with `tri census pin --bless` on the Railway lab, from master dc4ea95. What moved, and why: - gates shell, jobs 88 -> 89: #10283 added the claw-t27f job to gate-topology.yml. - gates shell, run steps 314 -> 316 (runner-named 293 -> 295): the claw-t27f job's steps, as of #10299, which made the check-run POST plus one PATCH per further annotation batch. - gates quiet, quiet-shape steps 32 -> 33, file-existence guards 9 -> 10, variable-in-path 6 -> 7, named-but-not-quiet 200 -> 204: the same job's steps. No other workflow changed since the last bless, so every moved line comes from gate-topology.yml. No other workflow changed between the last bless (290ff17, #10172) and dc4ea95. `tri census pin --gate` exits 0 after the re-bless. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 18, 2026
…10288 (Closes #10311) (#10312) duplicate-bodies has been red on master since the claw specs landed without moving the ledger. Each new group and why it stays for now: - buf_has, digit_byte, put_count, put_str (gates.t27 + sarif.t27, #10288): deliberate. sarif.t27 says so in its header: the writers are private in gates.t27 and sarif.t27 must lower alone under gen-c. - bytes_eq 2 -> 3 (`same` in sarif_pins.t27, #10288): the test-only pins companion compares strings by .len, which gen-c cannot lower. - str_eq (gates.t27 + suggest.t27, #10286) and has_prefix (service.t27 #10283, starts_with in preview.t27 #10287): same lower-alone constraint; sharing them into one claw helper module is a follow-up, not this commit. The ledger is `python3 tools/dupe_scan.py --bless` output on master 238b6a9, run on the Railway lab; the gate exits 0 after it. Not hand-edited. Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
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.
What
This PR rolls the T27F seal-gated check out to every gHashTag repository that holds
.t27specs. It goes through the existing TRI CLAW GitHub App (slugtri-claw, App id 5166765). No consumer repository gets a workflow file, and this repository gets none either: the job lives in an existing workflow.specs/claw/t27f_gate.t27, plus zig-only pins int27f_gate_pins.t27.*.t27files plus their direct importers.t27c seal --verify, and the decision reuseshot.t27.claw/t27f, with conclusion success, neutral or failure.https://t27.ai/t27f/graph/?src=<raw url>.MODE_T27Fis added tospecs/claw/service.t27.gen/c/claw/t27f_gate.cis thet27c gen-clowering, force-added. A freshness step inspec-guards.ymlregenerates both claw C files and diffs them.claw-t27fjob in the existing.github/workflows/gate-topology.yml.schedule(every 10 minutes) and onworkflow_dispatch.gate-topologyjob gainsif: github.event_name != 'schedule', so it does not run on the schedule.CLAW_APP_PRIVATE_KEYand variableCLAW_APP_ID, scoped tochecks: write,pull_requests: readandcontents: readonly: the check-run, pr-files and spec-read rows ofspecs/claw/github_surface.t27(spec(claw): github_surface -- every GitHub API surface, its .t27 value, the narrow token it mints (Closes #10277) #10280). It never mints an unscoped token. If either is absent, it writes a step-summary notice and exits 0..t27. For each, it fetches the cosign-verifiedt27o-v0.1.0t27c, makes a blobless sparse clone, runs the law, and posts one check-run on the head commit. A commit that already has aclaw/t27frun is skipped.specs/claw/gates.t27: thegate-topologyrow's events gainschedule. The census is unchanged at 67 workflows: 62 blocking, 3 soft, 2 reporting.gen/c/claw/gates.cis regenerated in the same commit.docs/claw/README.mdgets a section with a 4-step owner checklist.AGENTS.mdsection 8, TRI CLAW: the "In flight" paragraph and the App row are rewritten as pointers to what landed: theclaw/t27fcheck, the spec, the job, and the open owner steps. The long form stays indocs/claw/README.md.#10250sealed the claw specs on master, sogates,gates_pinsandserviceare resealed here, andt27f_gateandt27f_gate_pinsget their first seals. Each one verifies asall hashes MATCH, with 0 failed and 0 vacuous tests.scripts/gen_w389.pyis deleted. It is a spent wave generator with no runtime references. Foreign lines: +41 added, -57 removed. The deadtrimention count stays equal toMAX_DEAD_TRI(140).Gate file disclosure
gate-topology.ymlis a gate file. The owner approved this rollout in direct chat on 2026-10-18: "roll this out to all repositories and update the TRI CLAW GitHub App".tools/bees/*is untouched.Lab results (Railway, this diff on master)
gate-topologyhidden from the listing) flags it SPEC-ONLY.t27f_gateis IMPLEMENTED, and its gen-c output has 0 unresolved.check_all: pass, with no new foreign file. Foreign-line budget and shrink: pass. Both lefthook hooks passed on the commit.check_pr_branch_filters.py(with its self-check) and the fpga-lint claim gate pass. The YAML parses with triggers pull_request / push / workflow_dispatch / schedule and jobs gate-topology / claw-t27f.dupe_scan: no new duplicate body. Documented commands: 140 dead mentions, equal to the ceiling. ASCII: clean.t27coutput: sealed reuse, stale seal rebuild, unsealed missing. On a real consumer pull request, feat(specs): add GF512/GF1024 rule-derived rungs + align GF128 to closed-form tt-trinity-gamma#120, it gave neutral, with 13 unsealed rows and correct raw links.Census
16 repositories hold 9849
.t27files and 2600 seals.Owner steps (until they are done, the job posts nothing)
checks: writepermission at https://github.com/settings/apps/tri-claw.CLAW_APP_PRIVATE_KEYin gHashTag/t27.CLAW_APP_ID=5166765in gHashTag/t27.Closes #10268
🤖 Generated with Claude Code