feat(perception): integrate calibrated operator pipeline

Add calibrated K1 projection, recorded and near-live perception qualification, unified Rerun operator layers, bounded replay admission, audited viewer controls, worker experiments, and lab evidence.
This commit is contained in:
DCCONSTRUCTIONS
2026-07-23 00:23:28 +03:00
parent ada2a55ee6
commit b53d6d5a45
221 changed files with 55923 additions and 1357 deletions
+54
View File
@@ -566,6 +566,60 @@ def test_interrupted_capture_is_recovered_from_aligned_raw_and_metadata_prefix(
assert store.prepare_replay(session.name).primary_artifact.path.name == "mqtt.raw.k1mqtt"
def test_interrupted_capture_streams_metadata_beyond_legacy_total_limit(
tmp_path: Path,
) -> None:
repository = tmp_path / "repo"
sessions = repository / "sessions"
session = make_legacy_session(sessions, "20260716T205632Z_viewer_live")
capture = session / "captures" / "mqtt_live"
raw = bytearray(RAW_MAGIC)
records: list[bytes] = []
topic = "lixel/application/report/lio_pose"
topic_bytes = topic.encode()
padding = "x" * (60 * 1024)
for sequence in range(1, 1_101):
payload = b"p"
frame_offset = len(raw)
raw.extend(FRAME_HEADER.pack(len(topic_bytes), len(payload)))
raw.extend(topic_bytes)
raw.extend(payload)
record = {
"schema_version": 1,
"record_type": "message",
"sequence": sequence,
"received_at_utc": "2026-07-16T20:56:32.699Z",
"received_at_epoch_ns": 1_784_235_391_699_000_000 + sequence,
"received_monotonic_ns": 9_000_000_000 + sequence,
"topic": topic,
"payload_bytes": len(payload),
"raw_frame_offset": frame_offset,
"raw_payload_offset": frame_offset + FRAME_HEADER.size + len(topic_bytes),
"raw_frame_bytes": FRAME_HEADER.size + len(topic_bytes) + len(payload),
"padding": padding,
}
records.append((json.dumps(record, separators=(",", ":")) + "\n").encode())
(capture / "mqtt.raw.k1mqtt").write_bytes(raw)
metadata_path = capture / "mqtt.metadata.jsonl"
metadata_path.write_bytes(b"".join(records))
assert metadata_path.stat().st_size > 64 * 1024 * 1024
(capture / "mqtt.summary.json").write_text("{corrupt", encoding="utf-8")
store = SessionStore(repository, data_dir=tmp_path / "data")
store.reconcile_archive(xgrids_k1_archive_source(sessions))
detail = store.get_session(session.name)
assert detail.summary.status == "interrupted"
assert detail.summary.replayable is True
command = store.prepare_replay(session.name)
assert command.primary_artifact.replay_byte_length == len(raw)
assert next(
artifact.replay_byte_length
for artifact in command.artifacts
if artifact.artifact_id == "raw-transport-index"
) == metadata_path.stat().st_size
def test_catalog_upsert_promotes_recovered_session_after_summary_is_completed(
tmp_path: Path,
) -> None: