Build Log
Mission Foundry — Milestone 1
July 27, 2026
Missions now go through a real, stewarded shaping process — Spark, structured AI role findings, a synthesized Blueprint, a server-enforced Definition Gate, and seed Workpieces — before they can go live.
Timeline
What shipped
Mission lifecycle widened from 4 states (draft/active/paused/archived) to 8 (added spark/shaping/ready/achieved/retired), additive-only, zero backfill needed for the 6 real existing Mission rows
missions.origin column (workbench | commons_propose) — only 'workbench' ever written this milestone
3 new tables: mission_blueprints (one canonical synthesized doc per Mission), mission_shaping_findings (structured Fact/Evidence/Assumption/Question/Risk/Decision/Contradiction/Proposed-Workpiece findings from 7 AI roles), mission_definition_gate_results (audit trail of Gate evaluations — never the enforcement mechanism itself)
Mission Pipeline page (/missions) — rewritten from a flat list into a lifecycle-column board
Spark capture (/missions/new) — one required question, everything else optional
Mission Shaping workspace (/missions/[missionId]/shape) — 7 AI roles (steward, researcher, community_voice, skeptic, community_developer, builder_operator, trust_safety), real Claude calls with 3-layer parse/repair/fallback, live Blueprint synthesis, seed Workpiece generation, Definition Gate panel, Activate Privately
Mission Definition Gate — 6 server-enforced checks (legible/grounded/bounded/stewarded/actionable/observable), recomputed fresh on every transition attempt, never a cached boolean
First-ever Anthropic API call in Alloy (lib/mission-shaping-engine.ts) — AI Route Gate applied for real
End-to-end activation rehearsal script (scripts/rehearse-mission-foundry-activation.mjs) proving Spark->Shape->Accept->Seed->Gate->Activate against the real live database