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 |
|---|---|---|---|---|---|
| Start, attach and resume | L | needs care | strongest | an agent | 780 (140 code, 640 tests) |
min box attachreattaches a terminal box, finds the project's box with no address, and exits with a code a script can read.
Covers:
- BCLI-068
Layers:
- daemon:
- crates/minimald-rpc/src/lib.rs:
BoxListingEntryandShowBoxResponsecarry the stored spec'spty_enabled(serde default false, so an older daemon reads as no terminal) - crates/minimald/src/box_manager.rs:
box_listing_entryand the show reply fillpty_enabledfrom the box's stored spec - crates/minimald/src/box_manager/tests.rs: the listing and show tests for the field
cargo nextest run -p minimald box_listing_and_show_carry_pty_enabled
- crates/minimald-rpc/src/lib.rs:
- client:
- crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
- crates/minimal/src/cmd/boxes/attach.rs:
min box attach [<box>]: the bare form, and the 0, 2, 4, 7 and 254 endings - crates/minimal/src/attach.rs: the terminal attach reports why the daemon ended it
- crates/minimal/src/main.rs:
failure_exit_codemaps this verb's refusals to their exit codes - crates/minimal/src/tests.rs: the in-pr 8000 ocess minimald test harness gains this layer's tests
cargo nextest run -p minimal box_attach_reattaches_pty_boxcargo nextest run -p minimal box_attach_without_tty_exit2cargo nextest run -p minimal box_attach_running_non_pty_box_exit2_names_logscargo nextest run -p minimal box_attach_without_address_picks_running_else_sole_retainedcargo nextest run -p minimal box_attach_without_address_ambiguous_exit2_listscargo nextest run -p minimal box_attach_without_address_none_exit4_hints_startcargo nextest run -p minimal box_attach_without_address_unreachable_host_exit7cargo nextest run -p minimal attach_detach_or_entrypoint_exit_returns_0cargo nextest run -p minimal attach_ended_from_other_side_notice_exit254cargo nextest run -p minimal attach_connection_failure_exit7
Waits on:
Plan block
### T12 — Attach to a box's terminal, with or without an address
slice: S3
kind: task
covers: BCLI-068
size: L
est: 140 code, 640 tests
executor: agent
difficulty: needs care
model: strongest
diagnostics: when the daemon ends an attach, the terminal shows one line such as "Detached: <box> was stopped." and the command exits 254; with no candidate box it prints "No box with a terminal in this project. Start one with min box start." and exits 4, pinned by attach_ended_from_other_side_notice_exit254 and box_attach_without_address_none_exit4_hints_start
observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
layers:
- daemon:
- crates/minimald-rpc/src/lib.rs: `BoxListingEntry` and `ShowBoxResponse` carry the stored spec's `pty_enabled` (serde default false, so an older daemon reads as no terminal)
- crates/minimald/src/box_manager.rs: `box_listing_entry` and the show reply fill `pty_enabled` from the box's stored spec
- crates/minimald/src/box_manager/tests.rs: the listing and show tests for the field
test: cargo nextest run -p minimald box_listing_and_show_carry_pty_enabled
- client:
- crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
- crates/minimal/src/cmd/boxes/attach.rs: `min box attach [<box>]`: the bare form, and the 0, 2, 4, 7 and 254 endings
- crates/minimal/src/attach.rs: the terminal attach reports why the daemon ended it
- crates/minimal/src/main.rs: `failure_exit_code` maps this verb's refusals to their exit codes
- crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
test: cargo nextest run -p minimal box_attach_reattaches_pty_box
test: cargo nextest run -p minimal box_attach_without_tty_exit2
test: cargo nextest run -p minimal box_attach_running_non_pty_box_exit2_names_logs
test: cargo nextest run -p minimal box_attach_without_address_picks_running_else_sole_retained
test: cargo nextest run -p minimal box_attach_without_address_ambiguous_exit2_lists
test: cargo nextest run -p minimal box_attach_without_address_none_exit4_hints_start
test: cargo nextest run -p minimal box_attach_without_address_unreachable_host_exit7
test: cargo nextest run -p minimal attach_detach_or_entrypoint_exit_returns_0
test: cargo nextest run -p minimal attach_ended_from_other_side_notice_exit254
test: cargo nextest run -p minimal attach_connection_failure_exit7
produces: none
consumes:
- crates/minimal/src/cmd/boxes/address.rs
proof: `min box attach` reattaches a terminal box, finds the project's box with no address, and exits with a code a script can read.
depends on:
- blocked by #2895
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
minimal-foundry commentedon Nov 4, 2026
Done. #3018 merged.
branch
agent/2904-attach-to-a-box-s-terminal-with-or-without-an-ad· epic #2879 · PR #30189bdb0799b1ebbd03de3bc7a73ab539837bb8da0419ad7344903d79b02acd053200468d5eUpdated 2026-11-05T08:19:37.533Z.