ci(tests): grandfather feat-cmux-next's test-determinism debt so the gate fails only on new findings

Merged
TE
16d ago
+92-0

Summary

ci-guards.yml's Validate test determinism gate step (quality-determinism group) runs scripts/check-test-determinism.py --self-test and then --strict. Until now ci.yml ran it only for pull requests into main, so feat-cmux-next built up test debt that nothing checked: 137 active findings across 90 (path, rule) pairs in Packages/**/Tests, webviews/test and tests/. #23534 routes this group for feat-cmux-next pull requests, which makes the step red there on the head and on the base.

This PR appends those 90 pairs to .github/test-determinism-allowlist.txt with a reason, which is the tool's mechanism for existing debt. The existing 30 entries and their reasons stay; --write-allowlist would have replaced every reason with "grandfathered", so I appended instead.

What stays enforced: --strict still fails on any (path, rule) pair not in the list, which covers a new test file or a new kind of finding in an existing file. The rule self-test is unchanged. No test code changes. Fixing the listed tests is follow-up work; each line says to remove it once its test is determinized.

There is one likely false positive: AgentPaneSafeFetchRebindingTests.swift uses https://127.1:…, which is loopback but flagged as live-network-host. It is listed, not fixed.

Changelog

none

Testing

python3 scripts/check-test-determinism.py --strict

Observed / Not run

Observed: the checker run locally as above (it is a lint, not a test file), and the prepush gate passes.
Not run: no test files. This PR's own CI runs the step only once #23534 routes quality-determinism for feat-cmux-next pull requests.

Agent session: cosmic-gray

🤖 Generated with Claude Code


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Grandfathers feat-cmux-next's test-determinism debt into the allowlist so the gate fails only on new findings. The gate wasn't running on that branch, so 90 (path, rule) pairs had accumulated across Packages/**/Tests, webviews/test, and tests/; they're now added with reasons, and the existing allowlist entries are untouched. --strict still catches new findings in new or existing tests.