Improve base guidance and qualify bounded aircraft route and hidden test lifecycle

This commit is contained in:
2026-09-19 16:41:32 +02:00
parent 6f0e4c5978
commit 5a24eea2f5
192 changed files with 27066 additions and 46 deletions
+9
View File
@@ -101,3 +101,12 @@ Use `--project core --smoke lifecycle --rounds 1` for the bounded physical slot,
## Objective panel destruction
Use `--project core --smoke objective-ui --rounds 1` for the short native close/rebind/reopen and isolated task-deletion check. It restores the actual mission task assignment and requests its own terminal test reset. See [objective widget lifecycle](objective-widget-lifecycle.md). Every new headless session captures pre-launch addon hashes and a stopped log seal; archive it before changing addon sources.
### Disposable-prefix lifecycle checks
Both hidden ordinary-game and Workbench runners take `.erri-workbench.lock` before checking that the disposable prefix is idle. Proton spells its prefix `pfx/`; only trailing separators are treated as equivalent. A busy prefix is refused before launch, never repaired automatically at startup.
After a launched test, the runners stop their own wineserver and fresh process group, then verify that no prefix process remains. For the explicitly owned `/tmp/erri-headless-compat` only, `private_prefix_cleanup.py` can reap adopted `winedevice.exe` children left behind by Proton: exact prefix, same user, installed executable and inode, fixed argv, user-systemd parent and unchanged process start identities must all match. It pins each candidate with a pidfd, rechecks the complete prefix census before each signal, and uses bounded TERM/KILL waits. Unknown or newly arriving processes stop cleanup; no other prefix or parent process is signalled. Other disposable prefixes retain ordinary shutdown and strict idle checking without this orphan-reaping path.
The runner records `cleanup_confirmed`, a structured cleanup report and any errors. Incomplete cleanup fails the run and prevents claiming a sealed stopped source/log snapshot. [The explicit historical cleanup](evidence/private-prefix-cleanup-2026-09-19-1631/review.json) removed nineteen old device helpers missed by the earlier exact-byte prefix check; historical logs are preserved. These are test-environment guarantees, not gameplay or multiplayer acceptance.