{% extends "base.html" %} {% block title %}Pending — FSD Disengagement Studio{% endblock %} {% block content %} {% if autosave_stats %}
Fleet API auto-save: Auto-saves issued: {{ autosave_stats.succeeded or 0 }} {% if autosave_stats.attempted and autosave_stats.attempted != autosave_stats.succeeded %} ({{ autosave_stats.attempted }} attempted) {% endif %} {% if autosave_stats.suppressed_by_cooldown %} {{ autosave_stats.suppressed_by_cooldown }} cooldown-suppressed {% endif %} {% if autosave_stats.last_updated %} updated {{ autosave_stats.last_updated }} {% endif %}
{% endif %}

Path B queue

{{ total_in_view }} record(s) in view View stale (missing-clip warnings) →

Records queued by fsd-studio listen. Each is a Path B disengagement detected from the tesla_fleet_telemetry event bus. They get linked to a saved clip when fsd-studio backfill --pending-log next runs and finds a matching SEI transition within the --match-window-seconds window (default 5 min).

{% if rows %} {% for r in rows %} {% endfor %}
Detected at Speed Pre → post state GPS Status
{{ r.timestamp }} {{ "%.1f m/s" | format(r.speed_mps or 0) }} {% if r.pre_state and r.post_state %} {{ r.pre_state }} → {{ r.post_state }} {% else %} {% endif %} {% set lat = r.get('latitude') %} {% set lon = r.get('longitude') %} {% if lat is not none and lon is not none %} {{ "%.4f" | format(lat) }}, {{ "%.4f" | format(lon) }} {% else %} {% endif %} {% if r.get('matched_event_id') %} linked {% else %} queued {% endif %}
{% else %}

No pending records yet. Run fsd-studio listen --ha-url ... --ha-token ... to populate the queue.

{% endif %}
{% endblock %}