Milestone 4 regression result (V0.4.0.0, commit 8246640):
Page state codecs/items, sparse Notebook contents, 88-tab Desk migration and NBT, Binder title/inputs/pending Age ID, Ink Mixer basin, and assembled-book writing/Age reference round-trip.
Existing page-free Descriptive Books retain their Age identity without a writing component; 0.3.7.2 bare-list writing migrates to schema v1 without changing order.
Missing symbol IDs survive Page, Notebook, writing codec, and Binder persistence. A missing-symbol Page remains removable but cannot now assemble a new book.
Forged Desk/Binder action addresses, stale menus, second viewers, and replayed result requests cannot spend materials twice or emit duplicate output.
Break drops and full-inventory rejection preserve inputs. Block-entity NBT reload exercises the same serialization boundary used by chunk unload/world restart; manual older-world smoke testing is still recommended before upgrading a production save.
./gradlew build runGameTestServer --quiet -PwithJei=true built the JAR; a clean dedicated-server rerun passed all 64 required GameTests without Create/Ponder/Immersive Portals.
The oversized disposable GameTest world was automatically removed before that clean rerun.
Milestone 4 regression result (V0.4.0.0, commit 8246640):
- Page state codecs/items, sparse Notebook contents, 88-tab Desk migration and NBT, Binder title/inputs/pending Age ID, Ink Mixer basin, and assembled-book writing/Age reference round-trip.
- Existing page-free Descriptive Books retain their Age identity without a writing component; 0.3.7.2 bare-list writing migrates to schema v1 without changing order.
- Missing symbol IDs survive Page, Notebook, writing codec, and Binder persistence. A missing-symbol Page remains removable but cannot now assemble a new book.
- Forged Desk/Binder action addresses, stale menus, second viewers, and replayed result requests cannot spend materials twice or emit duplicate output.
- Break drops and full-inventory rejection preserve inputs. Block-entity NBT reload exercises the same serialization boundary used by chunk unload/world restart; manual older-world smoke testing is still recommended before upgrading a production save.
- `./gradlew build runGameTestServer --quiet -PwithJei=true` built the JAR; a clean dedicated-server rerun passed all 64 required GameTests without Create/Ponder/Immersive Portals.
The oversized disposable GameTest world was automatically removed before that clean rerun.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Build automated acceptance coverage for the complete Milestone 4 data and workstation flow.
Acceptance criteria:
Milestone 4 regression result (V0.4.0.0, commit
8246640):./gradlew build runGameTestServer --quiet -PwithJei=truebuilt the JAR; a clean dedicated-server rerun passed all 64 required GameTests without Create/Ponder/Immersive Portals.The oversized disposable GameTest world was automatically removed before that clean rerun.