ledger
1 file changed,
+3
−0
.superpowers/sdd/2026-08-23-idear/progress.md+3 −0
diff --git a/.superpowers/sdd/2026-08-23-idear/progress.md b/.superpowers/sdd/2026-08-23-idear/progress.md| index 955bf71..914c286 100644 |
| --- a/.superpowers/sdd/2026-08-23-idear/progress.md |
| +++ b/.superpowers/sdd/2026-08-23-idear/progress.md |
| @@ -88,3 +88,6 @@ Task 4: fix round 1/5 (CRITICAL + 2 Important + 4 Minor all addressed; commits 7 |
| Task 4: minor (deferred): internal/ideartest MemberAs seeds a raw Subject, bypassing normalizeSubject — deliberate, documented, test-only. Worth a cross-reference if a future test relies on seeded-vs-written Subject equality. Final review to triage. |
| Task 4: complete (commits 5707e39..ff6fafa, review clean) |
| Task 5: dispatched (opus), BASE ff6fafa — HTTP handlers + the reconciliation route |
| +Task 5: implemented DONE_WITH_CONCERNS (613642e). Controller re-verified: suite green, -race green. |
| +Task 5: Ruling (spec self-contradiction on NotFound): REAFFIRMED — the hook lives on idear.Config only. The spec's §5 snippet passes NotFound to NewHandlers, but Require is a Roster method and cannot read a HandlerConfig; two hooks would mean two 404 renderers in one mount, which is the exact oracle §5 exists to prevent. This was already ruled in the plan's preamble before Task 1; the implementer was right to re-flag it rather than assume. Cost if wrong: a field move. |
| +Task 5: noted — tests were written AFTER the handlers, not red-first. The implementer disclosed it rather than glossing. Its argument (a suite against an absent handlers.go fails to compile, proving nothing) is only half right — stubs would have allowed red-first — so the mutation battery is now the only evidence coverage is real, and the reviewer is being told to verify it rather than accept the table. |