8000 T2 — Stop and remove a box · Issue #2890 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T2 — Stop and remove a box #2890

Closed

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
List, show, stop and remove boxes M routine standard an agent 380 (200 code, 180 tests)

A person stops a box with min box stop and removes it with min box rm, and a running box refuses removal without --force.

Covers:

  • BCLI-059
  • BCLI-060
  • BCLI-004

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.rs: exports the stop and remove verbs
    • crates/minimal/src/cmd/boxes/lifecycle.rs: min box stop [--force] over StopBox and min box rm [--force] over ReapBox
    • 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
    • cargo nextest run -p minimal box_stop_stops_as_box_013_force_forces
    • cargo nextest run -p minimal box_rm_reaps_as_box_019_force_forces
    • cargo nextest run -p minimal rm_running_box_refuses_naming_force
Plan block
### T2 — Stop and remove a box
  slice: S0
  kind: task
  covers: BCLI-059, BCLI-060, BCLI-004
  size: M
  est: 200 code, 180 tests
  executor: agent
  difficulty: routine
  model: standard
  diagnostics: when the box is running and `--force` is absent, `min box rm` prints "<box> is running. Stop it with min box stop <box>, or remove it now with min box rm <box> --force." on stderr and exits 2, pinned by rm_running_box_refuses_naming_force
  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.rs: exports the stop and remove verbs
      - crates/minimal/src/cmd/boxes/lifecycle.rs: `min box stop [--force]` over StopBox and `min box rm [--force]` over ReapBox
      - 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_stop_stops_as_box_013_force_forces
      test: cargo nextest run -p minimal box_rm_reaps_as_box_019_force_forces
      test: cargo nextest run -p minimal rm_running_box_refuses_naming_force
  produces: none
  consumes: none
  proof: A person stops a box with `min box stop` and removes it with `min box rm`, and a running box refuses removal without `--force`.

Activity

  1. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:M200 to 500 net lines; one PR
    model:standardA standard model: work that needs care, or routine work that is large
    on Nov 3, 2026
  2. minimal-foundry commented on Nov 3, 2026

    @minimal-foundry
    Contributor

    Done. #2961 merged.

    branch agent/2890-stop-and-remove-a-box · epic #2879 · PR #2961

    round outcome job
    1 pushed 4c9c750a
    2 pushed 61d60cab
    3 pushed 76e1b397
    4 pushed a85364bf

    Updated 2026-11-04T06:17:39.502Z.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind:taskA task the plan skill rendered; the body carries ## Taskmodel:standardA standard model: work that needs care, or routine work that is largesize:M200 to 500 net lines; one PR

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0