Build Log · July 22, 2026

Alloy Milestone 4, Tickets 1-4 — One History

Alloy gained source-aware Arc, Product-work, and recorded-next-item history without pretending historical JSON and live Neon records share identity or ownership.

  • Alloy
  • History
  • Authorization
  • Projection
tickets accepted
4

tickets accepted

feature commits
4

feature commits

owners in authenticated acceptance
2

owners in authenticated acceptance

Timeline

  1. Ticket 1

    One Arc-history boundary

    Combined owner-scoped live Arcs and global historical sessions through source-aware adapters.

  2. Ticket 2

    Explicit Product association

    Added owner-specific, auditable historical-session classification without inferred identity.

  3. Ticket 3

    Product work history

    Migrated the Product Workpieces route onto one discriminated live/historical query boundary.

  4. Ticket 4

    Recorded Next Items

    Reframed open items as read-only recorded history because resolution is not tracked.

What shipped

  • products/alloy/lib/history/ — shared source-aware Arc-history projection with live and historical adapters

  • products/alloy/lib/history/actions.ts and products/alloy/lib/db/schema.ts — explicit owner-scoped historical Product association ledger

  • products/alloy/lib/work-history/ — discriminated Product work-history projection

  • products/alloy/lib/recorded-next-items/ — live and historical recorded-next-item projection

  • products/alloy/tests/e2e/milestone4-ticket1-history.spec.ts — authenticated Ticket 1 acceptance

  • products/alloy/tests/e2e/milestone4-ticket2-product-association.spec.ts — two-owner association acceptance

  • products/alloy/tests/e2e/milestone4-ticket3-work-history.spec.ts — Product work-history acceptance

  • products/alloy/tests/e2e/milestone4-ticket4-recorded-next-items.spec.ts — recorded-next-item isolation and degraded-state acceptance

  • products/alloy/docs/milestone-4-one-history.md and Ticket 1-4 browser-acceptance records

“One history is a read contract, not one database.”
— Milestone 4 architecture