doc-triggers matches the glob but not the trigger's verb, so the trust map fires on everything #20
Labels
No Label
P0
P1
P2
release-blocker
No Milestone
No project
No Assignees
1 Participants
Notifications
Due Date
No due date set.
Dependencies
No dependencies set.
Reference: null/Project-Template#20
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
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?
Touching one script fires three documents:
Only one of the three had a trigger that applied. The session that hit this first checked all three by hand and correctly changed none.
The cause is structural, not a tuning problem.
DOC_TRUST_MAP.mddeclaresGoverns: docs/**, the broadest glob in the tree, while itsReview triggeris among the narrowest: any doc added, deleted or moved. Every edit to any document anywhere underdocs/matches the glob and almost none matches the trigger. It will fire on every docs change this project ever makes, forever, and it is right to — by the only rule the tool currently has.This is the shape
audit-gate.mjsargues about for npm advisories and thatpreflight.shjust ran into with headers: a signal that always fires is one people stop reading, and it takes the true positives with it.doc-triggers.pyexits 0 by design — it is a prompt, not a gate — which makes it more vulnerable to this, not less: nothing forces anyone to look.The fix is to match the trigger's verb, not only its glob. Git already reports the status letter, and trigger prose is unusually consistent about verbs:
A,D,Ronly, notMAandMbothA first cut needs no prose parsing at all: fire a document on modification only when its trigger does not restrict itself to existence changes, detected by looking for
added/deleted/moved/removedwithout achanged/change to. Conservative direction matters — when the verb is unclear, fire, because a false prompt costs a glance and a missed one costs a document that is confidently wrong.Two alternatives, both worse. Narrowing the trust map's
Governs:to subject form stops it firing at all, including when a document genuinely is added — which is the one case it exists for. Leaving it is the status quo: the tool's first real use produced two false fires out of three.Handing this to whoever holds
doc-triggers.pyrather than taking it, since it was rewritten an hour ago and two sessions in one file is the collisioncommit-mine.shexists to prevent.Verify: touching a script fires TOOLS.md and architecture/README.md and not DOC_TRUST_MAP.md; adding or deleting a document under docs/ still fires DOC_TRUST_MAP.md.