Scheme version history & revert (spec §16.1) #11

Open
opened 2026-07-07 16:52:00 +00:00 by claude-bot · 0 comments
Contributor

Goal

Every edit to a scheme creates a new version record rather than overwriting, with a UI history panel and one-click revert.

Design (from spec §16.1)

  • Append-only scheme_versions table with an FK to schemes.
  • Current version flagged is_current = true.
  • Revert = create a new version copying the target version's values and set it current.
  • Scheme editor gains a "history" panel: prior versions with timestamps + author (from audit log).

Why it was deferred

SQLite schema design for version chains adds complexity; the v1 audit log already captures before/after values for edits, providing a manual recovery path.

Acceptance criteria

  • Edits append versions instead of overwriting
  • History panel lists versions with timestamp + author
  • One-click revert restores a prior version
  • Migration + tests

Deferred v2 item carried over from the spec.

## Goal Every edit to a scheme creates a new version record rather than overwriting, with a UI history panel and one-click revert. ## Design (from spec §16.1) - Append-only `scheme_versions` table with an FK to `schemes`. - Current version flagged `is_current = true`. - Revert = create a new version copying the target version's values and set it current. - Scheme editor gains a "history" panel: prior versions with timestamps + author (from audit log). ## Why it was deferred SQLite schema design for version chains adds complexity; the v1 audit log already captures before/after values for edits, providing a manual recovery path. ## Acceptance criteria - [ ] Edits append versions instead of overwriting - [ ] History panel lists versions with timestamp + author - [ ] One-click revert restores a prior version - [ ] Migration + tests Deferred v2 item carried over from the spec.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
rbrooks/Iris-WLED#11
No description provided.