Build Log
Alloy: Quench Ticket 3 — the crack concept (schema + query + action, no UI yet)
July 26, 2026
Built the real 'crack' concept for Quench — a two-event lifecycle (crack_discovered / crack_resolved) following the exact getActiveProposedStrike precedent, plus its query and server-action layer. Scoped correctly to schema/plumbing only, per the original 6-ticket plan — the Cracks & Routing UI panel is Ticket 5's job, not this one's.
Timeline
What shipped
products/alloy/lib/db/schema.ts — crack_discovered and crack_resolved values added to arcEventTypeEnum, additive-only, DB-verified live
products/alloy/lib/db/queries.ts — CRACK_SEVERITIES/CrackSeverity, CRACK_ROUTES/CrackRoute, CrackDiscoveredPayload/CrackResolvedPayload types, Crack interface, listCracksForArc (derives unresolved-vs-resolved the same way getActiveProposedStrike derives active-vs-resolved)
products/alloy/lib/actions.ts — recordCrack (discover) and resolveCrack (route + resolution) server actions, both server-validating their enums/required fields since payload is JSONB