Build Log
Alloy Milestone 3, Tickets 6-8 — verified, disposition, invariants, acceptance
July 21, 2026
Live-browser-verified Milestone 3 tickets 1-5 before building further, then shipped the Workpiece disposition decision, all 7 Bank invariants, and a preserved acceptance run — all 8 tickets now implemented and verified.
What shipped
products/alloy/playwright.config.ts (new — first Playwright setup for Alloy)
products/alloy/tests/e2e/global.setup.ts (new — real Clerk sign-in via @clerk/testing's ticket strategy, two-user support)
products/alloy/tests/e2e/milestone3-verification.spec.ts (new — 16 tests, tickets 1-6)
products/alloy/tests/e2e/milestone3-ticket7-invariants.spec.ts (new — 7 invariant tests, tickets 7)
products/alloy/lib/db/schema.ts (1 new arc_event_type enum value: workpiece_disposition_recorded)
products/alloy/lib/actions.ts (recordWorkpieceDisposition)
products/alloy/lib/db/queries.ts (getLatestWorkpieceDisposition)
products/alloy/components/WorkpieceDispositionPanel.tsx (new)
products/alloy/app/bank/page.tsx (wired disposition panel in)
products/alloy/drizzle/migrations/0011_robust_gertrude_yorkes.sql (generated and applied to live DB)
products/alloy/docs/milestone-3-first-complete-arc.md (Ticket 6 design record, session status updates)
products/alloy/docs/milestone-3-browser-acceptance.md (new — Ticket 8 deliverable)
products/alloy/.gitignore (playwright/.clerk/, test-results/, playwright-report/)
“ok, if this is all good. then commit and lets wrap the session”