Repository navigation
Open
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 | 880 (280 code, 600 tests) |
min box startandmin session startcreate a box from an entry, attach a terminal box, and refuse a held name with the holder named.
Covers:
- BCLI-029
- BCLI-071
- BCLI-072
- BCLI-069
Layers:
- client:
- crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
- crates/minimal/src/cmd/mod.rs: dispatches the verb
- crates/minimal/src/cmd/boxes/create.rs:
min box startandmin session start: entry choice,--name,--new, attach unless--detach - crates/minimal/src/cmd/session.rs:
min session startpicks the default, else the sole session entry - crates/minimal/src/main.rs:
failure_exit_codemaps this verb's refusals to their exit codes - crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
cargo nextest run -p minimal start_attaches_pty_box_unless_detachedcargo nextest run -p minimal start_off_tty_exit2_names_detachcargo nextest run -p minimal unattached_start_closes_stdin_and_hints_run_logs_waitcargo nextest run -p minimal create_verbs_name_flag_overrides_box_namecargo nextest run -p minimal create_name_held_exit2_names_holder_hints_name_flagcargo nextest run -p minimal session_start_without_entry_picks_default_else_solecargo nextest run -p minimal session_start_without_entry_ambiguous_exit2_lists_entriescargo nextest run -p minimal session_start_without_entry_blocked_default_exit2_names_fixcargo nextest run -p minimal box_start_without_entry_picks_default_else_solecargo nextest run -p minimal box_start_without_entry_ambiguous_exit2_lists_entries
Waits on:
Plan block
### T10 — Start a box from its entry
slice: S3
kind: task
covers: BCLI-029, BCLI-071, BCLI-072, BCLI-069
size: L
est: 280 code, 600 tests
executor: agent
difficulty: needs care
model: strongest
diagnostics: off a terminal, `min box start` of a terminal entry prints "<entry> needs a terminal. Run it from a terminal, or pass --detach." on stderr and exits 2 before it creates anything, pinned by start_off_tty_exit2_names_detach
observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
layers:
- client:
- crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
- crates/minimal/src/cmd/mod.rs: dispatches the verb
- crates/minimal/src/cmd/boxes/create.rs: `min box start` and `min session start`: entry choice, `--name`, `--new`, attach unless `--detach`
- crates/minimal/src/cmd/session.rs: `min session start` picks the default, else the sole session entry
- 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 start_attaches_pty_box_unless_detached
test: cargo nextest run -p minimal start_off_tty_exit2_names_detach
test: cargo nextest run -p minimal unattached_start_closes_stdin_and_hints_run_logs_wait
test: cargo nextest run -p minimal create_verbs_name_flag_overrides_box_name
test: cargo nextest run -p minimal create_name_held_exit2_names_holder_hints_name_flag
test: cargo nextest run -p minimal session_start_without_entry_picks_default_else_sole
test: cargo nextest run -p minimal session_start_without_entry_ambiguous_exit2_lists_entries
test: cargo nextest run -p minimal session_start_without_entry_blocked_default_exit2_names_fix
test: cargo nextest run -p minimal box_start_without_entry_picks_default_else_sole
test: cargo nextest run -p minimal box_start_without_entry_ambiguous_exit2_lists_entries
produces: none
consumes: none
proof: `min box start` and `min session start` create a box from an entry, attach a terminal box, and refuse a held name with the holder named.
depends on:
- blocked by #2892
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
agent-137 commentedon Nov 7, 2026
Follow-up from BCLI T7 (#3087, arch ruling 1036 C1). The
min box run/min task runrefusal of a terminal entry (RunNeedsTerminal,crates/minimal/src/task.rs) prints a hint that namesmin box start --new <entry>, as architecture line 493 fixes it. This task adds that command. When it lands, add a test that runs the command the hint names. Keep the hint text.