jbaruch / jbaruch/coding-policy
detect-triggers refuses a round with no repository surface, so an investigation cannot be dispatched
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 2
- Avg merge
- 9h 22m
- Merged PRs (30d)
- 81
Description
Split out of #470, which routes a research request to a round instead of letting the lead answer it.
The gap
skills/herdr-teamlead/teamlead/triggers.py:451:
if not changes and not planned_lines and not (plan is not None and plan["cli_surface"]):
raise UsageError("This round classifies nothing: ...")
An investigation-only round touches no repository surface: no diff, no paths it will add or change, no package sizes, no CLI surface. It has nothing to declare, so detect-triggers refuses it — and SKILL.md Step 5 makes that call mandatory before plan.
Concretely: "what's the best way to run integration tests against a Codex subscription" now correctly routes to a round (#470), reaches Step 5, and cannot get past it.
Why it isn't a one-liner
The guard is deliberate — #415 added it so a vacuous empty plan can't pass as "nothing fired." The fix needs a way to say "this round writes nothing" that a script can tell apart from silence, which is the same distinction .herdr/triggers.json already draws between an explicit [] and an omitted field.
Design choices to settle:
- a
--plannedfield (writes_repository: false) plus a schema bump, or adetect-triggersflag - whether the no-surface path is admissible only for read-only responsibilities (advisor / investigator / architect)
- what the four detected triggers mean for a round that writes nothing — presumably none can fire, which should be stated rather than inferred
Surfaces to update once chosen: triggers.py + its tests, references/specialists.md (declaration docs), SKILL.md Step 5, CHANGELOG.
Found by the Copilot review on #470.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start at skills/herdr-teamlead/teamlead/triggers.py:451 and inspect the related trigger tests, then compare the explicit [] versus omitted-field behavior in .herdr/triggers.json. Resolve how an investigation-only round declares no repository surface and how triggers behave, then update triggers.py, its tests, references/specialists.md, SKILL.md Step 5, and CHANGELOG. Done means the Codex-subscription investigation can pass the mandatory detect-triggers step without allowing a vacuous plan.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- cli, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100