Destination
Every finding from the 2026-08-24 architecture review is closed: each either landed as a reviewed PR with a test that proves the behaviour was absent, or is recorded as ruled out with the evidence that ruled it out. The one defect already fixed — DEVLAUNCH_NO_TTY read two ways — is merged.
Notes
Source: an architecture review of this repo on 2026-08-24 at v0.13.0 (fix_arch, parent 9392779), run against the deep-module vocabulary — module, interface, depth, seam, adapter, leverage, locality. Findings carry file:line evidence and are restated in each ticket.
Agent-decided, by invocation. This map was handed to wf-auto, so decision tickets are settled against the principles rather than by grilling, and every resolution names the principle that decided it. That is this map's rule and does not travel: the sibling map Close out the 2026-08 architecture review carries an explicit human-in-the-loop steering line, and nothing here re-decides a ticket that lives there.
Overlap with #299, which was found only after these tickets were filed. Two were duplicates and are closed:
Ordering note: the Provision-seam ticket is blocked on #299's Move ColdPath and ToolProvisioning into core, which relocates the very impl it reshapes — so the trait moves once, not twice. That blocker is human-gated on #299, so this map parks rather than reaching past it.
Progress (2026-08-24 run)
Seven pull requests, all merged on 2026-08-25. The run itself ended with every one of them open and in review, which is where an unattended run ends.
Every PR was reviewed by an agent that did not write it. That gate found a
layering violation in #427, a guard with four holes in #415, a silently-dropped
Absent in #428, and a coverage hole plus a false doc claim in #407 — none of
which the authors or the manager caught.
Two things the run learned the hard way, recorded so the next one starts with
them: the build brief named tests, clippy and fmt as the gate and forgot the
CHANGELOG, so six PRs arrived owing one; and agents sharing a working tree means
git add -A will eventually commit somebody else's file, which it did.
Closed 2026-08-28: the four node tickets whose PRs merged, #399, #401, #402 and #409, each with a closing comment citing its PR. Still live on this map: #397, #410, #411, #416, #431, #432.
Parked
Decisions so far
- Read-modify-write spans the metadata seam — the window is reachable; the bug is not. No field exists whose loss is observable: the revertible ones are unread or derived identically by the other writer. Change the interface anyway as a modelling slice. Two corrections to the ticket: the launch flock guards none of the four writes (the per-repo lock partly does), and only two of the four sites have the shape described (agent)
- api::workspace_delete is the delete without the unsaved-work guard — fold the three functions into one
workspace_remove, with Refused(RemovalRefused) as an arm; the seam is the workspace id, not the target word. A Guarded witness token was rejected: it witnesses that the guard ran, not that it ran on a real probe. api changes, and it is a removal (agent)
- Trips is a third fake devpod the conformance corpus does not cover — it is not a fake devpod:
Trips answers by call index, never from argv, so a corpus row cannot be expressed against it. The other impl Runner fakes inherit the corpus through FakeRunner's DevpodMachine. Doc-only outcome (agent)
- git refusals travel as a type and as English, and three decisions read the English: landed as PR #429, closed 2026-08-28. The leftover hand-written English became #432 (agent)
- The aid pty tests flake on a loaded cargo test --workspace run: landed as PR #414, closed 2026-08-28. The residual flakes are carried by #416 (agent)
- aid reads DEVLAUNCH_AID_AGENT with the call osext exists to replace: landed as PR #413, a narrow
env_str re-export, closed 2026-08-28 (agent)
- Say what Trips is, and correct the Runner impl count: landed as PR #415, the spec dispute settled in commit 1dead6d, closed 2026-08-28 (agent)
Not yet specified
Out of scope
Destination
Every finding from the 2026-08-24 architecture review is closed: each either landed as a reviewed PR with a test that proves the behaviour was absent, or is recorded as ruled out with the evidence that ruled it out. The one defect already fixed —
DEVLAUNCH_NO_TTYread two ways — is merged.Notes
Source: an architecture review of this repo on 2026-08-24 at v0.13.0 (
fix_arch, parent 9392779), run against the deep-module vocabulary — module, interface, depth, seam, adapter, leverage, locality. Findings carry file:line evidence and are restated in each ticket.Agent-decided, by invocation. This map was handed to
wf-auto, so decision tickets are settled against the principles rather than by grilling, and every resolution names the principle that decided it. That is this map's rule and does not travel: the sibling map Close out the 2026-08 architecture review carries an explicit human-in-the-loop steering line, and nothing here re-decides a ticket that lives there.Overlap with #299, which was found only after these tickets were filed. Two were duplicates and are closed:
Ordering note: the Provision-seam ticket is blocked on #299's Move ColdPath and ToolProvisioning into core, which relocates the very impl it reshapes — so the trait moves once, not twice. That blocker is human-gated on #299, so this map parks rather than reaching past it.
Progress (2026-08-24 run)
Seven pull requests, all merged on 2026-08-25. The run itself ended with every one of them open and in review, which is where an unattended run ends.
DEVLAUNCH_NO_TTYfixEvery PR was reviewed by an agent that did not write it. That gate found a
layering violation in #427, a guard with four holes in #415, a silently-dropped
Absentin #428, and a coverage hole plus a false doc claim in #407 — none ofwhich the authors or the manager caught.
Two things the run learned the hard way, recorded so the next one starts with
them: the build brief named tests, clippy and fmt as the gate and forgot the
CHANGELOG, so six PRs arrived owing one; and agents sharing a working tree means
git add -Awill eventually commit somebody else's file, which it did.Closed 2026-08-28: the four node tickets whose PRs merged, #399, #401, #402 and #409, each with a closing comment citing its PR. Still live on this map: #397, #410, #411, #416, #431, #432.
Parked
#411 — blocked on
#340, which lives on the
human-in-the-loop map and moves the impl they reshape.
workspace_removefold. Actionable as of 2026-08-28, not started: it wanted devpod's on-disk layout gets the module it was missing #427 landed first so
the removal verb moves once, and devpod's on-disk layout gets the module it was missing #427 merged on 2026-08-25. It carries the
apirow devpod's on-disk layout gets the module it was missing #427 could not fix.#431,
#432 — all found by this
run's own reviews, none started.
Decisions so far
workspace_remove, withRefused(RemovalRefused)as an arm; the seam is the workspace id, not the target word. AGuardedwitness token was rejected: it witnesses that the guard ran, not that it ran on a real probe.apichanges, and it is a removal (agent)Tripsanswers by call index, never from argv, so a corpus row cannot be expressed against it. The otherimpl Runnerfakes inherit the corpus throughFakeRunner'sDevpodMachine. Doc-only outcome (agent)env_strre-export, closed 2026-08-28 (agent)Not yet specified
Out of scope