Day 12 — Align One Incident Timeline
Today Signal Room answers a deceptively hard question: did the latency spike happen before or after the deployment and the on-call observation?
Run the alignment artifact
Section titled “Run the alignment artifact”cd rust/rust-ai-engineeringcargo run -q -p mosaic-evidence --example alignment_pipelineRepresent time deliberately
Section titled “Represent time deliberately”Use a unit-bearing integer type:
pub struct Micros(pub i64);
pub struct TimeRange { pub start: Micros, pub end: Micros,}Do not pass bare f64 values where one subsystem means seconds and another means milliseconds. Checked
constructors enforce start <= end and checked arithmetic prevents wraparound.
Each source clock needs an alignment transform:
pub struct ClockMap { pub source_origin: Micros, pub incident_origin: Micros, pub rate_numerator: i64, pub rate_denominator: i64,}Audio and video clocks may drift. Dashboard captures may know only wall time. A human voice note may say “about two minutes earlier.” Store uncertainty rather than manufacturing precision.
Build the timeline as data
Section titled “Build the timeline as data”Every event contains incident time, uncertainty, evidence IDs, and a short observation. Sort using a stable rule and preserve ties. The rendered Markdown report is a view; JSON is the replayable source.
Break it deliberately
Section titled “Break it deliberately”- shift one source clock by one timezone;
- use milliseconds as microseconds;
- create two events with equal time;
- map a range beyond the source duration;
- remove the transform required to restore a citation.
Ask which invariant catches each mutation. A model prompt cannot repair a unit error hidden in the timeline.
Completion proof
Section titled “Completion proof”Produce a five-event timeline containing a deployment, trace anomaly, dashboard observation, voice-note statement, and recovery. Every event must map back to its original source locator.
Deep reference: Timeline and geometry alignment.