design-fleet-internal-engines
Answers #335: a doc engine's routes are reachable from the internet. This branch carries the approved design and its first plan, a simulation; no production code yet.
Spec (docs/superpowers/specs/2026-10-21-fleet-internal-engines-design.md, rev 14, approved 2026-10-21): a route whose release declares doc_engine is refused to the public on every box; granted apps call it through a per-instance socket (or the edge door), relayed over a backhaul hop that now signs the caller. Safety rests on invariant I1 (a declaring build starts only after the edge has fenced its group internal), enforced at the launch gate, an operator-only carlos route --public, and an enforced dedicated engine box. Rulings R1-R5 in §2.1; 13 Astra review rounds, findings committed beside the spec.
Plan 1 (docs/superpowers/plans/2026-10-21-engines-1-simulation.md): internal/sim/engines, a test-only seeded model with 40 named rules, invariants INV-P/I1/AV/G/ID/ARM, one witness per review finding, and a hostlife-style mutate.sh. 3000-seed sweep: 36 caught, 4 expected-miss (each caught only with the rule that shadows it), 0 missed, unmutated clean (spec §8). The model found spec gaps, now amended in the spec as "(sim, plan 1)": a new unclassified group must be fenced before its first launch; launches and --public share a per-group lock; grant records go stale 10 minutes after signing (Paul's R5).
Next: Plans 2-5 (the internal mark; engine names and grants; the call path; docs and rollout).
🤖 Generated with Claude Code
Spec for #335 (rev 14, awaiting Paul's approval): doc-engine routes are refused to the public on every box; granted apps call an engine through a per-instance socket or the edge door, relayed over a caller-signed backhaul hop. Safety rests on invariant I1 at the launch gate and an enforced dedicated engine box.
Discussions 1 open
Tasks 6/7 done
- Recon: edge, instance sockets, caps/grants, #328 shape Done
- Draft spec (docs/superpowers/specs) Done
- Astra review rounds until accept Done
- Paul's rulings on open questions Done
- Paul approves the spec Done
Activity
- claude agent, operated by paul@keymail.dev pushed 2c51571db census: gofmt the design-fleet-internal-engines loader block
- claude agent, operated by paul@keymail.dev pushed 10054db09 census: design-fleet-internal-engines ruled (census-ruling-design-fleet-internal-engines, #280)
- claude agent, operated by paul@keymail.dev pushed 26e3c7303 census: overlay design-fleet-internal-engines (PROPOSED, #280)
- claude agent, operated by paul@keymail.dev pushed bb1bf4081 Merge main into design-fleet-internal-engines
- claude agent, operated by paul@keymail.dev opened Fleet-internal engines (#335): spec rev 14 + Plan 1 simulation
- task updated: Plan 1: simulation (built; final review clean at 12aa9c34)
- claude agent, operated by paul@keymail.dev pushed 12aa9c34c enginesim: spec edits for the final review and the new 3000-seed sweep (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed a337fb28c enginesim: clean baseline env, immediate listener checks, completed-transition coverage (#335 plan 1, final review)
- claude agent, operated by paul@keymail.dev pushed 04637acc9 enginesim: the R5 freshness bound; expiry, staleness and revoke age apart; residuals from independent facts (#335 plan 1, final review)
- claude agent, operated by paul@keymail.dev pushed 1d72325c2 enginesim: a new row's NULL is never fenced; launches honour --public's group lock (#335 plan 1, final review)
- claude agent, operated by paul@keymail.dev pushed 8f3180b55 enginesim: mutation harness and the first 3000-seed sweep (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 4648305e0 enginesim: an expiry keeps a revoke's age; a residual covers only its own breaches (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 3a2169f43 enginesim: calls, identity, grants and arming (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed b2f3a4258 enginesim: the dedicated engine box and ingress (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed c9c3f4e58 enginesim: staged classification by app; --revoke runs the barrier (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 8c7d684fd enginesim: --public step 3 is its own rule; --grant refused on an unresolved minted row (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 34c24ae87 enginesim: classification, minted groups, the operator clear (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 797bda096 enginesim: I1 is the fence condition, checked at every start (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 68b2b65c2 enginesim: the fence and the launch gate, I1 (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed a54c5821b enginesim: exact chaos/calm split and list-only mode (#335 plan 1)
- claude agent, operated by paul@keymail.dev pushed 95bf73085 enginesim: the world, step loop and sweep (#335 plan 1)
- claude agent, operated by paul@keymail.dev added task Plan 1: simulation (built; final review clean at 12aa9c34)
- claude agent, operated by paul@keymail.dev added task Plans 2-5: write after Plan 1's sweep is green
- claude agent, operated by paul@keymail.dev pushed b5ccc5a5e plan: fleet-internal engines plan 1, the simulation (#335); spec rev 14 approved
- claude agent, operated by paul@keymail.dev pushed a4a0853a2 Merge main into design-fleet-internal-engines
- task updated: Paul approves the spec
- task updated: Astra review rounds until accept
- claude agent, operated by paul@keymail.dev pushed 24ac41ac0 spec: fleet-internal engines rev 14 for Paul's read (Astra R13 applied per R4)
- claude agent, operated by paul@keymail.dev pushed ee51da7f8 spec: fleet-internal engines rev 13 (Astra R12; Paul's rulings R3 dedicated engine box, R4 review end)
- claude agent, operated by paul@keymail.dev pushed f18348933 Merge main into design-fleet-internal-engines