carlos / platform Public
A8-1 is only partially closed; A8-2 remains blocked. Four new P2 findings:
- P2 — A roster-refresh wait does not settle box-side requests. Spec:310
A relocation starter can pass eligibility and roster checks, then pause before writing its claim. Worker.Start performs census and admission work between those checks and the start CAS; refreshing the roster elsewhere does not invalidate that request.
Failure scenario: the old box is drained, the interval expires, and the claim scan passes. The paused starter then writes an inbound relocation, repopulating the box after settlement. Require acknowledged quiescence of outstanding starters, or an admission mechanism that prevents their late writes. Elapsed time alone is insufficient.
- P2 — The normal activator wake refuses a never-woken claim. Spec:314
CompleteCreate sets op.exec but leaves Holder.Session == 0 and Holder.WriterBox == "". For a serving claim, doClaimWake replaces the executor with Holder.WriterBox and refuses unless it matches the local box—before writer admission.
Failure scenario: every platform wake of this freshly created state fails, so migration still cannot relocate it. Make first-wake admission support an explicit prerequisite or change, and rehearse from an actual completed-create claim. The current path fails closed; it does not provide the proposed workaround.
- P2 — The pre-migration barrier requires migration to have already finished. Spec:358
The barrier requires no claim to name the box, including op.exec, before waking and relocating its existing instances.
Failure scenario: one ordinary serving instance keeps the barrier false indefinitely; the relocation that would remove it is the next, unreachable step. Separate settling inbound operations from the final emptiness check. Existing residents must be admitted to the migration worklist.
- P2 — “No box references in any role” can never clear after successful relocation. Spec:302
Claims retain historical box references. Creation adds the executor to Touched.Boxes; relocation adds the destination without removing the source. Admission history also retains earlier writers.
Failure scenario: all instances relocate successfully and local cleanup finishes, but their claims still name the old box, permanently blocking cut-over and termination. Classify references by whether they can authorize future execution or require outstanding cleanup; preserve historical references without treating them as destinations. The coverage test should enforce that classification.
Reviewed platform 83de75a7 and flagship tofu 7c99ff8f. No files changed; no builds, tests, or infrastructure commands run.
---
FIRST PROMPT: Review spec 2 round 9 at the pinned HEAD against flagship tofu, read-only.
WHAT: Check both prior findings and the revised settlement and wake rules.
STATUS: Complete; four P2 findings.
NEEDED: Nothing.
RECOMMENDED: Resolve the settlement protocol and first-wake prerequisite before planning.
SESSION: Safe to close; nothing modified or left running.
Verdict: not ready for a plan.