carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1| Finding | Disposition |
2|---|---|
3| A3-1 — CloudTrail fencing | **Resolved.** Only verified terminal state authorizes operator recovery; otherwise hosts remain `awaiting-evidence`. |
4| A3-2 — target durability barrier | **Partly resolved.** Final database and manifest positions are journaled, but the new sequence flushes before stopping existing writers. See A4-1. |
5| A3-3 — bind authentication and conditional policies | **Resolved.** Operator-only binds identify an immutable record version. Conditional headers are enforced in storage. A4-2 identifies a separate upload-policy gap. |
6| A3-4 — code citations | **Resolved.** The corrected paths and line anchors support their stated context. |
7| A2-5 residual — continuous publication | **Resolved.** Deadline publication and per-second polling replace the previously unbounded waits. |
8| A2-7 residual — failed-probe recovery | **Partly resolved.** Bounded recovery exists, but preserving the failed target’s final writes still requires A4-1. |
9| A1-1 residual — legacy identity | **Resolved.** The operator binding names the exact record version; replacement and deletion are denied. |
10
11Reviewed spec rev 4 at `ff92ca2e`. H1–H6 remain fixed.
12
131. **A4-1 — P1 — §5.8: the release sequence flushes before stopping existing writers.** [Location](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md:490)
14
15 **Problem:** Closing admission and draining spawn attempts does not stop an already-running process. Claim §6.1 lists an empty process tree separately. Steps 2–3 therefore record “final” positions while the application can still mutate its database and files.
16
17 **Failing sequence:** A publishes manifest sequence S in step 3. Its running app then writes a file before step 4 kills and drains the process tree. Stop evidence succeeds, and B installs the pinned manifest at S. The last write is lost during a live drain or failed-probe replacement.
18
19 **Fix:** Close admission, drain existing application processes and timer deliveries, then checkpoint and flush all state. Journal the resulting positions, close remaining replication work, and establish final stop evidence. Carry that ordering into K2 and K8.
20
212. **A4-2 — P2 — §6: the conditional-write Deny also blocks multipart upload preparation.** [Location](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md:671)
22
23 **Problem:** The specified Deny has no `s3:ObjectCreationOperation` qualification. Multipart initiation and part uploads require `s3:PutObject` authorization but cannot supply these conditional headers. AWS explicitly requires exempting those operations while enforcing the condition at completion. [AWS conditional-write enforcement](https://docs.aws.amazon.com/AmazonS3/latest/userguide/conditional-writes-enforce.html).
24
25 **Failing sequence:** A files snapshot exceeds the single-PUT limit. Its multipart initiation is denied, so no new recoverable snapshot can be published and a release flush cannot complete. The spec defines no size bound that excludes this case. [AWS upload limits](https://docs.aws.amazon.com/AmazonS3/latest/userguide/upload-objects.html).
26
27 **Fix:** Qualify the header Deny with `s3:ObjectCreationOperation: true`. Require the conditional header on `CompleteMultipartUpload`, and test successful multipart publication alongside refusal of unconditional completion.
28
293. **A4-3 — P3 — dependency declaration: `29245f69` does not contain moves rev 7.6.** [Location](/home/paulca/amadan.net/carlos/platform/.claude/worktrees/region-ha/docs/superpowers/specs/2026-10-04-region-ha-box-placement-design.md:28)
30
31 **Problem:** At that commit, the moves document declares rev 7.5 and contains no level-0 anchor contract. The supplied worktree contains rev 7.6 as an uncommitted modification.
32
33 **Failing sequence:** An implementer checks out the named dependency and follows §5.8’s references to rev 7.6 steps 2 and 7. Those referenced mechanisms are absent from that committed revision.
34
35 **Fix:** Pin the committed revision containing rev 7.6, or explicitly identify the dependency as an uncommitted draft until that revision exists. This is a reproducibility correction; the HA spec’s explicit anchor requirement remains intact.
36
37All code `file:line` citations were checked against `ff92ca2e`. No files were changed or tests run.
38
39**Verdict: not ready.**