carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

Reviewed ee6e35f3.

| Round 2 finding or partial | Disposition | Assessment | |---|---|---| | R1 #8: published-marker crash boundary | Resolved | openYield stops after marker publication and before replication opens; the test crashes there in both shapes. | | R2 #1: acknowledgement before failover pin | Resolved for the reported defect | Initial failover now waits for acknowledgement. The guard’s wider application creates the new finding below. | | R2 #2: adverse-volume execution recovery | Resolved | Both shapes terminate the current executor and reach serving while its local chore remains open, before operator cleanup. |

  1. P2 — Task 5C, Step 1: the acknowledgement guard is stronger than 1b-next’s.

The new guard treats every operation with no pin and no release as awaiting PinFailover. That includes converted moves and nested failovers after replacing an opened target.

In 1b-next rev 19, PinFailover requires acknowledgements when leaving starting. However, Worker.pinning selects and journals the pin before checking acknowledgements for ToInstalling. Converted moves and nested replacements enter pinning directly.

Hold their target controller unavailable, let the fence delay expire, then land a newer manifest: production can already have selected the older pin; the model waits and selects the newer one. This excludes a production interleaving from the model.

Fix: represent the original PinFailover barrier explicitly, or preserve its starting phase. Apply the pre-pin barrier only there. Add a converted-move or nested-replacement test demonstrating that pinning proceeds before acknowledgement, while retaining the initial-failover test.

  1. P3 — Task 5C, Step 1: the claimed 1b-next completion cleanup does not exist.

The cleanup explanation says ruling 21 makes CompleteRelocation drop the retained manifest. In 1b-next rev 19, completion queues local chores and abandoned prepared generations; it neither deletes the retained control object nor queues this additional pinned-generation park.

This is the requested discrepancy against 1b-next, but it does not establish ownerless residue. Claim §6.2a assigns obsolete files to the at-rest sweep; 1b-next ruling 21 leaves retained control objects to the storage follow-up.

Fix: distinguish those two cleanup paths and describe the model’s immediate park as an abstraction, rather than an implemented CompleteRelocation guarantee.

Sequential patch contexts and reconstructed Go syntax were checked in memory. Compilation, runtime tests and mutation results were not independently reproduced. No files changed or sweeps ran.

---

FIRST PROMPT: “Follow the review brief docs/superpowers/plans/CODEX-PLAN-REGION-HA-TWO-BOX-BRIEF-3.md. Review the plan at commit ee6e35f3.”

WHAT: Review prior dispositions and report new findings.

STATUS: Three prior items resolved; one new P2 and one P3.

NEEDED: Nothing for this review.

RECOMMENDED: Narrow the acknowledgement guard and correct the cleanup mapping.

SESSION: Safe to close — no changes or processes left running.

Verdict: not ready.