Repository navigation
feat(tri): tri t27b status/doctor -- the t27b steward reads its state before it acts - #6114
Merged
Merged
Conversation
… before it acts One read-only loop helper replaces the seven hand reads at the top of a t27b steward tick: lab latest.json, master tip, open t27b PRs with their required checks, the claim, the ledger, the /tmp/t27b-* worktrees (with the processes inside them), local processes and the railway CLI version. doctor prints one anomaly code per finding; each code is a slip the loop made by hand on 2026-10-04. Fixture-tested in loop-tools-gate with real git worktrees and a healthy negative control. Closes #6112 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
This was referenced Oct 4, 2026
Merged
Merged
The loop-tools gate gained one step, "The t27b steward reads its state before it acts", which runs the new fixture test. That is the only number that moved; cli-tri's "No census moved without saying so" was red on it. Closes #6112 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Contributor
PR DashboardGenerated at: 2026-10-04 16:08:59 UTC
Summary
Seal Status
|
This was referenced Oct 4, 2026
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.
Summary
This adds
tri t27b statusandtri t27b doctor, inscripts/tri_loop/t27b.py. The t27b steward (epic #6063) has been reading seven sources by hand at the top of every tick, and this command reads them all in one pass. It writes nothing, needs no compiler, and needs no network in fixture mode.On 2026-10-04 those hand reads caused four slips. Each one is now an anomaly code:
WORKTREE-MIDOP, which names the processes whose working directory is inside the worktreerailway whoamisaid Unauthorized after the owner had logged in, because the firstrailwayon PATH was 4.5.4RAILWAY-OLD-CLILAB-NOT-MASTER,LAB-BEHINDLOCAL-REFERENCEThere are 10 more codes, all listed in the module docstring. They cover lab mismatches and errors, PR conflicts, red required checks, dead claims and a quiet ledger. GitHub's search for
t27balso returns PRs that only mention t27b in passing: live, it returned 16, and 2 were t27b work. So a PR only counts if t27b is in its title or branch name, or it refers to #6063 or #5977.Test
scripts/ci/test_a_t27b_tick_reads_before_it_acts.pyis wired intoloop-tools-gate.lab.jsonmissing, the doctor reportsLAB-UNREADABLEand makes up no other lab finding.tri loop-helpused to print an empty description fort27b, because its pattern did not allow digits in a helper name. It now allows them.Live run (2026-10-04, before this PR)
The doctor found 10 anomalies, and each was real: the lab on
claude/t27b-railway-laband behind master, 4 PRs CONFLICTING,/tmp/t27b-cast-mergemid-merge with no process inside, 2 dirty worktrees, and railway 4.5.4 first on PATH. The filter that drops PRs only mentioning t27b was added after that run, so 2 of the 4 conflicting PRs (#5970, #5947) are not t27b work and the doctor no longer reports them. The other 2 were #6098 and #6102; #6102 fails the filter too and drops out, leaving only #6098.Closes #6112
🤖 Generated with Claude Code