8000 T4 — Resolve a box address across the local hosts · Issue #2895 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T4 — Resolve a box address across the local hosts #2895

Closed

Description

@mitodrummer

Task

slice size difficulty model who estimated lines
Address boxes and read machine output L needs care strongest an agent 600 (300 code, 300 tests)

Any min box verb finds a box by id, name or provider/host/name, and says which hosts hold a name it cannot pick between.

Covers:

  • BCLI-002
  • BCLI-064

Layers:

  • client:
    • crates/minimal/src/cmd/boxes/address.rs (new): resolves an id, a name or provider/host/name over every local host, with the ambiguity, unreachable-host and unknown-box refusals
    • crates/minimal/src/cmd/boxes.rs: declares the address module
    • crates/minimal/src/cmd/boxes/show.rs: resolves its argument through the address module
    • crates/minimal/src/cmd/boxes/lifecycle.rs: stop and remove resolve through the address 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_address_accepts_id_name_and_qualified
    • cargo nextest run -p minimal ambiguous_name_across_hosts_exit2_lists_candidates
    • cargo nextest run -p minimal retained_name_across_hosts_exit2_lists_host_and_state
    • cargo nextest run -p minimal unqualified_name_with_unreachable_host_exit7_names_host
    • cargo nextest run -p minimal unknown_box_address_exit4_names_address

Waits on:

Plan block
### T4 — Resolve a box address across the local hosts
  slice: S1
  kind: task
  covers: BCLI-002, BCLI-064
  size: L
  est: 300 code, 300 tests
  executor: agent
  difficulty: needs care
  model: strongest
  diagnostics: when a name matches boxes on two hosts, the command prints "<name> matches boxes on more than one host:" with one line per box naming its host and state, then "Name one as provider/host/name."; when nothing matches, it prints "No box named <address>." and exits 4, pinned by ambiguous_name_across_hosts_exit2_lists_candidates and unknown_box_address_exit4_names_address
  observability: the command's existing tracing span records the verb, the box id it resolved and the outcome
  layers:
    - client:
      - crates/minimal/src/cmd/boxes/address.rs (new): resolves an id, a name or provider/host/name over every local host, with the ambiguity, unreachable-host and unknown-box refusals
      - crates/minimal/src/cmd/boxes.rs: declares the address module
      - crates/minimal/src/cmd/boxes/show.rs: resolves its argument through the address module
      - crates/minimal/src/cmd/boxes/lifecycle.rs: stop and remove resolve through the address 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_address_accepts_id_name_and_qualified
      test: cargo nextest run -p minimal ambiguous_name_across_hosts_exit2_lists_candidates
      test: cargo nextest run -p minimal retained_name_across_hosts_exit2_lists_host_and_state
      test: cargo nextest run -p minimal unqualified_name_with_unreachable_host_exit7_names_host
      test: cargo nextest run -p minimal unknown_box_address_exit4_names_address
  produces:
    - crates/minimal/src/cmd/boxes/address.rs
  consumes: none
  proof: Any `min box` verb finds a box by id, name or provider/host/name, and says which hosts hold a name it cannot pick between.
  depends on:
    - blocked by #2889

Activity

  1. added
    kind:taskA task the plan skill rendered; the body carries ## Task
    size:L500 to 900 net lines; one PR, and the ceiling
    model:strongestThe strongest model available: unknown ground, or large work that needs care
    on Nov 3, 2026
  2. mitodrummer commented on Nov 4, 2026

    @mitodrummer
    MemberAuthor

    Residual from BCLI T5 (PR #2960, arch's C1): wire output::record_box_id (crates/minimal/src/cmd/output.rs ~315, no caller yet) from this task's box resolution, so the root cmd span's box_id (set Empty at cmd/mod.rs ~56) holds the resolved box id, never the text the user typed. Note that ROOT_SPAN is one process-wide slot (output.rs ~303). Recording from concurrent runs in one process, as tests do, would overwrite each other.

  3. minimal-foundry commented on Nov 4, 2026

    @minimal-foundry
    Contributor

    Done. #2987 merged.

    branch agent/2895-resolve-a-box-address-across-the-local-hosts · epic #2879 · PR #2987

    round outcome job
    1 pushed d04a4e8b
    2 pushed 637d4925
    3 pushed 59a13420
    4 pushed 0fd54204
    5 pushed ab0945f3
    5 pushed c9aeba80
    6 pushed aabe58f5

    Updated 2026-11-04T20:13:42.793Z.

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:strongestThe strongest model available: unknown ground, or large work that needs caresize:L500 to 900 net lines; one PR, and the ceiling

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      0