Schema Drift (I23)
I23 harness.schema_drift. Added, removed, and retyped keys stay separate. A short sample is insufficient_sample.
Each harness version is one genome ribbon. Emerald bands are keys that stayed in the envelope. Cyan bands are keys that appeared. Rose hatched gaps are keys that disappeared. Amber bands are keys whose type changed. The amber curve is L1 distance: how far the shape distribution moved between versions.
Click a ribbon or any gene band. The inspector lists added, removed, and retyped keys side by side and lights the same row in the table. This view stores counts. Real key names appear only when a row actually carries them. Drift is not a compatibility verdict. A short sample is insufficient_sample.
Adjacent versions of one harness. Each side needs at least 5 non-refused envelopes. L1 = Σ |p_later(key, type) − p_earlier(key, type)| over aligned pairs added = keys present only on the later version removed = keys present only on the earlier version retyped = same key, different observed type set A presence change is not a retype. No valid pair: status Refused, reason insufficient_sample. Some short pairs beside a valid pair: status Partial. Unknown keys never enter the distribution. Key-path drift is not a compatibility verdict. Console encoding: emerald bands = retained envelope, count derived from 1 − min(L1, 1) when names are absent cyan = keys_added, rose hatch = keys_removed, amber = keys_retyped the waveform connects each row at x = L1 / 2 across the ribbon
Waiting for rows.
Schema DNA fingerprint
Each ribbon is one harness version. The curve is L1 distance between shape distributions.
- Stable key
- keys_added
- keys_removed
- keys_retyped
| Harness | Version | L1 distance | Added | Removed | Retyped | Status | Reason |
|---|
L3 Technical LineageL3
All-time counts — window_from/window_to label the snapshot but do not filter.
SELECT * FROM v_schema_drift ORDER BY l1_distance DESC, harness, harness_version
Connected fact rows
Recorded window: —
Total rows: —