Silver drops Phoenix DeviceEnable (string in bronze)

Offen Anfängerfreundlich
#5 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Maintainer antworten meist innerhalb von 1 Tag

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
77/100
Issue-Typ
Bug
Klarheit
Klar beschrieben
Aktivitätsstatus
Aktiv
Tech-Stack
python

Rechercherichtung

Beginne mit src/flashpoint/semantics/silver.py und der P4-Spike-Tabelle im Design-Dokument p4-views-and-reports; verfolge, wie DeviceEnable-Werte zu Silver-value werden und gefiltert werden. Ergänze die angegebene Zuordnung Enabled/Disabled, einen Q7-Korpus-Test und eine Erhöhung von DERIVE_VERSION. Fertig ist es, wenn der Test bestätigt, dass aktivierte und deaktivierte Zustände als 1 und 0 erhalten bleiben.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

bug

Found during the P4 spike (openspec change p4-views-and-reports, design.md spike table).

Problem: Phoenix 6 DeviceEnable is a string in bronze (v_str), but the silver query builds value as COALESCE(v_f64, CAST(v_bool AS DOUBLE), CAST(v_i64 AS DOUBLE)) (src/flashpoint/semantics/silver.py). Every device_enable row is NULL and gets dropped by WHERE d.value IS NOT NULL, so silver has no per-device enable state even though METRICS maps it.

Impact: per-device enabled time can't be measured; gold/unit_usage.enabled_s uses the robot's enable intervals from framing instead.

Fix sketch: map the known DeviceEnable strings (e.g. Enabled/Disabled) to 1/0 in the silver query, with a corpus test on Q7; bump DERIVE_VERSION.

Vorherrschende Sprache
Python
Sterne
0
Forks
1
Ø Merge
18 Std. 37 Min.
Gemergte PRs (30 T.)
15

Entwicklungsumgebung

Dieses Projekt bietet weder Dev-Container noch Dockerfile noch Beitragsleitfaden – die Einrichtung liegt bei Ihnen. Beginnen Sie mit der README; die allgemeinen Schritte stehen in unserem Leitfaden für den ersten Beitrag.

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus IgniteRobotics/flashpoint

Alle Issues in IgniteRobotics/flashpoint

Ähnliche Issues

Weitere Issues zu Python

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.