8000 T8 — Wait on a box and return its exit code · Issue #2896 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T8 — Wait on a box and return its exit code #2896

Open

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Run tasks and wait on them M routine standard an agent 440 (200 code, 240 tests)

min box wait returns a box's exit code, and a box ended by its own timeout returns 124 from the run and wait commands.

Covers:

  • BCLI-013
  • BCLI-014

Layers:

  • client:
    • crates/minimal/src/cli.rs: the verb's arguments and help in the one command 8000 model
    • crates/minimal/src/cmd/mod.rs: dispatches the verb
    • crates/minimal/src/cmd/boxes/wait.rs (new): min box wait reads the stored exit, 128 plus the signal, 137 for an orphaned stop, and 124 at a timeout
    • crates/minimal/src/cmd/boxes.rs: declares the wait module
    • 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_wait_returns_retained_exit_code_or_128_plus_signal
    • cargo nextest run -p minimal box_wait_orphaned_stopped_record_returns_137
    • cargo nextest run -p minimal box_wait_timeout_flag_returns_124_box_runs_on
    • cargo nextest run -p minimal run_verbs_and_wait_timeout_return_124_with_code_timeout

Waits on:

Plan block
### T8 — Wait on a box and return its exit code
  slice: S2
  kind: task
  covers: BCLI-013, BCLI-014
  size: M
  est: 200 code, 240 tests
  executor: agent
  difficulty: routine
  model: standard
  diagnostics: when `min box wait --timeout` runs out, it prints "Stopped waiting after <d>; <box> is still running." on stderr and exits 124, pinned by box_wait_timeout_flag_returns_124_box_runs_on
  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/wait.rs (new): `min box wait` reads the stored exit, 128 plus the signal, 137 for an orphaned stop, and 124 at a timeout
      - crates/minimal/src/cmd/boxes.rs: declares the wait module
      - 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_wait_returns_retained_exit_code_or_128_plus_signal
      test: cargo nextest run -p minimal box_wait_orphaned_stopped_record_returns_137
      test: cargo nextest run -p minimal box_wait_timeout_flag_returns_124_box_runs_on
      test: cargo nextest run -p minimal run_verbs_and_wait_timeout_return_124_with_code_timeout
  produces:
    - crates/minimal/src/cmd/boxes/wait.rs
  consumes: none
  proof: `min box wait` returns a box's exit code, and a box ended by its own timeout returns 124 from the run and wait commands.
  depends on:
    - blocked by #2892
    - blocked by gominimal/arch#160

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