Conversation
beebauman
enabled auto-merge
September 3, 2026 06:38
beebauman
disabled auto-merge
September 3, 2026 07:02
`yoke watch doctor -- --quick`, the one doctor shape the session rules teach, always exited 1 on a relayed machine: the wrapper shelled the engine entrypoint, which opens the control-plane database itself and so refused before running a single check. It named `yoke doctor run` as the recovery — a command with no watcher wrapper, and one that printed a single JSON line at the end with no progress at all. A relayed machine therefore had no streaming doctor path, and the rules taught a command that could not work there. The wrapper now runs the transport-keyed `yoke doctor run`, and that command streams on both transports. Progress is emitted from the one seat every runner already passes through, `execute_check_isolated`, so the engine entrypoint, the `doctor.run.run` handler, and the client-side composition passes of a relayed run all report without any of them remembering to. Emission is opt-in: a caller installs a sink, and without one the handler stays silent when it executes server-side. A relayed batch carries one check, so its response is that transport's progress tick and its verdict renders from the returned row. A runner that executes a check without the authority that check needs rewrites the resulting failure as not-applicable once the call returns, so the two loops that do that withhold the in-loop verdict and emit the final one instead. Otherwise the raw failure wakes a follower urgently for a verdict the report never carries: a `--quick` run emitted eleven such lines against three real failures. Start lines still stream, so a long batch stays visibly alive, a genuine failure still reaches the urgent tier, and a rewritten one goes out as the N/A it became. `yoke doctor run` also gains the output contract it was standing in for: the Ouroboros Health Report in human mode instead of one JSON line, `--file PATH` to write it, and doctor's own exit status (0 clean, 1 a recorded FAIL or a failed run) — the status the doctor skill already told callers to branch on. Moving the field-note footer helpers to the module that renders the report moved the canonical import with them, so the importing-consumer roster follows. That the roster's own test was not selected is a selector defect, fixed here rather than worked around: a contract roster names its subjects as repo-relative path strings, and reachability only followed dotted module literals, so editing a governed file left the test guarding its roster unreachable until CI found it. The index now resolves path literals against its own file list too — the workspace-anchored writer roster has the same shape and the same gap. Teaching follows in the same change: the Claude session rules and the wrapper `--help` name one shape and mark the engine entrypoint source-dev; AGENTS.md carries the harness-neutral half; and the doctor skill drops its transport branch, along with two claims a composed relayed run had already outgrown — that source-tree and project-local checks cannot run over https. Co-Authored-By: Claude Opus 5 (1M context) <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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Item branch for YOK-2794; lands through the merge queue's merge_group integration gate.