8000 T126 — Keep a host-address grant box's minted id across a VM host daemon restart, so its destroy revokes it · Issue #3049 · gominimal/minimal · GitHub
[go: up one dir, main page]

Skip to content

T126 — Keep a host-address grant box's minted id across a VM host daemon restart, so its destroy revokes it #3049

Closed

Description

@norrietaylor

Task

slice size difficulty model who estimated lines
Host-address boxes reach GitHub M needs care standard an agent 320 (100 code, 220 tests)

A host-address grant box destroyed after the VM host daemon restarted has its id revoked at the proxy, and min box audit shows the revocation.

Layers:

  • persist:
    • crates/minvmd/src/box_registry.rs: HostIpIds gains credentialed, the minted ids admitted with a credentialed lane, in place of stopped_credentialed, and a destroy revokes an id in it; ids and credentialed persist to a new HOST_IP_IDS_FILE beside REGISTRY_FILE after each change through write_registry_file, and persisting_to reloads them, so a reloaded id is held for the collision check and revoked at its box's destroy; an unusable file is set aside and reloads no id; reconcile_host_ip_boxes also revokes each id in credentialed whose box the guest list no longer holds, and drops it from the set, so a stopped grant box that the VM destroys with no retire from a client revokes its id
    • cargo nextest run -p minvmd restarted_registry_revokes_a_destroyed_grant_box_id
    • cargo nextest run -p minvmd restarted_registry_never_mints_an_id_it_minted_before
    • cargo nextest run -p minvmd a_stopped_grant_box_the_vm_destroyed_revokes_its_id

Waits on:

Plan block
### T126 — Keep a host-address grant box's minted id across a VM host daemon restart, so its destroy revokes it
  slice: S17
  kind: task
  covers: BEP-043
  size: M
  est: 100 code, 220 tests
  executor: agent
  difficulty: needs care
  model: standard
  diagnostics: `min box audit <box>` for a `host_ip` grant box destroyed after a VM host daemon restart shows the revocation of its id, as it does with no restart between; the ids sit in `box-host-ip-ids.json` beside `box-registry.json` in the VM host daemon's state dir
  observability: the existing `bep-revocation` thread's warning names the box id and the step that failed; a failed write of the id file is a warn line naming the path, as a failed write of the held names is; the reload logs one info line with the count of minted and credentialed ids it read
  layers:
    - persist:
      - crates/minvmd/src/box_registry.rs: `HostIpIds` gains `credentialed`, the minted ids admitted with a credentialed lane, in place of `stopped_credentialed`, and a destroy revokes an id in it; `ids` and `credentialed` persist to a new `HOST_IP_IDS_FILE` beside `REGISTRY_FILE` after each change through `write_registry_file`, and `persisting_to` reloads them, so a reloaded id is held for the collision check and revoked at its box's destroy; an unusable file is set aside and reloads no id; `reconcile_host_ip_boxes` also revokes each id in `credentialed` whose box the guest list no longer holds, and drops it from the set, so a stopped grant box that the VM destroys with no retire from a client revokes its id
      test: cargo nextest run -p minvmd restarted_registry_revokes_a_destroyed_grant_box_id
      test: cargo nextest run -p minvmd restarted_registry_never_mints_an_id_it_minted_before
      test: cargo nextest run -p minvmd a_stopped_grant_box_the_vm_destroyed_revokes_its_id
  produces: none
  consumes:
    - the revocation of an ended host-address grant box
  proof: A host-address grant box destroyed after the VM host daemon restarted has its id revoked at the proxy, and `min box audit` shows the revocation.
  depends on:
    - blocked by #3032

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

    @minimal-foundry
    Contributor

    Done. #3064 merged.

    branch agent/3049-keep-a-host-address-grant-box-s-minted-id-across · epic #1501 · PR #3064

    round outcome job
    1 pushed dd733f7a

    Updated 2026-11-05T21:57:53.981Z.

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