Files
EscapistsReintroduced/docs/validation.md
T

78 lines
11 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, sixteen 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](evidence/native-2026-09-19-002824/report.json). 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 vehicle resources emit unsupported fields: Mi8 `SlidingTrackMaterial`, and catalog-loaded BRDM2/BTR70 `Parent` entries. 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](evidence/native-2026-09-19-003520/report.json) 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](evidence/native-2026-09-19-003902/report.json) 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](evidence/native-2026-09-19-011025/report.json) 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](evidence/native-2026-09-19-011738/report.json) 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](evidence/native-2026-09-19-012234/report.json) 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](evidence/native-2026-09-19-013224/report.json) 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](evidence/native-2026-09-19-014052/report.json) 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.
## Independent base escape
[native-2026-09-19-015043](evidence/native-2026-09-19-015043/report.json) records two Core-only rounds and 26 assertions. The loaded-addon section contains engine core, vanilla Reforger and ERR_Core. Essential inventory-document recovery and discovered objective markers now belong to Core, with a separate base scenario identity. The scripted escape succeeds without AI, Intel, Chat or Map. Two catalog teardown errors and seven vehicle schema errors remain. This proves dependency separation and the exercised progression paths, not manual playability or multiplayer acceptance.
[native-2026-09-19-015605](evidence/native-2026-09-19-015605/report.json) adds the native objective service: two Core-only rounds, 38 assertions, no script or VM exceptions. Tests verify prison task creation, previous-task completion, list-only search disclosure, changed instructions after radio discovery, countdown and reset after interrupted defence, physical extraction and restart. Seven inherited vehicle schema errors remain. These assertions inspect native task state; they do not establish the rendered UI quality or remote-client behavior.
[native-2026-09-19-015947](evidence/native-2026-09-19-015947/report.json) checks the same Core changes with all companions loaded: one escape round, 26 assertions, no script/VM exceptions. Seven vehicle schema errors remain. The test retains physical document recovery, interrupted radio defence and actual helicopter occupancy while the core services own progression.
[native-2026-09-19-020149](evidence/native-2026-09-19-020149/report.json) checks death/spectator/defeat with the new Core task lifecycle and companions loaded: one round, 10 assertions, no script/VM exceptions. Seven inherited vehicle schema errors remain.