Date a record by the collector's clock, and keep the gate's beside it under its own name #9
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "claude/occurrence-time"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Every record had one timestamp and it was the wrong one: the gate's clock at write time, sent as
timeunder a description that said "when the event occurred". A record that waited in the queue was dated late by exactly the wait. The collector's own stamp was there all along in the payload, at whole seconds from a different formatter.What changes. The record is dated by the collector:
ts_utcis the payload'sat, which every schema requires and every collector takes before sending. The gate's clock goes in a new column,received_at, and on the envelope asgate_time, named for what it is. Retention, digests, ordering and the timeline all go byts_utc, which now means what it says. A stamp that does not parse, or one from an unset clock stamping 1970, is replaced by the gate's, because a record dated fifty years ago is one fusion would believe. One formatter at one resolution: the collectors' clock now stamps microseconds.Proof. With the gate's clock five seconds ahead, the stored time is the collector's stamp and the gate's is beside it; 1970 and garbage are replaced; the envelope carries both under their names; microseconds format exactly; stamps sort in order. The first fails against a gate that dates by its own clock, checked by making it one. Linux verifier green on the pinned toolchain. Not run here: the Windows verifier and the end-to-end suite.