# CI exclusion manifest for defaults/scripts/tests/ (issue #4455)
#
# Every `test-*.sh` in this directory must appear in EXACTLY ONE of:
#   - ci-wired.txt     — run by run-ci-suites.sh in CI (hermetic on ubuntu-latest)
#   - ci-excluded.txt  — this file: explicitly excluded, with a one-line reason
#
# check-ci-suite-manifest.sh enforces that partition in CI, so a newly added
# suite that is in NEITHER list fails the check — it cannot silently join an
# unwired pool. To exclude a suite, add a line here: `<suite.sh>  <reason>`.
# Blank lines and lines beginning with `#` are ignored. The first whitespace-
# delimited token is the filename; everything after it is the (required) reason.
#
# Format: <test-file.sh>  <reason>

test-install-reinstall-safety.sh  Already wired in the "Installer Integration Tests" job (#4188); excluded here to avoid double-running it.
test-spawn-codex.sh  Already wired in the "Codex Adapter Smoke (mocked)" job (#4468), which adds adapter-specific hermeticity guards; excluded here to avoid double-running it.

# epic #7810 PR 3: each of these drives a thin stub that execs a `loom-daemon`
# subcommand, so it needs a BUILT binary — which run-ci-suites.sh's job has no
# toolchain for. Wired in the "Native Port Suites" job instead,
# which builds one first. Each suite FAILS rather than SKIPs without a binary,
# so neither location can report green while running nothing.
test-classify-dependency-block.sh  Needs a built loom-daemon; wired in the "Native Port Suites" job (#7952), which builds one first.
test-classify-dependency-block-premise-false.sh  Needs a built loom-daemon; wired in the "Native Port Suites" job (#7952), which builds one first.
test-detect-dependency-cycle.sh  Needs a built loom-daemon; wired in the "Native Port Suites" job (#7952), which builds one first.
test-detect-startable-subset.sh  Needs a built loom-daemon; wired in the "Native Port Suites" job (#7952), which builds one first.
test-dep-recheck-fingerprint.sh  Needs a built loom-daemon; wired in the "Native Port Suites" job (#7961), which builds one first.
test-claude-wrapper-retry.sh  Needs a built loom-daemon since #8037 routed claude-wrapper.sh's six classifiers through `loom-daemon retry-classify`; wired in the "Native Port Suites" job, which builds one first. Its 44 assertions are unchanged from #8032 — they are the equivalence proof for that port.
test-loom-daemon-update-resolve-json.sh  Needs a built loom-daemon since #7977 routed --resolve-json through it; wired in the "Native Port Suites" job, which builds one first. Split from test-loom-daemon-update.sh rather than moving it: the parent is one of the five host-mutating suites LIVE_DAEMON_GUARDED_SUITES owns, and that membership is pinned as a literal in test-run-ci-suites-daemon-guard.sh.
test-loom-daemon-update-fetch.sh  Needs a built loom-daemon since #8028 routed fetch_and_verify_artifact() through `loom-daemon release-fetch`; wired in the "Native Port Suites" job, which builds one first. Split from test-loom-daemon-update.sh for the same reason as its resolve-json sibling: the parent is one of the five host-mutating suites LIVE_DAEMON_GUARDED_SUITES owns, and that membership is pinned as a literal in test-run-ci-suites-daemon-guard.sh.

# scripts/ (repo root, top-level only) — since #5278. Each of these already
# runs as its own direct step in ci.yml and/or build-gate.sh; excluded here
# (rather than wired) to avoid double-running it via run-ci-suites.sh.
scripts/test-install-local-mode.sh  Already wired directly in ci.yml's "Installer local/gitignore mode" step and build-gate.sh; excluded here to avoid double-running it.
scripts/test-installer.sh  Already wired directly in ci.yml's "Installer Integration Tests" job and build-gate.sh; excluded here to avoid double-running it.
scripts/test-migrate-consumer.sh  Already wired directly in ci.yml's "migrate-consumer" step and build-gate.sh; excluded here to avoid double-running it.
scripts/test-daemon-liveness.sh  Runs in the post-Builder buildGate (.loom/config.json -> bash .loom/scripts/build-gate.sh) on a BUILDER'S HOST, not in CI — no workflow invokes build-gate.sh (#8069). Left unwired here on purpose: it spawns a decoy process named `loom-daemon` to prove `pgrep -x` rejects what `pgrep -f` accepts (#5548), so wiring it into run-ci-suites.sh should go with a deliberate LIVE_DAEMON_GUARDED_SUITES decision rather than riding along with this change.

# Not a thin-stub suite: test-spawn-claude.sh exercises spawn-claude.sh, which
# CALLS `loom-daemon tokens select`. Same operational need (a built binary),
# different reason — it is not equivalence evidence for a port.
test-spawn-claude.sh  Needs a built loom-daemon (spawn-claude.sh token selection, #4228); wired in the "Native Port Suites" job (#8069), which builds one first. Until #8069 it ran in NO job at all — the old reason here said wiring it needed "a cargo build step or a binary stub — follow-up", and that job has since been built.
