# CI test allowlist — the windows-latest `test-windows` job in icdev-ci.yml.
#
# Append at the END; do not reflow neighbouring lines. This file is `merge=union`
# in .gitattributes so two branches appending here resolve to the superset
# (kax-conflict-07). Same rules and same `--check` gate as core.txt; see
# tools/ci/gated_test_list.py.
#
# SCOPE: the portability-SENSITIVE subset, not the suite. These are the modules
# that touch the filesystem, spawn processes or thread wall-clock timing — the
# three places where Windows and POSIX actually diverge. Adding the whole suite
# here would buy noise, not signal, and would double CI time.
#
# THIS FILE IS THE ONLY ONE YOU EDIT — the icdev/data/args/ copy is refreshed by
# `python tools/installer/sync_package_tree.py`.

# test_rubric_build_tools.py is the direct regression pin for the CRLF bug
# (hgx-exec-01) — its newline-fidelity assertions read RAW BYTES and are the ones
# that go red here and stay green on Linux.
tests/genesis/test_rubric_build_tools.py

# test_toolset_portability.py asserts the build toolset never requests a shell,
# always passes a list argv, and never names a POSIX-only binary. It runs on BOTH
# OSes (it is in the Linux `test` job too) because a portability claim proven on
# one OS is not proven.
tests/test_toolset_portability.py

# tests/test_agent_loop*.py own the wall-clock and threading behaviour, where
# Windows timer granularity differs.
tests/test_agent_loop.py
tests/test_agent_loop_semantic_loop.py
tests/test_agent_loop_wall_clock.py
tests/test_agent_loop_wiring.py
tests/llm/test_agent_loop_shim.py
tests/llm/test_rubric_loop.py

# tests/studio/ and the executor/adapter tests spawn subprocesses and resolve
# executables.
tests/studio/
tests/test_local_agent_adapter.py
tests/test_agent_surface_dispatch.py
tests/test_kanban_executor_resolution.py
tests/kanban/test_build_mode_and_model.py

# test_dwo_dispatch_parity.py resolves template roots from __file__ and reads
# every template with newline="" — path separators and line endings are exactly
# where this diverges, so it runs on BOTH OSes.
tests/test_dwo_dispatch_parity.py

# exa-bench-01 -- codex_cli resolves an executable through PATHEXT and pipes a
# prompt past the Windows 32767-char argv limit. Both are Windows-specific
# failure modes, so this is the OS where the claim is actually earned.
tests/test_codex_cli_adapter.py
# exa-bench-02 -- copilot_cli / goose_cli. These belong in the portability subset
# for the reason the whole family does: they resolve executables through PATHEXT
# (the suffix-less ~/.local/bin name never exists on Windows -- 25 kanban tasks
# were quarantined as "no executor available" before that was traced), pipe the
# prompt from a temp file opened with newline="" to dodge the 32767-char argv
# limit, and assert on both platform branches through an explicit is_windows
# parameter. A portability claim proven on one OS is not proven.
tests/test_copilot_cli_adapter.py
tests/test_goose_cli_adapter.py
tests/test_agent_adapter_no_inert_stubs.py
