Verification history & drift analytics #26

Open
opened 2026-09-08 17:43:32 +01:00 by gronod · 0 comments
Owner

Summary

Atomic history + drift chart + consecutive-breach alert.

Spec refs

docs/17-stage5-verification.md, 22-settings-presets.md. #213 #95.

Scope

In: store, chart, filter, CSV, clear.
Out: multi-printer overlay roadmap items.

Implementation notes

File: app-data verification_history.json.
Record: {id: vr-<epoch>-<seq>, profile_name, printer_name, avg_de, max_de, rms_de, patch_count, status, timestamp ISO-8601 UTC}.
Cap 1000 evict-oldest. Atomic .tmp+rename. Parse-failure ≠ empty history (keep prior file, surface error).
UI: dual-series drift chart with shaded bands, consecutive-breach alert (≥2 Warning on distinct days or ≥1h apart), printer filter, table, RFC-4180 CSV export, clear-history.

Rewrite invariants

#213 atomic writes. #95 analytics.

Dependencies

Blocks-on: 25, 5.
Unblocks: none.

Test

  • CI/mock: crash-during-write keeps prior data; cap eviction; CSV quoting; alert logic.
  • Hardware: N/A.

Acceptance criteria

  • Truncated write cannot wipe history.
## Summary Atomic history + drift chart + consecutive-breach alert. ## Spec refs docs/17-stage5-verification.md, 22-settings-presets.md. #213 #95. ## Scope In: store, chart, filter, CSV, clear. Out: multi-printer overlay roadmap items. ## Implementation notes File: app-data `verification_history.json`. Record: `{id: vr-<epoch>-<seq>, profile_name, printer_name, avg_de, max_de, rms_de, patch_count, status, timestamp ISO-8601 UTC}`. Cap 1000 evict-oldest. Atomic `.tmp`+rename. Parse-failure ≠ empty history (keep prior file, surface error). UI: dual-series drift chart with shaded bands, consecutive-breach alert (≥2 Warning on distinct days or ≥1h apart), printer filter, table, RFC-4180 CSV export, clear-history. ## Rewrite invariants #213 atomic writes. #95 analytics. ## Dependencies Blocks-on: 25, 5. Unblocks: none. ## Test - CI/mock: crash-during-write keeps prior data; cap eviction; CSV quoting; alert logic. - Hardware: N/A. ## Acceptance criteria - [ ] Truncated write cannot wipe history.
gronod added this to the M5 — Profile, verification & install milestone 2026-09-08 17:43:33 +01:00
gronod added the
Priority
High
2
Project/ICCery-v2Feature/BackendFeature/UI
labels 2026-09-08 17:43:33 +01:00
gronod added a new dependency 2026-09-09 11:11:39 +01:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Depends on
#52 Milestone 5 Bugfixes
gronod/iccery-v2-mac
Reference: gronod/iccery-v2-mac#26