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.