feat(api): assumption & constraint log v0 — first-class assumptions cited in derivations
What
Extend decision & forecast memory (#1059, 0.5) with first-class assumption and constraint records, linkable to tasks/milestones/forecasts, so derivations can cite them:
"P80 is Oct 22, assuming vendor delivery by the 3rd."
Why
Assumption-aware citations deepen the cite verb of the AI contract — a forecast that names its assumptions is auditable in a way a bare number never is. The PO release (0.7) is where assumptions live organizationally: release plans are made of them.
v0 scope
- Assumption/constraint CRUD (statement, owner, status: open/validated/invalidated, review date)
- Links to tasks, milestones, and baselines
- Citation hook into the provenance graph (#1058 (closed)) so derivations can reference them
- Invalidating an assumption flags the forecasts that cited it
Enterprise keeps cross-program assumption governance; this is the single-project/team layer.