45 lines
1.9 KiB
Markdown
45 lines
1.9 KiB
Markdown
|
|
# 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.html` and `service-worker.js` must match the manifest after `scripts/generate_app_files.py`.
|
||
|
|
- JavaScript syntax must pass `node --check`.
|
||
|
|
- `ActionSpec` lifecycle helpers must support `selectTarget / 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
|
||
|
|
|
||
|
|
```bash
|
||
|
|
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_mate` in 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 call `ensureItemBuckets()` 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.
|