grinder: recover an undeployed target-regex fix + widen bin/ matching

Found while deploying tonight's mneme-embeddings grind: boltzmann's
/usr/local/bin/bullpen-grinder had silently diverged from this repo since
2026-07-25 (never re-synced after any of tonight's commits -- meaning gaps
#1/#2/#4 were only EVER live via the env-var-driven tier list, not the
report()-side AUTO-REVIEW/ESCALATION-EVAL code, which boltzmann was still
running the old version of). The deployed copy had its own hand-patched fix
that never made it into git: exclude inclusionai/ling-prefixed strings from
the target regex (a research ticket quoting a model name like
"inclusionai/Ling-flash-2.0" looks exactly like a dir/file target otherwise),
plus a bin/[\w.-]+ alternative so bullpen's own extensionless bin/bullpen-*
scripts can be auto-inferred as targets at all. Recovered both into the
regex here, properly commented, rather than losing them on the next deploy.

The deploy-sync gap itself is fixed separately by converting boltzmann's
/usr/local/bin/bullpen-grinder into a symlink into this repo (matching the
noether coordinator pattern already used for triage/selfimprove/doctor) --
see the accompanying deploy step, not a code change.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
2026-07-28 12:14:36 +02:00
parent 933dd865b3
commit 211a05dbe4
+13 -2
View File
@@ -762,8 +762,19 @@ def serve(nick):
# Explicit targets only when they look like real files; anything else is
# left to grind()'s git-backed inference, which sees the actual repo.
# Never offer a test file as a target — the grinder must not edit the spec.
targets = [t for t in re.findall(r"\b[\w-]+(?:/[\w.-]+)*/[\w.-]+\.\w+\b", body)
if not t.startswith("tests/") and t != test_rel]
# `bin/[\w.-]+` alternative: bullpen's own scripts (bin/bullpen-*) have NO
# dot-extension, so the base dir/dir/file.ext pattern alone can never match
# them — meaning a ticket fixing bullpen's own code couldn't auto-infer its
# own target. tmp/ and absolute paths are excluded (never real repo targets);
# inclusionai/ling excluded because research tickets quoting model names like
# "inclusionai/Ling-flash-2.0" look exactly like a dir/file target to this
# regex otherwise. (Recovered 2026-07-28: this fix existed only as an
# undeployed hand-patch on boltzmann's /usr/local/bin copy, never committed —
# merged back in when that staleness was found.)
targets = [t for t in re.findall(r"\b(?:bin/[\w.-]+|[\w-]+(?:/[\w.-]+)*/[\w.-]+\.\w+)\b", body)
if not t.startswith("tests/") and t != test_rel
and not t.startswith("tmp/") and not t.startswith("/")
and not t.startswith("inclusionai") and not t.startswith("ling")]
reply = _remote_grind(body, test_rel, targets)
review_reason = _auto_review_reason(reply)
posted = False