| 1 | # Review brief: GeoIP implementation plan 1 |
| 2 | |
| 3 | You are GPT-6 reviewing an implementation plan independently of its author. |
| 4 | Your output is a findings report, not an edit. Do not modify any file. |
| 5 | |
| 6 | ## What to read |
| 7 | |
| 8 | 1. The plan: `docs/superpowers/plans/2026-10-06-platform-geoip-plan1.md`. |
| 9 | 2. The spec it implements (rev 6, reviewed over five rounds): |
| 10 | `docs/superpowers/specs/2026-10-06-platform-geoip-design.md`. The spec is |
| 11 | settled; report where the PLAN fails the spec, not where you would |
| 12 | change the spec. |
| 13 | 3. `docs/superpowers/plans/2026-10-06-platform-geoip-FACTS.md` (measured). |
| 14 | 4. Every file the plan names, in this worktree, at the lines it cites. |
| 15 | |
| 16 | ## What matters most |
| 17 | |
| 18 | Each task is handed to a separate implementer who reads only that task. |
| 19 | |
| 20 | - **Code that will not compile or will not behave as the plan claims.** |
| 21 | Wrong signatures, missing imports, fields or helpers that do not exist, |
| 22 | a test that would pass for the wrong reason or could never fail, a test |
| 23 | that cannot fail before the implementation step. |
| 24 | - **Claims about existing code** (line numbers, helper names, behaviour) |
| 25 | that are wrong. Check each. |
| 26 | - **Spec requirements with no task**, or a task that implements them |
| 27 | differently from the spec (security-relevant ones first: the strip, |
| 28 | adoption trust, the door, rejected hops, the tunnel marks, D1 expiry, |
| 29 | the publish slot, the verdict). |
| 30 | - **Ordering:** a task that depends on something a later task produces. |
| 31 | - **Concurrency and lifecycle bugs** in the code the plan supplies |
| 32 | (geoMirror, geoipPublisher, Swappable). |
| 33 | |
| 34 | ## Output |
| 35 | |
| 36 | A numbered list, most severe first: severity (P1 = would ship a bug or |
| 37 | fail to build, P2 = an implementer would likely get it wrong, P3 = |
| 38 | clarity), task and step, evidence with file:line, and a concrete fix. |
| 39 | End with a one-line verdict: ready to build, or revise. |
| 40 | |