Live import updates

Abierto
#23 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Los mantenedores suelen responder en 1 día

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
5/5
Tiempo estimado
Más de una semana
Aptitud para principiantes
25/100
Tipo de issue
Nueva funcionalidad
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
python

Línea de trabajo

Start by reading ADR-0013 and the related issues #15, #19, #22, and #14 to understand the existing metadata, Replay, and retry boundaries. Then trace how serve, acquire, ingest, and report expose import changes and how the browser receives updates. The proposal should settle the change-detection and server-push questions, define the shared problem list, and cover the listed live views, status, and problem notifications.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

roadmap

Size: M · Depends on: IgniteRobotics/flashpoint#17, IgniteRobotics/flashpoint-private#71 · OpenSpec: not proposed yet

Status

Status: planned 2026-10-19. Not proposed yet.

Scope

Today the app only shows new data after serve restarts or someone runs flashpoint report (#15), and import problems are only visible in flashpoint doctor, log lines and SQL. During an event, logs arrive every few minutes through the acquire watch, so a student watching the app sees a match list that is stale and never hears that a file was quarantined.

  • Views update as imports happen:
    • serve notices lake changes made by other processes (the acquire watch, flashpoint ingest, flashpoint report) without a restart, and pushes them to open browsers;
    • Replay's match list gains new matches; an open match whose data was rebuilt reloads in place, with a notice and without moving the cursor;
    • History and Anomalies refresh their data and badges;
    • fixes IgniteRobotics/flashpoint#15: Replay data is rebuilt after any import that changes a match, not only after the watch cycle.
  • Import activity in the shell: a header indicator (idle / pulling from robot / importing N files / building Replay) and an activity feed: file pulled, imported, imported with warnings, quarantined (with reason), Replay rebuilt.
  • Problems surfaced as they happen, each linked to its match in Replay:
    • import: quarantined files, incomplete-read, short-coverage, truncated bytes, orphan records, failed pulls, low space on the robot;
    • data: a session missing a bus's hoot, declared signals missing, unmapped devices, logs with no CAN inventory (legacy identity), low-confidence or disagreeing clock alignment, sessions with no match key or fallback framing.
  • One problem list, two views: this change defines the problem list and the live feed. The Import status view (#19) builds the per-event audit table on the same list.
  • Read-only: re-import and retry stay on the CLI (#14 tracks retrying machine-error quarantines).

Open questions for the proposal

  • How serve learns about changes: poll a change cursor (the ledger's files.updated, acquire-status.json, the Replay index) or have writers append to a small change journal. ADR-0013 says the API reads meta snapshots, never the SQLite ledger, so either the problems are exported to meta or that ADR is amended.
  • Server push: share the server-sent-event channel with Live CAN health (#22); whichever change lands first builds it.
  • Desktop notifications for problems (optional, browser permission).
Lenguaje dominante
Python
Estrellas
0
Forks
1
Merge medio
18 h 37 min
PR fusionados (30 d)
15

Preparar el entorno

Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de IgniteRobotics/flashpoint

Todos los issues de IgniteRobotics/flashpoint

Issues similares

Más issues de Python

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.