From 2bc4f59d41922d2f15531cea8092dc9f7011824d Mon Sep 17 00:00:00 2001 From: firestar5683 <168790843+firestar5683@users.noreply.github.com> Date: Sat, 31 Oct 2026 19:25:18 -0500 Subject: [PATCH] Report current FLM admission blockers --- openpilot/starpilot/flm/live_tracking_actor.py | 8 ++++++++ .../starpilot/flm/tests/test_inline_probe_retention.py | 1 + prebuilt.json | 2 +- 3 files changed, 10 insertions(+), 1 deletion(-) diff --git a/openpilot/starpilot/flm/live_tracking_actor.py b/openpilot/starpilot/flm/live_tracking_actor.py index cb201be255..a0606243ad 100644 --- a/openpilot/starpilot/flm/live_tracking_actor.py +++ b/openpilot/starpilot/flm/live_tracking_actor.py @@ -746,6 +746,14 @@ class LiveTrackingActor: self._advance_original_decoder(collector, now_ns) self._retire_identified_history(collector) if collector is None or source is None or not collector.ready or current_native is not True: + # Report the current missing input, not an earlier identity transition. + # Retaining historical work below still supplies no current permission. + self.reason = ( + 'controller_collection_required' if collector is None else + 'current_settings_source_required' if source is None else + 'qualified_control_output_pair_required' if not collector.ready else + 'current_native_permission_unavailable' + ) # A frozen response job describes ORIGINAL source/native observations, # not permission to apply a correction now. Temporary input/native gaps # must not cancel that computation after expensive snapshot preparation. diff --git a/openpilot/starpilot/flm/tests/test_inline_probe_retention.py b/openpilot/starpilot/flm/tests/test_inline_probe_retention.py index a80589b928..b85348a4d2 100644 --- a/openpilot/starpilot/flm/tests/test_inline_probe_retention.py +++ b/openpilot/starpilot/flm/tests/test_inline_probe_retention.py @@ -40,6 +40,7 @@ def test_input_gap_retains_owned_inline_results_without_restoring_permission(mon results = [numerical_probe_from_saved(builder, saved, point, group, name) for point in saved['points']] assert actor.probe_token is None # Normal inline execution has no external child. assert actor.tick(collector, source, now_ns=queued + 1, current_native=False, evidence_delay_only=True) is None + assert actor.reason == 'qualified_control_output_pair_required' assert episode_id in builder.completed assert builder.completed[episode_id]['deadline'] == deadline assert not builder.ticks and not builder.endpoints and not actor.ingress.monitor.rows diff --git a/prebuilt.json b/prebuilt.json index 23650e9957..271dee367e 100644 --- a/prebuilt.json +++ b/prebuilt.json @@ -1 +1 @@ -{"protected_inventory_sha256": "445c002260e82256626faef7e0b65e6d6f9afb614279bbb36658b6498acdd1e5", "schema_version": 1} +{"protected_inventory_sha256": "9e7bc549ba64564af047afcf8b4b62b1a0d5b36c25e09c78077cc77428cb89fa", "schema_version": 1}