Repository navigation
Closed
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs careThe strongest model available: unknown ground, or large work that needs caresize:L500 to 900 net lines; one PR, and the ceiling500 to 900 net lines; one PR, and the ceiling
Description
Task
| slice | size | difficulty | model | who | estimated lines |
|---|---|---|---|---|---|
| Exec into a box | L | unknown ground | strongest | an agent | 880 (460 code, 420 tests) |
A detached command returns an id whose output reads back.
Covers:
- BOX-149
Layers:
- exec:
- crates/minimald/src/exec.rs: argv unshelled; exec ids
- crates/minimald/src/exec/process.rs: terminal, detached, timeout
- crates/minimald/src/exec/bridge.rs: transcripts by exec id
- crates/minimald/src/exec/tests.rs: tests
cargo nextest run -p minimald exec_runs_argv_unshelled_in_box_namespaces_and_cgroupcargo nextest run -p minimald exec_into_non_running_box_refused_exit2_names_statecargo nextest run -p minimald every_exec_gets_uuidv7_idcargo nextest run -p minimald exec_tty_returns_reattachable_id_and_keeps_transcriptcargo nextest run -p minimald exec_detach_closes_stdin_captures_logs_and_wait_returns_codecargo nextest run -p minimald exec_own_timeout_ends_exec_reason_timeout_box_keeps_running
- wire:
- crates/minimald-rpc/src/exec.rs: mode, timeout, exec id
- crates/boxes/src/store.rs: transcripts beside record
cargo nextest run -p minimald-rpc exec_request_carries_mode_and_timeout
Waits on:
- T7 — Retained sessions, end to end, with list and show #2394
- T40 — Split the daemon's exec dispatch into files by concern #2398
Plan block
### T30 — Run a command in a box with a terminal or detached, under an exec id
slice: S7
kind: task
covers: BOX-149
size: L
est: 460 code, 420 tests
executor: agent
difficulty: unknown ground
model: strongest
diagnostics: daemon log names each exec's id and mode
observability: one span per exec
layers:
- exec:
- crates/minimald/src/exec.rs: argv unshelled; exec ids
- crates/minimald/src/exec/process.rs: terminal, detached, timeout
- crates/minimald/src/exec/bridge.rs: transcripts by exec id
- crates/minimald/src/exec/tests.rs: tests
test: cargo nextest run -p minimald exec_runs_argv_unshelled_in_box_namespaces_and_cgroup
test: cargo nextest run -p minimald exec_into_non_running_box_refused_exit2_names_state
test: cargo nextest run -p minimald every_exec_gets_uuidv7_id
test: cargo nextest run -p minimald exec_tty_returns_reattachable_id_and_keeps_transcript
test: cargo nextest run -p minimald exec_detach_closes_stdin_captures_logs_and_wait_returns_code
test: cargo nextest run -p minimald exec_own_timeout_ends_exec_reason_timeout_box_keeps_running
- wire:
- crates/minimald-rpc/src/exec.rs: mode, timeout, exec id
- crates/boxes/src/store.rs: transcripts beside record
test: cargo nextest run -p minimald-rpc exec_request_carries_mode_and_timeout
produces: none
consumes: none
proof: A detached command returns an id whose output reads back.
depends on:
- blocked by #2394
- blocked by #2398
Reacted by minimal-foundry
Metadata
Metadata
Assignees
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:strongestThe strongest model available: unknown ground, or large work that needs careThe strongest model available: unknown ground, or large work that needs caresize:L500 to 900 net lines; one PR, and the ceiling500 to 900 net lines; one PR, and the ceiling
Activity
fix(minimald): show a box by the id its listing prints
T4 — List and read box records with their states (gominimal#2743)
minimal-foundry commentedon Nov 2, 2026
Done. #2843 merged.
branch
agent/2404-run-a-command-in-a-box-with-a-terminal-or-detach· epic #2236 · PR #28438280b9dc9dd00b7f72177fe292954a62Updated 2026-11-02T21:00:10.075Z.
fix(minimal): end min box attach --exec through the ending table
T35 — Attach to a terminal exec in a box (gominimal#3044)