Skip to content

Offer a review's fix only where it can run, and log a refusal once - #197

Merged
madskronborg merged 14 commits into
masterfrom
madskronborg/recover-vm-mk-run-e4868a8c-now-claude-is-3a3fzk
Oct 26, 2026
Merged

madskronborg merged 14 commits into
masterfrom
madskronborg/recover-vm-mk-run-e4868a8c-now-claude-is-3a3fzk

Conversation

@madskronborg

Copy link
Copy Markdown
Collaborator

A review Run used to offer Fix findings, and Fix findings in a full implement run, even when the reviewed branch could not be established, for example from a checkout with no remote. It then refused every answer and asked the same question again, and each replay wrote the refusal into the log again. Now, before its first menu, the review asks the host whether the reviewed branch can be established. The host answers with the same resolution it uses for the checkout, and cuts nothing. Where the answer is no, the review withholds both fix options and the question says why. The one exception: Fix findings stays on offer when a Run in this one's lineage may have a live implementer to hand the findings to. A fix refused when it starts stays refused for the rest of the Run, and each refusal is logged once. The amendment to ADR-0054 records the rules, and the workflows and SDK docs describe them.

This is a recovery of run-e4868a8c: its four commits are carried over unchanged. On top of them, test/host.test.ts now waits for the host to record a held check before ending or restarting the host. That race failed two host tests on master too. Squash-merge, because three of the commits are fixup!s.

Closes #185.

Verified on the branch as it stands: only typecheck passed on this tree (by agent). host-check-restart, lint, format and review-scenarios passed by agent, but on an earlier tree. check failed (by collie); see below.

Verifications this run is held to

  • check: /home/mk/.local/share/mise/shims/bun run check (in /home/mk/.herdr/worktrees/.collie/madskronborg/recover-vm-mk-run-e4868a8c-now-claude-is-3a3fzk)

The two gate fixes after the last review were checked by their own tests and dispositions, not by a reviewer. Gate fix 1 changed no code: it installed desktop/node_modules, which master's typecheck now reads, and pushed Collie's merge of master (064b000). Gate fix 2 is the empty commit fb2cc25, made so the gate would run again with those dependencies installed.

Not settled by the run

  • check: the account is told again when Desktop retells it, with each harness's list as it is then (test/flock-chat-turns.test.ts) failed, then passed when run again alone on the same tree — a Flake, so this Run has not settled it.
  • check: windows start the set harness's read, choosing another starts its read, and the chat tool retries a failed list (test/flock-chat-turns.test.ts) also fails at 3b738f3, where this branch leaves the default branch, so it failed before this Run's changes.

Mads Kronborg added 7 commits October 23, 2026 06:28
A review offered Fix findings for a target with no branch to fix, refused
every answer the same way, and replays wrote the refusal again each time.
The review now asks the host before its first menu whether the reviewed
branch can be established, by the checkout's own resolution and cutting
nothing, and withholds what cannot run, naming why. A fix refused when it
starts stands for the rest of the Run, and each refusal is recorded inside
the Activity that met it.

Closes #185.
The host writes a check's running-checks record only after spawning it, but
the tests ended or restarted the host as soon as the child noted its pid. On
a loaded machine the record was not there yet, so the next host found the
check by its markers alone and the record count was zero. Both tests failed
on master the same way.
The gate's check failed at 064b000 only because this worktree had no
desktop/node_modules, which master's typecheck now reads. Installing them
changes nothing git tracks, and Collie does not rerun a Run's check on a
tree it already failed on.
@madskronborg madskronborg self-assigned this Oct 23, 2026
Mads Kronborg added 5 commits October 23, 2026 15:01
…r-vm-mk-run-e4868a8c-now-claude-is-3a3fzk

# Conflicts:
#	src/processes.ts
A reader that found the file between its creation and its write read an empty reason,
which failed the idle-budget test in CI and would show the board a Run parked for nothing.
Git 2.47+ (CI has 2.55) detaches the maintenance a commit starts, so it can still be
writing into a test's repository after a fast test removed it, and the suite reports the
directory as left behind.
#194 made the host's placement need ForgeHttp, which reviewedBranch now gets from the
host's services as checkoutReviewed does, and gave worldWith an adapters object.
Mads Kronborg added 2 commits October 26, 2026 07:49
…r-vm-mk-run-e4868a8c-now-claude-is-3a3fzk

# Conflicts:
#	test/host.test.ts
@madskronborg
madskronborg merged commit 8b10781 into master Oct 26, 2026
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

A review offers "Fix findings" from a checkout that refuses every fix, and asks again

1 participant