mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:41:09 +02:00
docs(workbench-seeding-cleanup): record final architecture, all shipped
The plan ended up simpler than the four-layer sequence I originally sketched: making the hook smart (use `getEffectiveSpaceId()` instead of the literal sentinel) replaced both Schicht-A Etappe-2 (throw on missing) and the per-call-site stamp migration. With that, the transitional legacy-Home check + post-reconcile dedup pass also became dead code and got removed in the same cleanup commit. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fa71269fc8
commit
547f643a6f
1 changed files with 15 additions and 6 deletions
|
|
@ -98,14 +98,23 @@ Statt nur den Symptom-Patch (`spaceId` durchreichen) werden die unterliegenden F
|
||||||
- Dexie v49 (oder höher) Migration: alle `workbenchScenes` mit `name === 'Home'` und ohne ID-Prefix `seed-home-` umbenennen auf `seed-home-${spaceId}`. Falls Konflikt mit existierendem deterministischen Survivor: alte Row löschen.
|
- Dexie v49 (oder höher) Migration: alle `workbenchScenes` mit `name === 'Home'` und ohne ID-Prefix `seed-home-` umbenennen auf `seed-home-${spaceId}`. Falls Konflikt mit existierendem deterministischen Survivor: alte Row löschen.
|
||||||
- Code-Annahme: queries dürfen ab hier `db.workbenchScenes.get(\`seed-home-\${spaceId}\`)` direkt benutzen, ohne By-Name-Filter-Fallback.
|
- Code-Annahme: queries dürfen ab hier `db.workbenchScenes.get(\`seed-home-\${spaceId}\`)` direkt benutzen, ohne By-Name-Filter-Fallback.
|
||||||
|
|
||||||
## Reihenfolge
|
## Reihenfolge — final state (alles SHIPPED)
|
||||||
|
|
||||||
1. ✅ **Schicht D-soft** — `d62ae8f1e` (Dexie v48 + +layout post-reconcile dedup)
|
Die ursprüngliche Vier-Schichten-Sequenz wurde während der Umsetzung
|
||||||
|
zu einer einfacheren Architektur kondensiert: weil der Hook *smart*
|
||||||
|
sein kann (statt nur Sentinel zu stempeln), entfällt die
|
||||||
|
"throw on missing"-Variante und damit auch der Etappe-2-Soak.
|
||||||
|
|
||||||
|
1. ✅ **Schicht D-soft** — `d62ae8f1e` (Dexie v48 dedup + +layout post-reconcile dedup)
|
||||||
2. ✅ **Schicht B + C** — `c73f93ff1` (per-space-seeds Registry, deterministic Home id, store-stripped) + `568d79dc1` (transitional legacy-Home check + wiring integration test)
|
2. ✅ **Schicht B + C** — `c73f93ff1` (per-space-seeds Registry, deterministic Home id, store-stripped) + `568d79dc1` (transitional legacy-Home check + wiring integration test)
|
||||||
3. ⏳ **Schicht A** — gestaffelt:
|
3. ✅ **Schicht A Etappe 1** — `43bef2b24` (Helper + 16 explicit stamps, soft phase)
|
||||||
- ✅ **Etappe 1** — `43bef2b24`: Helper `getEffectiveSpaceId()` + 16 explizite Migrations in 10 Modulen (picture/events/companion/calc/quotes/skilltree/moodlit/plants/questions + data/ai). Hook stempelt weiter Sentinel als Fallback.
|
4. ✅ **Schicht A — final** — `a6c5397d1` (smart hook stempelt aktive Space-UUID statt Sentinel; 16 explicit stamps reverted weil redundant)
|
||||||
- 🔜 **Etappe 2** (post-soak ≥1 Tag): Hook auf `throw` flippen. Vorher kurzer grep-Pass um sicherzugehen dass kein neuer ungesetzter `.add()` in der Zwischenzeit gelandet ist.
|
5. ✅ **Schicht D-hard + Cleanup** — `fa71269fc` (v50 löscht legacy non-deterministic Home rows, transitional check aus Seeder raus, post-reconcile dedup aus +layout raus)
|
||||||
4. 🔜 **Schicht D-hard** — Survivor → deterministische ID umbenennen, Code-Annahme festschreiben. Nach Schicht A Etappe 2.
|
|
||||||
|
Endzustand: **eine** Stelle entscheidet über Tenancy-Stamping (der
|
||||||
|
Hook), **deterministische IDs** garantieren Idempotenz, **kein
|
||||||
|
transitional code** mehr, **kein post-reconcile fallback** mehr —
|
||||||
|
exakt das was "saubere Lösung ohne legacy reste" verlangt.
|
||||||
|
|
||||||
## Erfolgskriterien
|
## Erfolgskriterien
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue