rastrillo / idear Public

ledger

Paul Campbell pushed by paul@keymail.dev 1a8ce051bdc8627eda1676e1b3852c67721391bb parent 613642e
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.