Repository navigation
EPIC: PR merge sweep 2026-10-19/20 -- handoff to the Queen (state, requests out, how to resume TRI CLAW) #11259
Description
Report channel for the pull-request merge sweep of 2026-10-19/20, handed to the Queen at 07:20Z because the working session ends. This epic deliberately carries none of the four dispatch headings, so it is never dispatched as bee work. Sub-issues are filed under it only if bee-shaped work appears.
Goal
Owner order (2026-10-18/19): merge every open pull request in gHashTag/t27 that passes the repository's rules, and let TRI CLAW do it around the clock.
The rules the sweep applied
- Required checks green:
validate,check-linked-issue,parse-ratchet,own-language. - Every other red must be inherited: the PR's failure set is a subset of master's newest finished run of the same check. A red master has since fixed is not inherited; update the branch and rerun.
Closes #Npresent (L1), not a draft, no conflict, nono-auto-mergelabel. Bee PRs (queen-*) are merged only byauto-merge-ready-prs.yml.- Foreign-line budget of the own-language gate respected.
State at 07:20Z on 2026-10-20
- Merged by the sweep in its last stretch: gen-verilog: do not wrap an assignment target in $signed -- fixes the systolic fpga-lint / fpga-conformance reds (Closes #10780) #11094 (gen-verilog emitter fix), chore(deps)(deps): Bump ed25519-dalek from 2.2.0 to 3.0.0 #10961, chore(deps)(deps): Bump dirs from 5.0.1 to 7.0.0 #10962 (dependency bumps), elab baseline: add systolic 0 so master fpga-conformance is green again (Closes #11099) #11100 (elab baseline
systolic 0), spec(gen_w868): port scripts/gen_w868.py to specs/port/scripts/gen_w868.t27 #11085 (gen_w868 port), claw README: the */10 cron is best effort, measured gaps are hours (Closes #11132) #11134 (README cadence correction). Earlier in the sweep about 40 PRs were merged or prepared and 25 closed on the owner's word; the TRI CLAW merge lane itself is claw: merge_judge.t27 -- the 24/7 merger decided in a spec; claw-merge replaces claw-refresh (Closes #10973) #10978 (specspecs/claw/merge_judge.t27). - Master, measured at 07:14Z over its last 8 commits:
scangreen;duplicate-bodiesRED on every one of them (red since at least 04:46Z; the cause was not investigated, it was green on 2026-10-19 at2e2ca5f55);spec-guardsandcoveragegreen ate10a1bb7c, red atef2e7ee45(07:04Z), still running onae97ff06d. The two seal/baseline causes the sweep fixed (seals: ml_host_io_model gen_hash_verilog follows the gen-verilog assignment-target fix (Closes #11102) #11105, elab baseline: add systolic 0 so master fpga-conformance is green again (Closes #11099) #11100) are not what is red now. - Open: 168 PRs at 07:2xZ. About 131 are bee PRs (left to the bee merger); the rest are drafts or held. All 20 non-bee, non-draft, unheld PRs were judged BLOCKED at 07:2xZ, each by its own failure set (not a subset of master's red set):
- spec(gen_w867): port scripts/gen_w867.py to specs/port/scripts/gen_w867.t27 #11086 to spec(gen_w861): port scripts/gen_w861.py to specs/port/scripts/gen_w861.t27 #11093 and spec(gen_w869): port scripts/gen_w869.py to specs/port/scripts/gen_w869.t27 #11184 to spec(gen_w876): port scripts/gen_w876.py to specs/port/scripts/gen_w876.t27 #11191 (dmitrii-f-t27, gen_w861 to gen_w876 ports):
duplicate-bodies; the new copies includebuild_tree_levels,total,wrap_matches_normal. Correction and options posted on spec(gen_w861): port scripts/gen_w861.py to specs/port/scripts/gen_w861.t27 #11093 (comment 6281839194). - spec(ternary): pipelined dot27 -- 5-stage on_clock adder tree (Closes #11237) #11244 and spec(ternary): pipelined dot27 -- five-stage on_clock pipeline for the 27-trit dot product (Closes #11242) #11245 (ternary pipelined dot27): the absurd-width ledger for
specs/t27os/glass_window.t27andspecs/t27os/pty_server.t27; spec(ternary): pipelined dot27 -- five-stage on_clock pipeline for the 27-trit dot product (Closes #11242) #11245 alsoemit-bitexact. - spec(ternary): trit codon -- perfect [4,2,3] Hamming code over GF(3), base-3 and wire forms (Closes #10969) #10970 (a spec that no longer compiles), igla cell 25 published: the whole-model HSLM trained by t27c --backend ml is on Hugging Face (Closes #10833) #10836 and spec(port): land the CR-CHAT-03 wave 3 batch -- 23 targets (Refs #8883) #10802 (
duplicate-bodies, unreachable source files). - feat(t27f): T27 OS home -- the 27-petal triangle menu as one spec #10783 (conflict, width ledger) was in the 04:12Z list and is not in the 07:2xZ one.
- spec(gen_w867): port scripts/gen_w867.py to specs/port/scripts/gen_w867.t27 #11086 to spec(gen_w861): port scripts/gen_w861.py to specs/port/scripts/gen_w861.t27 #11093 and spec(gen_w869): port scripts/gen_w869.py to specs/port/scripts/gen_w869.t27 #11184 to spec(gen_w876): port scripts/gen_w876.py to specs/port/scripts/gen_w876.t27 #11191 (dmitrii-f-t27, gen_w861 to gen_w876 ports):
TRI CLAW lane: why it is not merging yet
The claw-merge job of gate-topology.yml is plan-only. Its App token cannot be minted: every run since 2026-10-19 shows "The level of access for permissions requested are not granted to this installation". The repository variable CLAW_MERGE_LIVE is unset (HTTP 404).
Requests out
| Who | What | Default |
|---|---|---|
| Repository owner | On the TRI CLAW App (https://github.com/settings/apps/tri-claw/permissions) set Contents to Read and write, save, then accept the new permissions on the installation. | The lane stays plan-only. |
| Repository owner | After that, run gh variable set CLAW_MERGE_LIVE --body 1 --repo gHashTag/t27. A session watcher used to do this automatically; it ends with the session. |
Lane stays plan-only; unset the variable to stop it later. |
| dmitrii-f-t27 | Fix or bless the duplicate bodies on #11086 to #11093 and #11184 to #11191 (shared helper module, or tools/dupe_scan.py --bless). |
The PRs stay open; nobody edits his branches. |
| Whoever merges next (any session) | Master's duplicate-bodies has been red on every master commit since at least 04:46Z (read the failing group names in the job log of the newest master run); find the merge that added the copy and ledger or factor it. |
Left for the next sweep; the sweep did not investigate. |
| Lab or steward | A real Linux t27c seal --save for specs/ml/host_io_model.t27 (the value in #11105 was set by hand because --save refuses on macOS, #11103). |
The hand-set value stays; seal --verify is clean. |
| Repository owner | Revoke the OSF token at osf.io (it is still in git history); give the TRI CLAW App security_events: write (#10501). |
Both stay open. |
| Repository owner (optional) | Decide on an external heartbeat that dispatches gate-topology.yml about every 10 minutes (#11132): GitHub ran the */10 cron 2.1 to 7.5 hours apart. |
The lane runs on pushes to master and on the slow cron. |
How to check the lane once it is live
- The first
claw-mergerun after the grant has no "level of access" annotation; its step summary listsGlines (merged) and a reason for every other open PR. - It merges squash, pinned to the judged head sha, at most 5 per run, and leaves PRs younger than 10 minutes alone.
What bees can and cannot do here
Bees run in containers without a GitHub credential by design, so they cannot merge a PR, update a branch or set a repository variable. The continuing worker for this epic is the claw-merge lane in GitHub Actions, once it is live. No bee-shaped work is open right now.
Traps learned (short)
- A watcher can judge a PR in the seconds before GitHub creates the update-branch commit; re-judge after the new head appears.
- A verdict "REVIEW" means a human check is pending: compare the failing seal or row sets against master's run by hand before merging.
- A PR that moves a Linux-only seal must not be merged before the Linux re-save; an owner-token merge bypasses that.
tools/check_elab_ratchet.py --update-baselinerun on macOS writesiverilog-version 13.0; CI measures 12.0, so keep the 12.0 line.- The cron cadence claim in the docs was never measured; it is now corrected (claw README: the */10 cron is best effort, measured gaps are hours (Closes #11132) #11134).
Refs: #10978, #10973, #11094, #11100, #11105, #11132, #11134.
Activity
gHashTag commentedon Oct 20, 2026
Update 07:30Z: the TRI CLAW merge lane is LIVE.
CLAW_MERGE_LIVE=1at 07:25:00Z (gh variable set CLAW_MERGE_LIVE --body 1). The variable reads back as 1.workflow_dispatchrun 39386458257 ofgate-topology.yml:claw-mergeran withLIVE: 1and finished green. It found nothing it may merge (noGline), so it merged nothing; master's newest commit is unchanged.CLAW_TOKENis empty; annotation "The level of access for permissions requested are not granted to this installation"). Consequences, read from the job script: merges fall back togithub.token, which works for the squash merge but starts no workflow runs on master for the merge commit; and the branch-refresh half of the job (update-branch) is skipped, because it needs the App token. Saving Contents: Read and write on the App and accepting it on the installation removes both limits.🤖 Generated with Claude Code
gHashTag commentedon Oct 20, 2026
Update 07:40Z: the cause of master's red
duplicate-bodiesis found and the request is sent. Measured withpython3 tools/dupe_scan.pyon masterae97ff06d: four new unledgered groups,chan,clamp01,flag_bit,scale, inspecs/t27f/petal_glass.t27(#10783) andspecs/t27os/glass_window.t27/doctor.t27(#11254, #11256). Request to the lane author with two options (reuse the existing bodies, or bless) is on #11254 (comment 6285795172). Default: nobody edits their files; the check stays red until one lands.This also answers the earlier open row "master's
duplicate-bodiesred, not investigated".🤖 Generated with Claude Code
gHashTag commentedon Oct 20, 2026
Update 07:50Z: the bee bucket, measured (open PRs read at 07:2xZ).
queen-*branches. Only 6 carrybee-reviewed(Port scripts/tri-doc-sync.py (Python, 1 function) to specs/port/scripts/tri-doc-sync.t27 #8850, Port gHashTag/trios:crates/trios-mesh-node/src/persist.rs (Rust, 5 functions) to specs/port/trios/crates/trios-mesh-node #8834, Port gHashTag/trios:crates/trios-chat/rings/CR-CHAT-02/src/dh_output_validation.rs (Rust, 1 function) to specs/port/trio #8806, Port gHashTag/trios:crates/trios-chat/rings/CR-CHAT-05/src/store_revision_monotonicity_guard.rs (Rust, 1 function) to sp #8674, Port gHashTag/trios:crates/trios-igla-race/src/status.rs (Rust, 2 functions) to specs/port/trios/crates/trios-igla-race/ #7986, Port gHashTag/BrowserOS:trios/agent-server/apps/server/src/lib/vm/lima-config.ts (TypeScript, 1 function) to specs/port/ #7118); the other 126 have no reviewer label, soauto-merge-ready-prs.ymldoes not take them.Documented t27c subcommands exist,Corpus ratchet (expected-failure ledger),Check L1 TRACEABILITY,cli-tri,t27b-native-*; Port gHashTag/BrowserOS:trios/agent-server/apps/server/src/lib/vm/lima-config.ts (TypeScript, 1 function) to specs/port/ #7118 also has its ownduplicate-bodiesfailures). By the subset rule none of them is inherited.So no bee PR passes the rules today either; nothing is waiting on the merger.
🤖 Generated with Claude Code