8000 T33 — Exit codes follow the architecture's table · Issue #2923 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T33 — Exit codes follow the architecture's table #2923

Open

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Move off the session verbs S routine light an agent 160 (100 code, 60 tests)

Every command ends with the exit code the architecture's table gives its outcome.

Covers:

  • BCLI-034

Layers:

  • client:
    • crates/minimal/src/main.rs: maps each outcome to the exit code the architecture's table names
    • crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
    • cargo nextest run -p minimal exit_code_table

Waits on:

Plan block
### T33 — Exit codes follow the architecture's table
  slice: S8
  kind: task
  covers: BCLI-034
  size: S
  est: 100 code, 60 tests
  executor: agent
  difficulty: routine
  model: light
  diagnostics: each refusal keeps the message the task that added it prints; this task changes only the exit code, pinned by exit_code_table
  observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
  layers:
    - client:
      - crates/minimal/src/main.rs: maps each outcome to the exit code the architecture's table names
      - crates/minimal/src/tests.rs: the in-process minimald test harness gains this layer's tests
      test: cargo nextest run -p minimal exit_code_table
  produces: none
  consumes: none
  proof: Every command ends with the exit code the architecture's table gives its outcome.
  depends on:
    - blocked by #2922

Activity

  1. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:SUnder 200 net lines; one PR
    model:lightA light model is enough: routine work, small or medium
    on Nov 3, 2026
  2. mitodrummer commented on Nov 4, 2026

    @mitodrummer
    MemberAuthor

    From the pre-merge review of BCLI T2 (#2961). min box stop on a box that is already stopped or exited forwards the daemon's raw text, "session <uuid> is stopped, not running, so there is nothing to stop" (box_manager.rs stop_box_answer_inner, through box_rpc_error), with exit 1. The architecture's table gives "an operation the target's state does not admit… naming the state" exit 2, and the message should name what the user typed, not "session ". The daemon's other reap refusals ("still being created", resume pending) behave the same way. The not-found path also exits 1 where BCLI-064 wants 4 (shared with box show).

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:lightA light model is enough: routine work, small or mediumsize:SUnder 200 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