tarinai/docs/REGRESSION_CHECKLIST.md
2026-06-24 13:48:22 +09:00

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.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

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.