Make the base escape mission independent and add native objectives

This commit is contained in:
2026-09-19 02:03:52 +02:00
parent 7a507a7371
commit 92fd23f274
54 changed files with 5271 additions and 52 deletions
+4
View File
@@ -53,3 +53,7 @@ python3 tools/headless_workbench.py --compat /tmp/erri-headless-compat --profile
The runner uses Gamescope's headless backend, retains full GPU rendering on a private display, and terminates only its new process group. It rejects a concurrent editor using the same test profile, stops after failure/timeout/completion, and returns a nonzero status for any recorded native errors. `radio-network` exercises real radio equipment and interrupted delivery before the normal death/spectator test.
The user requested muted test audio. The runner creates/reuses only `erri_tests_silent`, a muted null output, sets a separate PulseAudio application ID, and verifies/reroutes/mutes test-owned streams during execution. It does not change the system default sink or other application streams.
## Core isolation
Pass `--project core --smoke victory` to `headless_workbench.py` to compile only Core and vanilla and run the separate base fixture. The full integration fixture still defaults to `--project chat`. Core now owns document recovery and objective markers; optional Intel distribution and the shared field map must not be required to advance the mission. Inspect the **Loaded addons** log section, not **Available addons**, when checking actual isolation.