Files
EscapistsReintroduced/docs/validation.md
T

9.0 KiB
Raw Blame History

Validation evidence

2026-09-19, local development environment. This remains a development prototype, not a release-qualified successor.

Repository checks

python3 tools/check.py passes: five-addon isolation, acyclic dependencies, fifteen source resource identities, exact successor/vanilla GUID references, production mission-rule boundaries, physical radio paths and failure handling, settings conversion, helicopter availability policy and mortar salvo policy. The latter two are helper tests, not operational support-controller evidence.

The reference guard verified all 533 original workspace source/resource files against the pre-test snapshot. Existing missions were not edited or saved. Native tests use a separate profile and only the successor projects plus vanilla dependencies. Earlier successful visible runs were measured on the right display. A later launch restored an oversized main Workbench window despite placement rules; those tests were stopped. Automated tests now run on an isolated headless display and create no physical-desktop windows.

Native development sessions

Workbench version: 1.8.0.13. The initial September 18 source snapshots remain in native-initial-snapshot.json and native-followup-snapshot.json. They established script compilation, native world loading and initial spawning only.

Durable logs, screenshot captures, source hashes and a machine-readable report for logs_2026-09-19_00-28-24 are in native-2026-09-19-002824. That run completed two scripted rounds across an automatic restart, with 38 passing assertions. It exercised native prisoner spawn, the authored lock action, two real cache documents recovered into inventory, intel-driven identification, radio range rejection, interrupted and continuous defence, physical helicopter seating and the victory boundary.

The diagnostic deliberately teleports the player and helicopter and makes the test player invulnerable. It does not establish manual escape/piloting, combat balance, multiplayer lifecycle or FPS improvement. Engine screenshots capture the rendered scene and do not prove the HUD/end-screen presentation.

The original prison prototype had an unsuitable slope and a gate-opening mismatch. Read-only terrain and model-clearance scans selected an open site at 6090/7160. The gate now spans the three-metre opening. Walls have explicit hierarchy ownership, and equipment is placed on tables above vegetation. Final physical gate-passage and defeat checks are recorded separately below.

Remaining native issues

The run is not a clean runtime pass. The report preserves errors rather than suppressing them:

  • During restart, vanilla US and USSR medical-kit catalog objects at world origin are destroyed without an initialized entity-catalog reference. Their inherited SCR_BaseItemSupportStationComponent.OnDelete path logs two catalog-manager errors. The diagnostic identifies the objects; it does not alter vanilla cleanup behavior.
  • Vanilla helicopter resources emit unsupported SlidingTrackMaterial and Parent fields. Validate the installed game/Tools resource compatibility before release.
  • Vanilla UI slot/button warnings occur during end-screen setup, and inherited Everon initialization reports a radio-manager ordering warning. The successor creates its radio manager, but these warnings still need evaluation.

The shared-map destruction exception and unsupported runtime destructible-wall errors from earlier prototypes no longer occur in the archived repeated-round run.

No dedicated multiplayer, reconnect, spectator, twelve-player, operational support-controller, equivalent-workload performance or release-packaging acceptance has passed. The full acceptance ledger remains pending.

Final gate and victory regression

native-2026-09-19-003520 contains two completed rounds and 40 assertions, including BaseDoorComponent.CanCharacterPass(0.6) after unlocking. The actual result configuration returned "You escaped Everon" for the extracted player. The run had no script errors or virtual-machine exceptions. Seven inherited vehicle schema errors remain in the report, so its overall runtime result is deliberately nonzero. The source manifest matches the tested repository.

A Workbench-only diagnostic briefly replaced the reflected end-screen class and caused an unknown-class resource error in an intermediate run. That diagnostic override was removed; the archived final run resolves the class and the victory title successfully.

Extraction loss and defeat restart

native-2026-09-19-003902 completed two helicopter-loss rounds and recorded 45 passing assertions, including startup of a third round before the test process stopped. Removing the empty extraction helicopter during extraction caused DEFEAT through the normal server tick, then the mission restarted and completed the same test again. The defeat end-screen configuration resolved without missing-screen errors. This is not an all-players-dead, unconsciousness, reconnect or multiplayer test.

Four catalog-manager errors were recorded across the two restarts, alongside the inherited vehicle schema errors. The archive deliberately retains the failing overall native report. Both test processes were stopped; the user's pre-existing editor was left open.

Player death, identity roster and spectator restart

native-2026-09-19-011025 contains two completed death rounds with 20 passing assertions and no script/runtime exceptions. The fixture exercises native character death, transition into the local spectator camera, the all-dead grace interval, defeat and automatic restart. An isolated roster with a real living actor checks spent-life retention, disconnected survivor retention, duplicate identity rejection and reused connection IDs. It does not simulate an actual remote disconnect/reconnect. Seven inherited helicopter schema errors still fail the overall native report.

This test ran on headless Gamescope at 1280×720/30Hz using a cloned disposable Proton prefix. The physical desktop contained only the user's pre-existing editor. tools/headless_workbench.py provides a bounded version of this runner, stopping on failure, timeout or the requested number of completions and preserving engine errors in its exit status.

Physical radio equipment and routing

native-2026-09-19-011738 completed two bounded headless rounds with 30 assertions and no script/runtime exceptions. Each authored six-person patrol now includes one vanilla RTO with a physical manpack. The test runs production uplink and downlink routes, then removes a receiving carrier's actual radio during transmission and verifies delivery fails. It does not insert a synthetic contact into HQ. Strategic response to native visual perception remains a separate test. Seven inherited vehicle schema errors remain.

Both installed executable version resources report 1.8.0.13 (game Steam build 24903726; Tools build 24870687). The remaining schema errors are therefore not explained merely by different displayed version numbers.

Native sighting to HQ response

native-2026-09-19-012234 completed two headless rounds with 24 assertions. The real player was moved in front of a guard squad. Native perception generated a sighting; the production radio route delivered it to HQ; two different existing squads received downlinked orders and distinct search waypoints. The fixture did not inject HQ contacts or create response forces. Both rounds subsequently passed death, spectator and defeat. Two inherited catalog cleanup errors reappeared during restart; seven vehicle schema errors also remain. This is a scoped coordinator integration pass, not a clean native runtime pass.

Silent complete-loop regression

native-2026-09-19-013224 completed two headless escape rounds with 52 assertions and no script/runtime exceptions after the roster, spectator and radio-composition changes. Test audio was independently verified muted on the dedicated silent sink; other audio outputs were unchanged. Seven inherited vehicle schema errors remain. A preceding launch exited before gameplay with a host double free or corruption error; its raw diagnostics are retained in native-2026-09-19-012838-host-crash and are not counted as a successful run.

Physical mortar inventory checkpoint

native-2026-09-19-014052 completed two muted headless rounds with 30 assertions and no script/VM exceptions. Native inventories held exactly 27 HE shells across three crew plus a separate manpack operator. Deleting the shells did not replenish ammunition; deleting the gun and crew did not spawn replacements. Seven inherited vehicle schema errors remain. Firing, convoy rearming and multiplayer support acceptance are unverified. Further support migration is deferred while completing the base replacement.