jbaruch / jbaruch/coding-policy

detect-triggers refuses a round with no repository surface, so an investigation cannot be dispatched

Open
#471 0 comments 0 reactions 0 assignees View on GitHub

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 --planned field (writes_repository: false) plus a schema bump, or a detect-triggers flag
  • 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

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.