carlos / platform Public
Reviewed d0da2fd7.
| Round 13 finding | Disposition | Assessment | |---|---|---| | Transient lease failure permanently stalls relocation | Resolved | live joins the lost controller, retries cleanup and permits a fresh controller without restarting the agent. | | Generic ErrState discards cleanup retry state | Partly | recordIsMine, line 9684 accepts parseable records missing enrollment or incarnation, then classifies them as another binding. Hostexec rejects those records, but finish forgets their participation. Use hostexec’s validated reader and test missing identity fields, restart, repair and cleanup retry. |
- P2 — Tasks 1/5: the source manifest’s sequence is incorrectly required for P’s prepared manifest.
ToInstalled, line 2164 requires P’s files sequence to equal the source pin’s. CopyPinnedManifest preserves the source sequence.
Claim rev 6.30 §C3 and moves rev 7.22 §7.6 instead require a create-only prepared manifest at sequence 0, bound to the location, P, operation and installation stamp. Its first admitted publisher starts at sequence 1. For a source at sequence 7, the proposed transition rejects a conforming prepared manifest at sequence 0.
Fix: separate source revision provenance from the prepared manifest’s identity and sequence. Assign the prepared-baseline integration explicitly, including exact-version consumption. Test source sequence 7 → prepared sequence 0 → first session publication 1.
- P2 — Task 7, Step 4: the lifecycle property cannot exercise recovery after a recorded local installation. Stage B lacks that recovery contract.
The property’s claim transitions, lines 9084–9104 only start and complete operations; it never reaches installation or probing.
The missing sequence matters: local installation is journaled → lease is lost → scoped cleanup retires unopened P’s local installation → controller recovers. The claim still contains local_install, so Participant.Step, line 7400 skips installation and enters probing. No Stage B obligation reconciles that receipt with the retired files, environment and timers.
Fix: require verification and recovery before first admission: preserve a verified complete installation or restore it under install_stamp while P remains unopened. Extend the property with this sequence and stateful installation effects. Name a production integration test, plus the counterpart proving an already-opened P is never reinstalled.
- P2 — Task 8c / R1: ordinary source wakes have no integration contract.
R1, line 250 assigns runtime dispatch only for target probes. Claim §4 and Stage A permit source admissions during starting and releasing, but 6b’s runtime.Prerequisites rejects every non-serving claim (upstream plan lines 14396–14398).
Implementing R1 as written therefore leaves a sleeping or crashed source unable to wake during those permitted phases.
Fix: extend R1 and the Stage B checklist with source cold-admission dispatch. Test successful source wakes in both phases, refusal after admission-fence closure or authority loss, and continued refusal of ordinary target wakes.
I accept rulings 1–24 as decisions. Ruling 13’s assertion that the installation already satisfies moves rev 7.22 needs correction under finding 1.
All 12 embedded patches pass git apply --check; all 42 complete Go blocks parse with gofmt. Compilation and tests were not reproduced in this read-only session.
---
FIRST PROMPT: “Follow the review brief docs/superpowers/plans/CODEX-PLAN-REGION-HA-1BN-BRIEF-14.md. Review the plan at commit d0da2fd7.”
WHAT: Review Stage A readiness and Stage B contracts.
STATUS: Three new P2 findings; round 13 finding 2 remains partly unresolved.
NEEDED: Nothing.
RECOMMENDED: Fix the findings and extend the lifecycle tests before building.
SESSION: Safe to close — no files changed or processes left running.
Verdict: not ready.