What consumers do with the rule
Across a fleet of about 90 policy files, 14 list no-task-tracker-references
in inherit.disabled_rules and 3 more shadow it with a same-id copy that
restates the pattern to narrow files.exclude. The comments give three
recurring reasons. The first is duplication, from a workspace policy:
# Disabled because no-process-history-references, inherited from the
# same set, already refuses every linking form this one does ... and
# running both reports each hit twice.
The second is the 1.17.0 widening. Two consumers under one superproject:
# uphold 1.17.0 widened no-task-tracker-references from Markdown, reST
# and plain text to every file in the tree ... the first run under the
# wider glob reported 27 of them on a pointer bump that touched none.
and a sibling counted 276 across src/, packaging and scripts on a commit
that touched none of them. Both kept the rule as a docs-only copy.
The third is a superproject whose source comments cite an issue as the
place a measurement lives; it disables both rules in 9 policy files with
the same sentence: "An issue reference in this tree is an evidence anchor
rather than tracker state leaking into prose."
Why
policy/base/process-residue.toml line 119 onward: no-task-tracker-references
has files.include = ["."] and no files.glob since commit 0f79c26 (#158,
shipped in 1.17.0), which removed files.glob = ["*.md", "*.rst", "*.txt"].
no-process-history-references at line 134 still carries that glob. The
two overlap on the github.com/<owner>/<repo>/(issues|pull)/N URL and on
issue #N, which the tracker rule's prose-word arm also matches, so a
Markdown line in either form is reported twice under two ids. The
workspace comment overstates the overlap (the history rule does not match a
bare #N), but the double report on the shared forms is real. PR #192 adds a separator arm to the bare-number alternation, which widens the
rule again over every source file the 1.17.0 glob change admitted.
What would close it
Split by scope: keep no-task-tracker-references on the docs glob it had
before 1.17.0 and ship the every-file scope as a second id a consumer opts
into, or the reverse with the docs id as the opt-in. And de-duplicate
against no-process-history-references so a line both patterns match is
reported once, naming both ids. Each of the 14 disables was a consumer
choosing between a rule that refuses every commit and no rule at all.
What consumers do with the rule
Across a fleet of about 90 policy files, 14 list
no-task-tracker-referencesin
inherit.disabled_rulesand 3 more shadow it with a same-id copy thatrestates the pattern to narrow
files.exclude. The comments give threerecurring reasons. The first is duplication, from a workspace policy:
The second is the 1.17.0 widening. Two consumers under one superproject:
and a sibling counted 276 across
src/, packaging and scripts on a committhat touched none of them. Both kept the rule as a docs-only copy.
The third is a superproject whose source comments cite an issue as the
place a measurement lives; it disables both rules in 9 policy files with
the same sentence: "An issue reference in this tree is an evidence anchor
rather than tracker state leaking into prose."
Why
policy/base/process-residue.tomlline 119 onward:no-task-tracker-referenceshas
files.include = ["."]and nofiles.globsince commit 0f79c26 (#158,shipped in 1.17.0), which removed
files.glob = ["*.md", "*.rst", "*.txt"].no-process-history-referencesat line 134 still carries that glob. Thetwo overlap on the
github.com/<owner>/<repo>/(issues|pull)/NURL and onissue #N, which the tracker rule's prose-word arm also matches, so aMarkdown line in either form is reported twice under two ids. The
workspace comment overstates the overlap (the history rule does not match a
bare
#N), but the double report on the shared forms is real. PR #192 adds a separator arm to the bare-number alternation, which widens therule again over every source file the 1.17.0 glob change admitted.
What would close it
Split by scope: keep
no-task-tracker-referenceson the docs glob it hadbefore 1.17.0 and ship the every-file scope as a second id a consumer opts
into, or the reverse with the docs id as the opt-in. And de-duplicate
against
no-process-history-referencesso a line both patterns match isreported once, naming both ids. Each of the 14 disables was a consumer
choosing between a rule that refuses every commit and no rule at all.