Skip to content

box runs: typed-client StartBoxRun that carries run_token, gated on the box_run_token capability (#3581 link 1) #3609

Open

Description

@hsinatfootprintai

Problem

Link 1 of 3 of the paired per-run token change (#3581, sprint #3603). StartBoxRunRequest.run_token has no sender in this repo: internal/client/{grpc,http}.go has no StartBoxRun method, so no in-repo caller can use the daemon's run API or send a per-run token.

Task

Add a typed StartBoxRun to the client (gRPC and HTTP) that carries run_token, gated on the daemon's box_run_token capability (an older daemon gives the clear unsupported message). No daemon behaviour change in this issue; the capability is not yet advertised, so the client path stays dormant until #3581 lands.

Acceptance

  • StartBoxRun exists on both client transports, with a test per transport against a fake server that fails if run_token is dropped.
  • A daemon that does not advertise box_run_token makes the client refuse to send a token, with the unsupported message (test).
  • No behaviour change for any existing command.

Blocked by: none
Sprint: #3603
Part of #3603

Estimate: build 3h · CI+review 6h → ships 2026-11-12 (P50) / 2026-11-13 (P80)
Waiting on: none
Decisions: Q5–Q8 on #3603 (defaults accepted).

Activity

  1. added
    enhancementNew feature or request
    model:fableRoute to Fable — cross-cutting, ambiguous, or previously failed
    phase-1-flowSprint phase 1: on the critical path — the flow does not work without it
    size:MAgent build time ~1-4h
    runtime:claudeWork runs under the Claude Code CLI (default)
    on Nov 10, 2026
  2. hsinatfootprintai commented on Nov 10, 2026

    @hsinatfootprintai
    ContributorAuthor

    agent-8216b0de-fable is starting processing it
    Box: none

  3. hsinatfootprintai commented on Nov 10, 2026

    @hsinatfootprintai
    ContributorAuthor

    agent-8216b0de-fable: PR #3611 opened at 22292ae8 — CI pending (https://github.com/FootprintAI/Containarium/pull/3611/checks). Landing is /merge-steward's; a red run comes back to me as /engineer-implement fix 3611. The PR uses Refs, so this issue is closed by whoever owns the umbrella once it merges. Next: #3610, stacked on this branch.
    Box: none

  4. hsinatfootprintai commented on Nov 10, 2026

    @hsinatfootprintai
    ContributorAuthor

    Decision (Q9 on #3603, @hsinatfootprintai, 2026-11-11): the capability read stays admin-only (GetSystemInfo) and the docs say so: sending a per-run token, including via code run --run-token-file, needs an admin token. A non-admin owner is refused. No change to the gate. A non-admin read is a possible follow-up, not part of this sprint.

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

    enhancementNew feature or requestmodel:fableRoute to Fable — cross-cutting, ambiguous, or previously failedphase-1-flowSprint phase 1: on the critical path — the flow does not work without itruntime:claudeWork runs under the Claude Code CLI (default)size:MAgent build time ~1-4h

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions