Decouple base configuration and administration from companions

This commit is contained in:
2026-09-19 03:15:33 +02:00
parent 35daefa860
commit ce19ec68df
96 changed files with 9200 additions and 171 deletions
+6
View File
@@ -57,3 +57,9 @@ The user requested muted test audio. The runner creates/reuses only `erri_tests_
## 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.
## Deliberate startup failure
Use `--project core --smoke startup-failure --rounds 1` only for the negative-path fixture. It changes the test's in-memory faction catalog to an invalid combination, verifies that services stop and no players/sites/stock spawn, checks the administrator-visible reason and rejects further progression. The normal startup ERROR is expected in this test and is preserved in the native report. No source configuration or external mission is modified. This fixture does not restart, so exactly one round is required.
The Core victory fixture also holds its actual player character unconscious for 35 seconds at the radio, longer than the all-dead grace period. It checks that the physical survivor still prevents defeat, cannot advance radio progress, retains control/camera, and resumes defence after consciousness is restored without receiving another life. This uses the native controller's consciousness transition; it does not validate treatment animations, medical item consumption, bleeding or a remote revive action.