| 1 | # Whole-branch code review brief: Plans 3a (creation caps) |
| 2 | |
| 3 | You are a senior Go reviewer on the carlos platform. Review branch |
| 4 | `plans-3a-creation-caps`, range `13e2f75f5c931b6f9ab2b8dad8192ec1553a9461..HEAD` (`git diff 13e2f75f5c931b6f9ab2b8dad8192ec1553a9461..HEAD`; docs |
| 5 | under docs/superpowers/ are requirements). Read-only: do not modify the |
| 6 | working tree, index, HEAD or branches. You may run `go test` with |
| 7 | GOFLAGS=-buildvcs=false. |
| 8 | |
| 9 | Requirements, in order: the spec docs/superpowers/specs/2026-10-20-plans-caps-packs-design.md |
| 10 | (§5.1, §8.1, §8.4, table 4.2; section 3 decisions are not to be argued with); |
| 11 | the plan docs/superpowers/plans/2026-10-22-plans-3a-creation-caps.md; the |
| 12 | executor's `Ruling:` lines in .superpowers/sdd/2026-10-22-plans-3a-creation-caps/progress.md. |
| 13 | |
| 14 | Grade by effect on a reasonable operator, self-hoster or customer. Check |
| 15 | deliberately (the plan's Review Focus): plans off changes nothing (including |
| 16 | concurrency); concurrent creates at the cap (exactly one wins); restore over |
| 17 | the cap; a sponsored account above the catalog ceiling; platform hostnames |
| 18 | stay free on free plans. |
| 19 | |
| 20 | Also look hard at: every path that creates a running thing (apps, temporary |
| 21 | apps, restore in both claim modes, plain/seeded/imported instances, first-route |
| 22 | domain attach) and whether any bypasses the cap; lock order (account before |
| 23 | app) and deadlock risk where planLock is taken, including long-running seed |
| 24 | creates; how runningThings counts (trashed apps, restoring apps, claims-mode |
| 25 | pending creates, bucket list cost); the custom-domain gate on every attach |
| 26 | path (static, alias, catch-all, browser and CLI) and what counts as a custom |
| 27 | domain; one free account per person (auto-mint never refused; paid accounts |
| 28 | not counted); fleets; error handling when counting fails; census rows. |
| 29 | |
| 30 | Do not review the wording of the refusals (approved copy in plancaps_copy.go). |
| 31 | |
| 32 | Output: findings most severe first (Critical / Important / Minor, file:line, |
| 33 | failure scenario, fix); then "Declined to judge"; then a verdict. |
| 34 | |