harness: permissions changes owe no HARNESS.md note
The coupling gate treated every path under .claude/ as mechanism, so editing the pre-approved command list demanded an explanation of a machine that had not changed. HARNESS.md already calls settings.json a convenience — if its schema changed the harness would still work, you would just get more prompts — so the gate now exempts that one file and nothing else. Carries the settings.json edit that exposed it.
This commit is contained in:
+4
-1
@@ -76,7 +76,10 @@ if [ -d .git ] && command -v git >/dev/null 2>&1; then
|
||||
pass "templates/theme-contract coupling"
|
||||
fi
|
||||
|
||||
if echo "$changed" | grep -qE '^(CLAUDE\.md$|scripts/|\.claude/)' && ! echo "$changed" | grep -qx 'HARNESS.md'; then
|
||||
# settings.json is permissions, not mechanism — HARNESS.md calls it a convenience, so a tweak there
|
||||
# owes no explanation. Everything else under .claude/ changes how the machine behaves.
|
||||
harnesschanged=$(echo "$changed" | grep -E '^(CLAUDE\.md$|scripts/|\.claude/)' | grep -v '^\.claude/settings\.json$' || true)
|
||||
if [ -n "$harnesschanged" ] && ! echo "$changed" | grep -qx 'HARNESS.md'; then
|
||||
bad "the harness changed (CLAUDE.md, scripts/ or .claude/) but HARNESS.md did not — the guide to the machine is part of the machine"
|
||||
else
|
||||
pass "harness/HARNESS.md coupling"
|
||||
|
||||
Reference in New Issue
Block a user