Repository navigation
Open
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largeA standard model: work that needs care, or routine work that is largesize:M200 to 500 net lines; one PR200 to 500 net lines; one PR
Description
Task
| slice | size | difficulty | model | who | estimated lines |
|---|---|---|---|---|---|
| Manage retained boxes | M | needs care | standard | an agent | 270 (150 code, 120 tests) |
min box restartrestarts a long-running box under the same id and name.
Covers:
- BCLI-074
Layers:
- client:
- crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
- crates/minimal/src/cmd/boxes/lifecycle.rs:
min box restartover the daemon's restart operation - 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 box_restart_until_stopped_restarts_same_id_and_namecargo nextest run -p minimal box_restart_not_until_stopped_exit2_hint_by_lifetime
Waits on:
- T4 — Resolve a box address across the local hosts #2895
- BOX: define a restart operation for until_stopped boxes (needed by BCLI-074) #2761
Plan block
### T25 — Restart a long-running box
slice: S6
kind: task
covers: BCLI-074
size: M
est: 150 code, 120 tests
executor: agent
difficulty: needs care
model: standard
diagnostics: for a box that runs to completion, `min box restart` prints "<box> runs to completion and cannot restart. Run it again with min box run <entry>." and exits 2, pinned by box_restart_not_until_stopped_exit2_hint_by_lifetime
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/boxes/lifecycle.rs: `min box restart` over the daemon's restart operation
- 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_restart_until_stopped_restarts_same_id_and_name
test: cargo nextest run -p minimal box_restart_not_until_stopped_exit2_hint_by_lifetime
produces: none
consumes:
- crates/minimal/src/cmd/boxes/address.rs
proof: `min box restart` restarts a long-running box under the same id and name.
depends on:
- blocked by #2895
- blocked by #2761
Metadata
Metadata
Assignees
Labels
kind:taskA task the plan skill rendered; the body carries ## TaskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largeA standard model: work that needs care, or routine work that is largesize:M200 to 500 net lines; one PR200 to 500 net lines; one PR
Activity