Work completed 2026-10-17 · written up 2026-10-18.
The checkout and the pre-review compare both assumed a main branch, so every job on a repo whose default branch is master failed [refusal:1981] [landed:1439] [landed:1440] [landed:1446]
Never hardcode a target repo's branch: read its default
The checkout and the compare now use the target repo's default branch
The step 6 ready commit timed out twice in a row on a gpg key database lock held by another process [refusal:1951] [refusal:1952]
A commit step that depends on a lockable, interactive keyring fails in ways no code change can fix
None yet: test-suite commits no longer sign [landed:1429], but the ready step still does
Seat uv runs wrote uv.lock into the checkout, and the authority rail refused the build round after round [refusal:1941] [refusal:1957]
A file a tool writes as a side effect still counts as a change in the diff
None yet: seat deletions are still being built and the outside repo's .gitignore does not list uv.lock
The lint rail ran ruff from the job's own venv, so repos that don't declare ruff failed before any code was linted [refusal:1979] [landed:1454]
A rail cannot assume a target repo carries our tools
The lint rail now runs ruff without the repo having to declare it
A tick moved a job's src/ aside past step 1 and never rebuilt it, so the job gave the same stop for five hours [landed:1465]
When the same step returns again and again, the job folder is broken, not the work
The stuck sweep sends such a job back to step 1 to rebuild src/, issue.md and base.sha