8000 T35 — Attach to a terminal exec in a box · Issue #2911 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T35 — Attach to a terminal exec in a box #2911

Closed

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Start, attach and resume M needs care standard an agent 400 (100 code, 300 tests)

min box attach <box> --exec <id> reattaches a terminal exec, and refuses an exec that ended or has no terminal.

Covers:

  • BCLI-068

Layers:

  • client:
    • crates/minimal/src/cli.rs: the verb's arguments and help in the one command model
    • crates/minimal/src/cmd/boxes/attach.rs: --exec <id> reattaches a live terminal exec, with the unknown, ended, no-terminal and no-box refusals in that order
    • 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_attach_exec_reattaches_live_pty_exec
    • cargo nextest run -p minimal box_attach_exec_unknown_id_exit4_names_id
    • cargo nextest run -p minimal box_attach_exec_non_pty_exit2_names_logs
    • cargo nextest run -p minimal box_attach_exec_ended_exit4_names_logs_and_wait
    • cargo nextest run -p minimal box_attach_exec_without_box_exit2

Waits on:

Plan block
### T35 — Attach to a terminal exec in a box
  slice: S3
  kind: task
  covers: BCLI-068
  size: M
  est: 100 code, 300 tests
  executor: agent
  difficulty: needs care
  model: standard
  diagnostics: for an exec id the box never ran, `min box attach <box> --exec <id>` prints "<box> has no exec <id>." and exits 4; for an exec that ended, it prints "Exec <id> has ended. Read its output with min box logs <box> --exec <id>, or its exit code with min box wait <box> --exec <id>." and exits 4, pinned by box_attach_exec_ended_exit4_names_logs_and_wait
  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/attach.rs: `--exec <id>` reattaches a live terminal exec, with the unknown, ended, no-terminal and no-box refusals in that order
      - 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_exec_reattaches_live_pty_exec
      test: cargo nextest run -p minimal box_attach_exec_unknown_id_exit4_names_id
      test: cargo nextest run -p minimal box_attach_exec_non_pty_exit2_names_logs
      test: cargo nextest run -p minimal box_attach_exec_ended_exit4_names_logs_and_wait
      test: cargo nextest run -p minimal box_attach_exec_without_box_exit2
  produces: none
  consumes:
    - crates/minimal/src/cmd/boxes/address.rs
  proof: `min box attach <box> --exec <id>` reattaches a terminal exec, and refuses an exec that ended or has no terminal.
  depends on:
    - blocked by #2904
    - blocked by #2895

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 5, 2026

    @minimal-foundry
    Contributor

    Done. #3044 merged.

    branch agent/2911-attach-to-a-terminal-exec-in-a-box · epic #2879 · PR #3044

    round outcome job
    1 pushed 3f76bc4d
    2 pushed a81ecc1f
    3 pushed 03b2cfb3

    Updated 2026-11-05T18:43:42.181Z.

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