feat(self-check): command-restates-standard lint (consistency category, VERSION 1.4.2)
Task 3 leftover. Adds a 'consistency' category to /self-check that catches a standard drifting back into restating/contradicting the command that owns the rule -- the Syncro timers failure mode (standard said 'always timer' while /syncro said 'outlier only'). Deterministic half: each manifest.command_standard_links pair's standard must still carry its defer-to-SSOT pointer (must_reference regex). Lost pointer = WARN. Seeded with syncro-billing (time-entry-protocol.md -> /syncro). Semantic contradiction pass delegated to the model in SKILL.md, mirroring check_memory. Verified PASS; negative-tested. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -18,6 +18,16 @@
|
||||
"guard_wired_in": ".claude/scripts/sync.sh"
|
||||
},
|
||||
|
||||
"command_standard_links": [
|
||||
{
|
||||
"topic": "syncro-billing",
|
||||
"standard": ".claude/standards/syncro/time-entry-protocol.md",
|
||||
"must_reference": "syncro\\.md|single source of truth",
|
||||
"why": "the time-entry standard must DEFER to the /syncro command (one SSOT), not restate billing mechanics. A past drift had the standard say 'always timer' while the command said 'outlier only' — losing the pointer is the early warning of that re-drift."
|
||||
}
|
||||
],
|
||||
"command_standard_links_note": "Deterministic half of the command-restates-standard lint: each linked standard must contain a defer-to-SSOT pointer (must_reference, a grep -iE regex). A WARN means the standard may have drifted back into restating/contradicting the command. The SEMANTIC contradiction judgement (read both files, decide if they actually conflict) is delegated to the model in SKILL.md, mirroring the memory contradiction pass.",
|
||||
|
||||
"required_tools": [
|
||||
{ "name": "bash", "why": "hooks, scripts, sync, vault wrapper" },
|
||||
{ "name": "git", "why": "repo + submodules + Gitea sync" },
|
||||
|
||||
Reference in New Issue
Block a user