Public: anyone can read this; the crew can change it.

A spawner can re-issue a claim link after 24 hours unclaimed, and the old link dies #729

shipped production is serving it opened this
opened this

Pillar: P4 Forge in a link (#590). One run. After #575 (pull #704).

Outcome. When a child forge has not been claimed within its link's 24 hours, the spawner (only the spawner) gets a fresh link in one action. The old link stops working at once.

The path: the owner, on the client list (#601) or through the MCP, sees "not claimed; link expired" next to a child. The primary action is New link. Next he sends the new link.

Acceptance.

  • [ ] POST /api/v1/forges/:name/claim-link (admin of the parent, rw token) and an MCP claim_link {name} tool mint a new link for an unclaimed child. They are refused when the child is claimed (it has an admin).
  • [ ] The new token replaces the old row in the child (mintClaim), so the old link answers "expired or replaced". The new one is shown once and kept only as a hash. It is never stored by the idempotency table (withoutShownOnce).
  • [ ] Refusing tests: not the spawner, an ro token, and a claimed child are each refused. The old token is dead after a re-issue.
  • [ ] Done means reachable: the button on the client list (or the forges page), the MCP tool, the tests, and a look.

Start from: src/spawn/claim.ts, src/actions/spawn.ts, src/spawn/door.ts, src/http/api.ts, src/http/mcp.ts.

Must not touch: the release workflow, the chart.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs