clone

a browser grid puzzle game where you push words around to rewrite the rules of each level

main
miau-is-true / openspec / changes / archive / 2026-09-24-stabilize-active-level-identity / tasks.md
tasks.md 1.5K rendered
1## 1. Catalog identity and read boundaries23- [x] 1.1 Add stable-ID resolution helpers while preserving existing catalog4 method signatures and return shapes.5- [x] 1.2 Track active level by `${packId}:${localId}` and define replacement,6 removal, and empty-catalog fallback behavior.7- [x] 1.3 Replace repeated full-catalog work for single-level and active-level8 reads with direct normalized-record lookup and safe boundary cloning.9- [x] 1.4 Add cache/generation invalidation for register, replace, and remove;10 prove summaries and level counts never remain stale.1112## 2. Application handoffs and progress1314- [x] 2.1 Migrate level loading, continue navigation, progress marking, and win15 promotion to stable IDs while retaining numeric selection compatibility.16- [x] 2.2 Handle pack replacement/removal during delayed win and gift/workshop17 handoffs without promoting a stale level.18- [x] 2.3 Verify solved progress remains keyed by pack and local level IDs after19 registration order changes.2021## 3. Regression and verification2223- [x] 3.1 Add catalog tests for replace, remove, active fallback, clone safety,24 direct reads, and cache invalidation.25- [x] 3.2 Add application tests for progress and delayed Win handoffs across26 replacement/removal and reused local IDs.27- [x] 3.3 Run the focused catalog/application tests, full Node suite, production28 build, and browser pack import/share flows.29- [x] 3.4 Run strict OpenSpec validation and record the measured catalog read30 improvement before archiving the change.