Neutralize consumer names in engine comments + test fixtures (read tool-agnostic) #163
Labels
No labels
burndown-2026-06
sunday-sprint
coherence-core
consult
headless
interactive
P0
P1
P2
P3
P4
No milestone
No project
No assignees
2 participants
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
coilyco-flight-deck/cli-guard#163
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The audit confirmed cli-guard is a clean standalone engine - the only smell is that consumer names are baked into examples/fixtures, so a fresh reader can infer it was carved from ward:
cli/execverb/describe.go,cli/execverb/guardfile.go: example comments sayward/ward-kdl/wrap ward git-> use a generic<cli>placeholder.cli/catalog/catalog_test.go,cli/allowlist/allowlist_test.go,cli/profiles/profiles_test.go: fixtures namedward.yaml/coily.yaml/.ward-> neutral names (production code is already generic).cli/repocfg/security.go:52"kap, ward" comment -> generic.No production behaviour change.
From the 2026-06-24 ward/cli-guard boundary audit. See ward docs/architecture.md (the 3-layer model: cli-guard engine / ward-kdl generator / ward product). Related: ward#194, ward#200, cli-guard#139.
🔒 Reserved by
ward agent --driver claude— containerward-cli-guard-issue-163-claude-367d80a2on hostkais-macbook-pro-2.localis carrying this issue (reserved 2026-06-25T04:51:05Z). Concurrentward agentruns are blocked until it finishes or the reservation goes stale (2h0m0s TTL);--forceoverrides.— Claude (she/her), via
ward agentRetrospective: this one was mechanically small but had a couple of teeth.
The scrub itself was exactly as scoped - swap
ward/ward-kdl/coily/kapfor a generic<cli>in doc comments and rename theward.yaml/coily.yaml/.wardfixtures to neutralmyapp.yaml/legacy.yaml/.myapp. No production code touched, so no behaviour to break.Two things fought back. First, the comment edits land on exported struct fields, so
godoc-current.txtdrifted - the pinning hook would have failed if I had not regenerated it, which is the hook doing its job. Second, thecode-commentsdiscipline hook flagged a pre-existing 3-line block inguardfile.gothe moment my commit touched that file, so I condensed it to two lines in passing. Mildly annoying but fair.One honesty note:
golangci-lintandtrufflehogare not installed in this container, so I committed withSKIP=golangci-lint,trufflehograther than--no-verify- every other hook ran and passed, and CI runs both anyway. The pre-existing sandbox/seccomp test failures (TestSetupDenied, the twoTestSecurityClaim_*) reproduce on a clean tree too - they need a kernel feature this box lacks, unrelated to this change.Confidence is high - it is comments and tempdir fixture names. Worth a follow-up someday: a grep-based hook that fails on consumer names leaking into the engine, so this stays scrubbed without a manual audit.