Register twenty unrun test suites in tools/tests
Found while surveying code-reduction candidates (Task 10626): 20 test files under tools/tests/ are collected by no stage. tools/check.sh's `pytest_stage` takes exactly one file per stage and its own comment (line ~1197) says an unregistered suite never runs; none of these 20 is named by check.sh, any workflow under .github/workflows, `dc`, the compose files or a `--selftest`. `git log -S` shows they were never wired in. Run on 2026-10-27 each file alone with `python3 -m pytest -q tools/tests/<file>`: 18 pass, 2 have one failure each — test_jaah_agent_run.py (1 failed, 9 passed) and test_architectural_guard_runtimes.py (1 failed, 2 passed). Total serial cost ~40 s, the largest test_context_router_memory.py at ~14 s.
The files: test_context_router_memory.py (1131 lines), test_architectural_guard_git.py (573), test_jaah_agent_run.py (374), test_posix_only_calls.py (367), test_jaah_microvm_sh.py (263), test_prune_workflow_runs.py (235), test_jaah_service_runner.py (217), test_architectural_guard_runtimes.py (185), test_project_config_repos.py (161), test_jaah_engine_nodelink_apply.py (156), test_context_router_repos.py (137), test_jaah_service_microvm.py (113), test_windows_import_smoke.py (85), test_mirror_brand_candidates.py (50), test_jaahd_priority_units.py (44), test_jaah_paths.py (41), test_platform_path_pins.py (40), test_acp_tck.py (38), test_jaah_env.py (33), test_tmp_inodes.py (26).
Ask: make each of them earn its place or go. For each file either register it as a `run_bg_full` `pytest_stage` in tools/check.sh (the quick tier admits only churning cheap subjects per check.sh's header), or delete it where a running suite already covers the same contract (test_windows_import_smoke.py vs apps/jaahd/tests/test_windows_import_guards.py is one such pair). Root-cause the two red tests first: fix the subject if the test is right, delete or fix the test if the subject moved on. Keep tools/tests/agent_run_fixtures.py: apps/jaahd/tests imports it.
Out of scope: changing what the quick tier admits; rewriting any of these suites beyond what registering them needs; the never-run suites under other directories.
Done means: every file in the list above is either named by a `pytest_stage` in tools/check.sh or deleted with the reason in the commit; `./dc check full` is green with the new stages included; the two failures named above are resolved and the fix explained.
Required checks: ./dc check quick, ./dc check full
Outcome
Registered all 20 unrun tools/tests suites as full-tier stages, none deleted. Fixed the reds: Antigravity writes were unguarded (bridge moved TargetFile, guard missed it), plus 2 stale tests. Full gate green, merged 642b03235, deploy succeeded. Deferred: agy path-key order hardening. Memory: none applied.
Artifacts
Activity
- Created
- Run
- Runner started
- Runner ended (done)