Skip to content

Commit b54ff0f

Browse files
committed
test(health): neutral repo placeholders in the conductor fixtures
The stubbed Heart readiness payloads in test_health_conductor.py used real satellite repo names ("PyAutoFit: uncommitted changes", "PyAutoLens: status unknown") as the repo half of a "<repo>: <problem>" reason string. Nothing in the file asserts on that half — the conductor classifies by verdict and reason text, not by who reported it — so the names were pure filler that the tenant firewall (PyAutoMind/scripts/repos_sync.py) counts as instance facts leaking into organ code. Replaced with neutral placeholders (library-a / library-b) and a comment fixing the convention, so the firewall stays meaningful without an allowlist entry this file does not deserve. Same judgment as the fixture rename in PyAutoBrain#193 (checkout_a/b/c): a fixture that does not need a real repo name should not carry one. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0148Baec3aLwGpSJ5yYwiHZG
1 parent 53cdc14 commit b54ff0f

1 file changed

Lines changed: 10 additions & 5 deletions

File tree

tests/test_health_conductor.py

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,11 @@
2828
# free slot 1 (bash's own generic failure), because STALE passes the ship gate.
2929
EXIT_GREEN, EXIT_YELLOW, EXIT_RED, EXIT_UNKNOWN, EXIT_USAGE, EXIT_STALE = 0, 2, 3, 4, 5, 6
3030

31+
# Reason strings are stubbed Heart output. The repo half of a "<repo>: <problem>"
32+
# reason is deliberately a NEUTRAL placeholder, never a real satellite repo name:
33+
# nothing here asserts on it (the conductor classifies by verdict and reason
34+
# text, not by who reported it), so a real name would be an instance fact the
35+
# tenant firewall counts against organ code for no test value.
3136
STALE_ONLY = {
3237
"verdict": "stale",
3338
"score": 75,
@@ -37,7 +42,7 @@
3742
"stale_reasons": [
3843
"no release validation for current source",
3944
"install verification not run",
40-
"PyAutoLens: status unknown",
45+
"library-a: status unknown",
4146
],
4247
}
4348

@@ -174,9 +179,9 @@ def test_every_verdict_maps_to_a_distinct_exit_code(tmp_path):
174179
EXIT_GREEN: {"verdict": "green", "red_reasons": [], "yellow_reasons": [],
175180
"stale_reasons": []},
176181
EXIT_YELLOW: {"verdict": "yellow", "red_reasons": [],
177-
"yellow_reasons": ["PyAutoFit: uncommitted changes"],
182+
"yellow_reasons": ["library-a: uncommitted changes"],
178183
"stale_reasons": []},
179-
EXIT_RED: {"verdict": "red", "red_reasons": ["PyAutoFit: CI failing on main"],
184+
EXIT_RED: {"verdict": "red", "red_reasons": ["library-a: CI failing on main"],
180185
"yellow_reasons": [], "stale_reasons": []},
181186
EXIT_UNKNOWN: {},
182187
EXIT_STALE: STALE_ONLY,
@@ -242,7 +247,7 @@ def test_red_still_dominates_a_stale_reason(tmp_path):
242247
never recommend a refresh while a blocker is open."""
243248
t, code = _triage(tmp_path, {
244249
"verdict": "red", "score": 40,
245-
"red_reasons": ["PyAutoFit: CI failing on main"],
250+
"red_reasons": ["library-a: CI failing on main"],
246251
"yellow_reasons": [],
247252
"stale_reasons": ["install verification not run"],
248253
})
@@ -254,7 +259,7 @@ def test_red_still_dominates_a_stale_reason(tmp_path):
254259
def test_yellow_real_warning_still_wins_over_a_stale_reason(tmp_path):
255260
t, code = _triage(tmp_path, {
256261
"verdict": "yellow", "score": 60, "red_reasons": [],
257-
"yellow_reasons": ["PyAutoLens: uncommitted changes"],
262+
"yellow_reasons": ["library-b: uncommitted changes"],
258263
"stale_reasons": ["install verification not run"],
259264
})
260265
assert code == EXIT_YELLOW

0 commit comments

Comments
 (0)