Skip to content

Commit a5ffad3

Browse files
edenoclaude
andcommitted
docs(plan): mark Phase 9 complete; changelog + deferred follow-ups
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent b2b8d68 commit a5ffad3

2 files changed

Lines changed: 33 additions & 1 deletion

File tree

‎.claude/docs/plans/v3-workspace-cutover/PLAN.md‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# v3.0.0 Workspace Cutover — Implementation Plan
22

3-
**Status:** Phases 0–8 complete (merged to `modern`). Phase 9 next.
3+
**Status:** Phases 0–9 complete (merged to `modern`). Phase 10 next.
44

55
Carries the `modern` branch from its mid-build state (M8a complete; new multi-page workspace exists
66
but cannot export YAML and loses data on refresh) through to **v3.0.0**, where the workspace UI is a

‎docs/REFACTOR_CHANGELOG.md‎

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,38 @@
66

77
---
88

9+
## Probe reconfiguration wizard (June 3, 2026) ✅ COMPLETE
10+
11+
### Summary
12+
13+
The Day Editor's Devices step now shows which configuration version a recording day
14+
uses and lets the user version a mid-experiment device change and apply it forward to
15+
later days — without disturbing days that did not change.
16+
17+
### Changes
18+
19+
- **`resolveDayConfig(animal, day)`** factored out of `mergeDayMetadata` as the single
20+
source of truth for a day's effective probe configuration (snapshot-by-version +
21+
`deviceOverrides` precedence). `mergeDayMetadata` now calls it, so the export merge and
22+
the wizard can never diverge. Behavior-preserving — golden baselines stay byte-identical.
23+
- **`diffProbeConfigs(prev, next)`** (new `src/state/configDiff.js`): a pure, deterministic,
24+
order-independent diff of two probe configurations (electrode groups + channel maps), plus
25+
`reconcileAppliedToDays` to derive version usage from each day's `configurationVersion`.
26+
- **Store:** `updateDay` accepts `configurationVersion`; a new `applyConfigurationForward`
27+
action reassigns a set of days to a snapshot version and keeps each snapshot's
28+
`appliedToDays` a partition (each day in at most one list).
29+
- **Reconfiguration wizard** (`ReconfigWizard`, on the shared accessible `<Modal>`): renders
30+
the structured diff, versions the current configuration via `addConfigurationSnapshot`,
31+
and applies it forward to the chosen day and later days. A "no change detected" state
32+
disables apply. No `alert()` / `window.confirm()`.
33+
- **Devices step:** a read-only "Configuration version N — applied to M days" indicator and
34+
the wizard entry point.
35+
- No change to `encodeYaml`, the schema, the export path, or the four golden fixtures;
36+
reassigning a day's version never changes its exported bytes unless the snapshot it
37+
resolves to actually differs.
38+
39+
---
40+
941
## Validation Summary & batch tools (June 3, 2026) ✅ COMPLETE
1042

1143
### Summary

0 commit comments

Comments
 (0)