Build Log
MedinaCHF — Intent to Software: Wiring Helm's Abandoned Research Probe Into Real Production
August 27, 2026
A formal Charge asked for the smallest real way a MedinaCHF coordinator can express software intent without Zeb translating it. Orient found the answer already half-built: Helm, a classifier + 2 operation contracts, proven in 8 research sessions on 2026-08-14, then abandoned for 13 days with zero real integration. This session finished that thread instead of inventing a new one — Council-reviewed the integration shape, built it, then an independent audit found 5 real defects (1 dead-code path, 2 UI truth gaps, 1 real matching-safety hole, 1 deferred concern) and all 4 substantive ones were fixed and re-verified before close.
Timeline
What shipped
products/medinaCHF/lib/db/schema.ts — new adminIntents table
products/medinaCHF/lib/helm/classifier.ts — real production port of the Helm research probe's 3-stage classifier (naive -> grounded -> adversarial rebuttal), reusing lib/ai.ts's existing draftWithClaude wrapper
products/medinaCHF/lib/helm/contracts.ts — real DB-backed port of ArchiveAnnouncement.v1 and UpdateAnnouncement.v1, with Council-required classifier/execution separation and apply-time staleness revalidation
products/medinaCHF/lib/actions/admin-intents.ts — submitAdminIntent, classifyExistingAdminIntent, approveAdminIntent, rejectAdminIntent, resolveAdminIntent
products/medinaCHF/lib/queries/admin-intents.ts — getActiveAdminIntents
products/medinaCHF/components/coordinator/AdminIntentPanel.tsx — the 'Request a change or report a problem' UI on Settings
products/medinaCHF/app/coordinator/settings/page.tsx — wired the new panel in
“Ship the narrow real integration, but... the classifier must not itself authorize an operation. It may select a candidate contract. The contract's own interpreter must then establish that the request contains the required target, organization scope, and permitted mutation.”