Skip to content

M5.4: bind selective restore to plan token - #30

Merged
pgousdal merged 12 commits into
mainfrom
work/m5.4-restore-plan-token
Sep 8, 2026
Merged

pgousdal merged 12 commits into
mainfrom
work/m5.4-restore-plan-token

Conversation

@pgousdal

@pgousdal pgousdal commented Sep 8, 2026

Copy link
Copy Markdown
Contributor

Adds deterministic SHA-256 restore plan tokens to bind M5.2 planning and M5.3 selective restore to the same validated archive and local state. POST /api/recording-archive/plan now returns plan_token, covering the validated manifest, managed-audio inventory, complete plan, and canonical local recordings/annotations/observations snapshot. POST /api/recording-archive/import-selected now requires plan_token; it recomputes the plan before any commit and rejects stale tokens after archive or local-state drift. Selected entries must still be import candidates and no force-overwrite path is introduced. The browser retains the token only in memory after planning and clears it on archive change, restore, or stale/error paths. Includes deterministic token, local-state drift, archive drift, API precondition and UI regression tests, plus README and M5.4 docs.

@pgousdal
pgousdal merged commit fa8355b into main Sep 8, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant