wip(k1): checkpoint connection recovery rewrite

Capture the current unreleased K1 connection, recovery, lifecycle, viewer, and test work as a single known-bad baseline for subsequent fixes.
This commit is contained in:
DCCONSTRUCTIONS
2026-08-14 14:57:50 +03:00
parent aff331082f
commit 0ca7316a24
157 changed files with 152962 additions and 4036 deletions
+39
View File
@@ -97,6 +97,8 @@ def test_live_ingress_wire_is_self_delimiting_and_explicitly_non_authoritative()
header_bytes = struct.unpack("!I", encoded[:4])[0]
header = json.loads(encoded[4 : 4 + header_bytes])
assert header["schema_version"] == LIVE_INGRESS_WIRE_SCHEMA
assert header["session_id"] == "session-1"
assert header["session_generation"] == 1
assert header["payload_bytes"] == 4
assert header["commands_enabled"] is False
assert header["navigation_or_safety_accepted"] is False
@@ -157,14 +159,45 @@ def test_live_ingress_new_session_discards_queued_events_from_previous_session()
events.append(event)
assert len(events) == 1
assert events[0].session_id == "session-2"
assert events[0].session_generation == 2
assert events[0].modality == "control"
assert events[0].payload == b'{"event":"session-start"}'
def test_live_result_admission_is_bound_to_exact_session_generation() -> None:
ingress = LivePerceptionIngress()
ingress.begin_session("session-1")
first_generation = ingress.snapshot()["session_generation"]
ingress.end_session("session-1")
ingress.begin_session("session-2")
second_generation = ingress.snapshot()["session_generation"]
received: list[str] = []
assert (
ingress.admit_result(
session_id="session-1",
session_generation=first_generation,
receiver=lambda: not received.append("stale"),
)
is False
)
assert (
ingress.admit_result(
session_id="session-2",
session_generation=second_generation,
receiver=lambda: not received.append("current"),
)
is True
)
assert received == ["current"]
def test_live_result_round_trip_keeps_video_mask_boxes_and_shadow_authority() -> None:
mask = np.zeros((600, 800), dtype=np.uint8)
mask[100:120, 200:240] = 4
encoded = encode_live_perception_result(
session_id="session-1",
session_generation=1,
frame_index=12,
source_frame_index=44,
session_seconds=1.25,
@@ -188,6 +221,8 @@ def test_live_result_round_trip_keeps_video_mask_boxes_and_shadow_authority() ->
frame = decode_live_perception_result(encoded)
assert frame.frame_index == 12
assert frame.session_id == "session-1"
assert frame.session_generation == 1
assert frame.source_frame_index == 44
assert frame.image_jpeg == b"\xff\xd8test\xff\xd9"
assert frame.segmentation_mask is not None
@@ -200,6 +235,8 @@ def test_live_result_round_trip_keeps_video_mask_boxes_and_shadow_authority() ->
def test_live_result_rejects_tampering_and_partial_cuboid() -> None:
with pytest.raises(ValueError, match="cuboid is incomplete"):
encode_live_perception_result(
session_id="session-1",
session_generation=1,
frame_index=0,
source_frame_index=0,
session_seconds=0.0,
@@ -218,6 +255,8 @@ def test_live_result_rejects_tampering_and_partial_cuboid() -> None:
delivery={"health": "degraded"},
)
encoded = encode_live_perception_result(
session_id="session-1",
session_generation=1,
frame_index=0,
source_frame_index=0,
session_seconds=0.0,