1.9 KiB
1.9 KiB
Regression Checklist
Version: 15.24.33
This pass freezes the current internal baseline before continuing deeper behavior refactors.
Scope
- Static loading order must remain generated from
app_manifest.json. index.htmlandservice-worker.jsmust match the manifest afterscripts/generate_app_files.py.- JavaScript syntax must pass
node --check. ActionSpeclifecycle helpers must supportselectTarget / canStart / start / tick / finish / fail.- Save-data migration is intentionally out of scope for this pass.
- Population caps and family-tree UI are intentionally out of scope.
Command
python3 scripts/regression_check.py
Expected result: all checks print [OK] and exit with status 0.
15.24.28 runtime diagnostics
When opening with ?debug=1, verify the overlay reports spatial rebuilds, draw-list state, item bucket/id-map state, forced/locked behavior counts, and top behavior ids. These are observation aids only and do not change player controls or simulation rules.
Social balance regression checks
For 15.24.33+, also verify:
- Ordinary conflict does not crowd out
approach_friend/approach_matein a neutral population. - Fight mochi still forces conflict, but one individual should not start several fights at once.
- Intimidation resolves quickly enough that it does not visually lock the colony.
- With
?debug=1, behavior counts should show non-conflict social actions appearing over time in a dense but non-drugged population.
15.24.33 runtime item-bucket checks
- Runtime-created items should go through
World.addItem()where safe. World.itemsOfType()should callensureItemBuckets()before returning a bucket.World.itemById()should not return dead items.- The debug overlay should expose item bucket dirty state, id-map size, and bucket rebuild counters.
- Save migration remains out of scope until this runtime polish is observed in-browser.