Build Log
Alloy Milestone 4, Tickets 5-7 — Signals, Evidence, and Milestone Close
July 23, 2026
Signals and Evidence became source-aware, five services' duplicated invariants were consolidated into one shared primitive, and Milestone 4 (One History) closed with a clean full-suite acceptance run.
Timeline
What shipped
products/alloy/lib/signals/ — source-aware Signal projection (live issue-flagged events + historical spins, corrected to read chapters[].spins[])
products/alloy/lib/evidence/ — source-aware Evidence projection (historical reuse{}/patterns[] only; live section is a fixed honest empty state)
products/alloy/lib/history-shared/ — temporal.ts, product-association.ts, identity-guard.ts, plus invariants.test.ts and capability-correspondence.test.ts
products/alloy/lib/deferred-prevention.ts — split out of the deleted legacy lib/signals.ts
Backfilled SourceStatus/isDegraded onto lib/history/ (Ticket 1) for parity with Tickets 4/5A/5B
Corrected fabricated grading language on SignalSummaryPanel and EvidenceHealthPanel
products/alloy/tests/e2e/milestone4-ticket5a-signals.spec.ts and milestone4-ticket5b-evidence.spec.ts
products/alloy/docs/milestone-4-ticket-5/6/7-browser-acceptance.md and updated milestone-4-one-history.md, operating-baseline.md
“A Council recommendation is a hypothesis about the codebase, not a verified fact.”