ForgeKitFORGEKIT

Build Log

Mission Shaping becomes a live Blueprint

July 27, 2026

The Council rewrote from 7 separate role calls into one batched pass that authors a real, regenerating Mission Blueprint — plus a redesigned Spark capture form.

AlloyMission FoundryAIUI
3
schema migrations (council turns, then blueprint fields added, then lock dropped/approval added)
2
bugs caught via direct DB verification (stale db-push success text, silently-truncated AI response)
7
Council personas, one batched call instead of seven

Timeline

Start
Capture-a-Spark form redesign
Textareas, background image, layout polish
+1hr
Council rework begins
7 per-role calls -> 1 batched call, all personas at once
+2hr
Findings-queue model replaced
Zeb: findings only ever accumulated, no way to revise a prior round
+2.5hr
Per-field lock built then removed
Zeb caught the incoherence trap same session it was built
+3hr
Live-verified against real Anthropic calls
Found and fixed a real token-truncation bug, two stale Gate checks
End
MedinaCHF Mission reaches 'ready'
Blocked on genuinely-new Mission->Product->Commons scope, deferred cleanly

What shipped

Redesigned Capture-a-Spark form: larger non-clipping textareas, scrollbar-hidden treatment, wider layout, background art, reactive CTA styling

Rebuilt Mission Shaping's AI engine from 7 separate per-role Claude calls into one batched Council call covering all 7 personas at once

Replaced the atomic findings-review queue (accept/edit/reject/defer) with the Council directly authoring and regenerating the whole 13-section Mission Blueprint every run

Built and then deliberately removed a per-field lock mechanism after diagnosing a real design flaw (locked fields can't stay coherent with fields the Council revises around them)

Added a whole-document approval gate ("I agree to this Blueprint") that blocks further Council runs until unchecked, and gates Mark Ready alongside a freshly-recomputed Definition Gate

Wired automatic seed-Workpiece generation from the Blueprint's proposedWorkpieces list — no manual button, silently skipped without a linked Product

Fixed two Definition Gate checks (grounded, actionable) that were structurally unpassable after the findings-queue removal — they read a table the new flow never writes to

Added a real per-round token-budget fix after finding a live truncated-JSON bug via direct DB inspection, plus a bounded turn-history cap to control real per-round AI cost growth

Added a compact, icon-labeled seven-persona reference table to the Council panel, matching the app's existing divide-x/border-t grid convention

Fixed real height-containment bugs (flex-shrink-0 fighting overflow-y-auto) so the workspace page genuinely cannot force an outer-page scrollbar

every field builds on each other, it's seems hard to lock on and then build around it without reconsidering it... that seems wrong.

Zeb, on why the per-field lock mechanism needed to be removed the same session it was built