Repository navigation
Guard test timing and quarantine rules in CI - #173
Conversation
Review summaryScope check: the diff is confined to Goal vs. diff: I traced the guard's awk logic against every entry path and reverse transition described in the PR body and
All of this matches the described behavior, and the self-test file's Two things worth tracking, neither a confirmed code fault:
|
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
03bdb68 to
9ede144
Compare
Summary
Reject additional real-time calls in Swift tests and require issue-linked reasons for quarantined tests.
Existing calls have per-file, per-pattern allowances. Intentional system timing needs
// real-time: <reason>. Quarantines use.disabled("quarantine: #<issue> <reason>"); condition-gated tests remain allowed. The guard is a spelling check, with documented parser limits.#172 (parallel CI) is merged. This PR adds the timing guard, its CI job, and documentation against
main.Evidence
swift test: 1,349 passed; 11 optional native preview/benchmark tests skipped (Core 532, MacOS 507, App 321). Unsigned Debug Xcode build passed. Workflow YAML parsed andgit diff --checkpassed. Guard also passed against the injectable-clock branch test tree.mainto include Run AI reviews only when the maintainer requests them #174, Inject a clock into display refresh debouncing #175, and Make Dark the default and sync icon choices with Finder #170. Resolved the documentation overlap by retaining both the manual-clock and timing-guard guides. Removed the baseline allowance for the debouncer sleep eliminated by Inject a clock into display refresh debouncing #175. Final head:103efe5.swift testpassed (1,364 passed, 12 optional native/preview/benchmark checks skipped); unsigned Debug Xcode build passed; all 44 guard self-tests and the current-tree guard passed; both workflow files parsed;git diff --checkpassed. Fresh hosted CI passed on103efe5, including Ubuntu guards, unit tests, release package, both app builds, and the required aggregate.guardsjob passed: all 44 self-test cases and the test-tree guard passed (job log).Merge Danger
Door: two-way
Blast Radius: tests
The new
guardsjob is covered by the requiredtestaggregate. Existing waits are not migrated. No dependency, permission, or runtime behavior changes.