Repository navigation
ci: one queen-publish job opens the derived-record PRs the labs' verdicts allow (Closes #9092) - #9117
Merged
Merged
Conversation
…icts allow (Closes #9092) The labs hold no GitHub credential. On each master run: - t27c-lab publishes /seals/<sha>.patch|.json (see #9080); - t27b-lab publishes /ledger/<sha>.patch|.json (see #9091). This job, `derived-records` in queen-publish.yml (cron 9,39, plus every queen-* push, with GH_AGENT_TOKEN), takes each lab's latest master run. It refuses unless the run's commit is on master, the json verdict allows it (REFRESH / APPLY), every path the patch touches is that kind's derived path, and `git apply --check` passes on master's tip. It then: - opens one issue (t27b-ledger-steward for the ledger); - pushes bot/seals-<sha12> or steward/t27b-ledger-<sha12> with the patch applied unchanged; - opens the PR, `Closes #<issue>` on line 1; - enables --auto --squash while checks are pending. That is bot_pr_action B_WAIT and card steps 3-6. An older open bot PR of the same kind is closed (B_REGENERATE). A REFUSE verdict opens one refusals issue for the run (card step 1). It is idempotent: an issue found by title, or a branch on origin, stops a second one. brain-seal-refresh.yml is deleted: it opened nothing (its push step was removed in #3324), it failed its last 9 runs, and the derived-record PR path is this job. queen-publish.yml: 37 lines added; 66 deleted. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
enabled auto-merge (squash)
October 11, 2026 13:40
This was referenced Oct 11, 2026
Contributor
This was referenced Oct 11, 2026
This was referenced Oct 11, 2026
This was referenced Oct 11, 2026
Contributor
PR DashboardGenerated at: 2026-10-11 19:53:33 UTC
Summary
Seal Status
|
gHashTag
added a commit
that referenced
this pull request
Oct 11, 2026
…spec Action (#9147) Ship the t27o-as-a-service surface (#8996, epic #8998): a foreign repo consumes t27o entirely inside its own GitHub Actions, with zero LLM tokens and zero secrets of ours. - t27o-release.yml: on tag t27o-v*, build tri + t27c, checksum, sign every artifact cosign keyless (OIDC id-token, no owner secret), attest build provenance, upload to the GitHub Release. Signs in-workflow because a GITHUB_TOKEN release never fires on:release workflows (GitHub anti-recursion), so sign-release.yml cannot cover it. - t27o-golden.yml: reusable workflow_call. Downloads the signed artifacts, verifies each blob's sigstore bundle against the exact workflow+tag identity, runs tri t27o --check over the caller's Rust. golden opens a PR with specs/t27o_check (refusals inline in each spec); scan reports in place; check fails on drift. - specs/tools/t27o/service.t27: the logic the plumbing carries (modes, defaults, tag family, OIDC issuer + identity, report shape, honest limit); golden criteria remain #8997's lane. 4/4 tests green (lab). - specs/port/scripts/gen_w374.t27: scripts/gen_w374.py ported to the gen_w392 shape with the invariant-end, last-block and splice made real; chain test proves the Python result. w375/w376 tables kept in its header. 8/8 tests green (lab). gen_w37[456].py deleted. Foreign lines: +65 yml, -123 py, net -58 (foreign-budget hook: pass). str .len counts the $ sentinel (lab probe). own-language hook denies the two new .yml paths -- same state as open PR #9117: red on CI until the owner lists them in tools/policy/foreign-exceptions.txt (checklist on the issue). Untested until first release run: live cosign keyless, upload, download-verify chain, caller-side PR creation. Refs #8996 Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
gHashTag
added a commit
that referenced
this pull request
Oct 12, 2026
#9117 deleted brain-seal-refresh.yml and left the test in gates.rs that include_str!s it, so cargo test of the tri crate fails to compile on master. The follow-up is a pure deletion of the dead test (18 lines removed, none added), delegated by the owner in chat 2026-10-12. Riding in the same exceptions PR so one label click unblocks both follow-ups. Refs #9117 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 12, 2026
gHashTag
added a commit
that referenced
this pull request
Oct 12, 2026
…+ recipes AF4 round 2 (attest-input-rename) (#9297) Matrix-regen fired for the first time on real drift: gates.t27 was 3 rows off master (.github/workflows gained t27o-golden and t27o-release from #9147, and #9117 deleted brain-seal-refresh). Regen per docs/claw/README.md: census 61 blocking + 3 soft + 2 reporting, pins re-indexed (oracle-nightly 30->29, queen-publish 42->41, new rows pinned at 57/58 with their events). recipes.t27 AF4 round 2 (#9285): +1 verified row -- t27o-release / attest-input-rename (#9164: attest-build-provenance v4 renamed the input path -> subject-path; one-word workflow edit, then delete and re-push the tag). Table 21 -> 22 rows, census C_AUTO 16 / C_REVIEW 3 / C_OWNER 3. The fallback row's COND now carries the compare-vs-master discipline every night tick ran (a red on a PR describes the branch; its cause may be master; a stale failed run describes an old SHA). Two bound defects fixed in the same commit: - recipes all_kinds_unique kept 19-row while bounds through the 21-row table (rows 19-20 were never compared); it takes the row count as a parameter now, tied to COUNT by the test. - gates all_names_unique inner bound stayed 65 when the outer grew to 66: the computed range (i+1)..65 at i=65 inverts (66..65) and the lowering does not clamp it to empty -- the walk went wrong and no_duplicate_names_pairwise failed. Both bounds are 66 now, with a comment naming the trap; the unclamped inverted range is recorded for the compiler lane. Lab (fresh t27c from master tip): typecheck OK both files; gates 10/10 tests, recipes 11/11, 0 FAIL, 0 vacuous. ASCII clean, no new duplicate groups. Refs #9285, #9281. Part of #9271. 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.
Closes #9092
Waits for the owner's
owner-approved-foreignlabel. The PR edits a workflow, so the own-language path check denies it until the label is set. The foreign-line budget passes: 37 lines added, 66 deleted. Nothing else here needs the label.Why
The labs recompute master's derived records but hold no GitHub credential, and none may be added:
Until something opens their PRs, a person does it by hand, as on 2026-10-11 in #9070, #9073, #9079 and #8289 through #8697.
Which workflow
queen-publish.yml. It already opens PRs, on cron9,39 * * * *and on everyqueen-*push, withGH_AGENT_TOKEN.GITHUB_TOKENmay not create PRs here; see its own comment.Not
brain-seal-refresh.yml. It hascontents: read, and its push step was removed in #3324, so it can open nothing. It failed its last 9 runs (2026-04-07 to 2026-09-24), and its inline schema check importsjsonschema, which the runner does not have. This PR deletes it..trinity/seals/brain_pipeline.jsonstill names it underci_integration; that descriptive file is left for its owner, because a hand edit under.trinity/seals/is the thing this work removes.The job:
derived-recordslatest.jsonheads.master.sha, then/seals/<sha>.json;latest.jsoncommit, then/ledger/<sha>.json.merge-base --is-ancestor);REFRESHfor seals (derived_data.t27seal_refresh),APPLYfor the ledger (ledger_steward.t27run_verdict);git apply --numstatis the kind's derived path:.trinity/seals/ordocs/reports/t27b_expectations.json;git apply --checkpasses on master's current tip.<sha12>in its title. So a commit never gets a second issue or PR.t27b-ledger-steward.bot/seals-<sha12>orsteward/t27b-ledger-<sha12>with the patch applied unchanged (git apply --index).Closes #<issue>and a table of every finding or seal. It then enables--auto --squashwhile checks are pending:bot_pr_actionB_WAIT, card steps 3-6.REFUSEledger verdict opens one refusals issue for the run, listing each finding's action andrefusal_reason(card step 1). It opens no PR.Checked
The script was run locally against a local copy of the lab outputs, with
ghstubbed andgit pushsent to a local bare repository:Closes #<issue>on line 1, and an auto-merge call.Until this has the label, I run the same steps by hand from the lab outputs (coordinator's instruction), with each patch applied unchanged.
🤖 Generated with Claude Code