Repository navigation
PASS
Baseline. This re-reviews 9a4287f2 against the CONDITIONS on b1370c24 (this PR), on arch 15b603e6. The checkout has no arch-map.md, so I found the sections by search. The compare since.diff is two commits plus a merge of main (96e40932). The merge brings common, sandbox, file_upload, finalize_install, project, cli-min.md and a spike, none of them in this PR's diff against its base, so they are out of this ruling.
Governs. architecture.md min box exec line 498: a -t exec is re-attachable like a PTY box, and detaching leaves it running. min box attach line 492 and Exit codes line 376: a detach returns 0. Principle 8, line 338: attachability for an exec follows its -t. Line 498 also names the exec's events: exec_started and exec_exited only.
Ruling. The compare answers both gaps the earlier head left. 44b620eb puts the bell and the detach notice behind write_bounded (EXIT_NOTICE_BOUND), so a client that does not read cannot hold the detach. A new paused-clock test pins it with a one-byte duplex. 9a4287f2 threads global.config_dir into TtyAttach::Terminal, and attach_exec_terminal now builds its ssh through exec_attach_ssh, which keeps -tt and sends the resolved session keys. A remapped chord now applies to min box exec -t. The daemon change in crates/minimald/src/exec.rs sits in the exec dispatcher, the one place that holds the channel's env, and mirrors the box attach's key read. It is outside the task's layers: but in the design's owner (minimald), so placement conforms. The exec detach writes no box detached event, which matches line 382 (detached is a PTY client's loss of the box) and line 498 (an exec's events are exec_started/exec_exited). No requirement deviates.
Departure from precedent. None. The ledger's text for b1370c24 is cut short, so I read its conditions from the two fix commits and their messages. If that ruling named a third condition, this ruling did not see it.
Not checked. I did not compile or run the tests, as the contract says. The PR body's "Not done" paragraph still says min box exec -t sends no keys. 9a4287f2 makes that stale. The body is not part of the design, so it is not a condition. The author can update it before the PR leaves draft. The PR is a draft because agent-verify timed out, and this ruling does not replace that verify.
Ruled at 9a4287f against gominimal/arch@15b603e6afb8 by claude-opus-5-5; arch_rulings 1218, job 1c12addd-5c2c-4eca-a874-88f3302c0d71.