feat: qualify K1 local surface over time
This commit is contained in:
@@ -164,10 +164,21 @@ def test_k1_local_surface_is_dynamic_source_bound_and_read_only(
|
||||
assert model.report["surface_model"]["hardcoded_height_m"] is None
|
||||
assert model.report["occupancy_policy"]["absence_of_points_means_free"] is False
|
||||
assert model.report["metrics"]["frames"]["valid"] >= 5
|
||||
temporal = model.report["metrics"]["temporal_qualification"]
|
||||
assert temporal["prediction"]["current_frame_excluded"] is True
|
||||
assert temporal["prediction"]["sample_count"] >= 4
|
||||
assert temporal["prediction"]["residual_p95_m"]["p95"] < 0.05
|
||||
assert temporal["stability"]["sample_count"] >= 4
|
||||
assert temporal["step_candidates"]["is_ground_truth"] is False
|
||||
assert temporal["step_candidates"]["frames_with_candidates"] > 0
|
||||
assert detail["valid"] is True
|
||||
assert 1.2 < detail["surface"]["sensor_height_m"] < 1.6
|
||||
assert detail["counts"]["surface"] > 50
|
||||
assert detail["counts"]["occupied"] > 0
|
||||
assert detail["counts"]["step_candidate"] > 0
|
||||
assert detail["prediction"]["current_frame_excluded"] is True
|
||||
assert detail["prediction"]["available"] is True
|
||||
assert detail["temporal"]["compared"] is True
|
||||
assert detail["authority"]["commands_enabled"] is False
|
||||
assert "1.27" not in repr({"identity": model.identity, "report": model.report})
|
||||
assert str(tmp_path) not in repr(detail)
|
||||
@@ -187,9 +198,18 @@ def test_k1_local_surface_is_dynamic_source_bound_and_read_only(
|
||||
router,
|
||||
"/api/v1/lidar/local-surfaces/{model_id}/frames/{frame_index}",
|
||||
)
|
||||
timeline_route = _endpoint(
|
||||
router,
|
||||
"/api/v1/lidar/local-surfaces/{model_id}/timeline",
|
||||
)
|
||||
catalog = catalog_route(limit=10) # type: ignore[operator]
|
||||
frame = frame_route(model_id=output.name, frame_index=2) # type: ignore[operator]
|
||||
timeline = timeline_route(model_id=output.name) # type: ignore[operator]
|
||||
assert catalog["valid_total"] == 1
|
||||
assert catalog["items"][0]["status"] == "diagnostic-only"
|
||||
assert frame["model_id"] == output.name
|
||||
assert frame["access"] == "read-only"
|
||||
assert timeline["frame_count"] == 8
|
||||
assert sum(timeline["prediction_available"]) >= 4
|
||||
assert len(timeline["temporal_jump"]) == 8
|
||||
assert str(tmp_path) not in repr(timeline)
|
||||
|
||||
Reference in New Issue
Block a user