8000 T59 — Sign store handles under the client's one local key from a host-keychain ClientKeyStore · Issue #2539 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T59 — Sign store handles under the client's one local key from a host-keychain ClientKeyStore #2539

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Conditions closed L needs care strongest an agent 500 (260 code, 240 tests)

Two box creations register one client key with the proxy, and a key the proxy refuses is replaced and registered before the mint.

Covers:

  • BEP-063

Layers:

Waits on:

Implements the filed residual #2524; those issues close with this task and do not block it.

Plan block
### T59 — Sign store handles under the client's one local key from a host-keychain ClientKeyStore
  slice: S9
  kind: task
  covers: BEP-063
  size: L
  est: 260 code, 240 tests
  executor: agent
  difficulty: needs care
  model: strongest
  diagnostics: `min box spec` names the client key's identifier under the grant, and the proxy log records one registration per client, not one per box
  observability: one info line at first use naming the registered key identifier
  layers:
    - key-store:
      - crates/minimal/src/mint.rs: a host-keychain `ClientKeyStore` backend behind the existing key-store seam holds the client's one local signing key (macOS Keychain; the Linux host behind the same seam), and the `Interim:` notes and `expect(dead_code)` reasons that name #2524 go
      - crates/minimal/src/cmd/boxes/create.rs: `mint_grants` reads `local_client_key` over that store and signs the store handle and the grant registrations with it, never `ClientKey::generate()` per box
      - crates/bep/src/control.rs: the module doc stops naming #2524; the registry keeps one key per client
      test: cargo nextest run -p minimal two_creations_register_one_client_key
      test: cargo nextest run -p minimal a_refused_client_key_is_replaced_and_registered_before_the_mint
  produces: none
  consumes: none
  proof: Two box creations register one client key with the proxy, and a key the proxy refuses is replaced and registered before the mint.
  depends on:
    - blocked by T27
    - assumes OQ3

Generated by Claude Code

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 Oct 25, 2026
  2. minimal-foundry commented on Oct 25, 2026

    @minimal-foundry
    Contributor

    Done. #2557 merged.

    branch agent/2539-sign-store-handles-under-the-client-s-one-local · epic #1501 · PR #2557

    round outcome job
    1 pushed e072e19a
    2 pushed 42866ea1

    Updated 2026-10-25T16:02:15.468Z.

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