Live import updates

オープン
#23 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
5/5
見積もり時間
1週間以上
初心者へのやさしさ
25/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
活発
技術スタック
python

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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).
主要言語
Python
スター
0
フォーク
1
平均マージ
18時間 37分
マージ済み PR(30日)
15

環境構築

このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

IgniteRobotics/flashpoint のほかの issue

IgniteRobotics/flashpoint の issue をすべて見る

似ている issue

Python の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。