From e2fb6b2faee62f6da75b62249da85aced3b71fe6 Mon Sep 17 00:00:00 2001 From: "pulse-triage[bot]" <249995291+pulse-triage[bot]@users.noreply.github.com> Date: Thu, 1 Oct 2026 03:05:17 +0100 Subject: [PATCH] Match watchdog Git fixtures to the checkout ignore policy The first exact offline suite passed the metadata cases but the clean-tree assertion saw Python import bytecode because the fixture omitted the real .gitignore. Copy that existing policy into the fixture, retaining the source/no-mutation assertion. Contract-Neutral: Fixture setup now copies the existing repository ignore policy; runtime and deployment contracts are unchanged. Change-source: pulse-maintainer --- scripts/release_control/rehearsal_source_test.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/scripts/release_control/rehearsal_source_test.py b/scripts/release_control/rehearsal_source_test.py index b69b4e6dde..f297703760 100644 --- a/scripts/release_control/rehearsal_source_test.py +++ b/scripts/release_control/rehearsal_source_test.py @@ -37,7 +37,9 @@ class RehearsalSourceTest(unittest.TestCase): self.git("config", "user.email", "fixture@example.invalid") self.git("config", "user.name", "Fixture") self.git("config", "core.hooksPath", "/dev/null") - for name in ("scripts/release_control/control_plane.py", + # Match the real checkout's generated-file policy, including Python's + # import cache, while still detecting any uncommitted source change. + for name in (".gitignore", "scripts/release_control/control_plane.py", "scripts/release_control/repo_file_io.py", "scripts/release_control/resolve_release_promotion.py", "docs/release-control/control_plane.json"):