@irythill/orq 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -58,7 +58,7 @@ independent acceptance criteria.
58
58
  - Each batch is independently testable and reviewable; dispatch in order, one implementer per batch. Record the split in
59
59
  Plane (sub-issues or a checklist comment) before starting.
60
60
  - Scope too big mid-run (reviews hitting `policy.max_rounds`, repeated findings, the implementer asking to change
61
- scope): stop, split the remainder, don't force more rounds.
61
+ scope): stop, split the remainder, don't force more rounds. `orq rounds <ID>` shows the alert; on warn/stop `orq rounds <ID> --diagnose` says why.
62
62
 
63
63
  ## 3. Pick agent and model: always `orq pick`, never by hand
64
64
  `orq pick` decides agent, model, effort and account (user config + delivery and token history + current quota +
@@ -143,6 +143,9 @@ herdr-agent $(cat $O/impl-<repo>.pick) -g <group> -t "<ID> impl <repo>" -d $WT -
143
143
  origin/<BASE>...HEAD`); (2) `NODE_OPTIONS=--max-old-space-size=2048 tsc --noEmit` for the project. Don't run tests".
144
144
  Full suite only in CI (or a manual `herdr-baseline` if the user asks).
145
145
  - An issue that changes an API contract: **API first**; consumers afterwards, with the new contract in the prompt.
146
+ - **A red board line / `✗` pane title = a failure you may have missed.** If you see one (or the user says notices aren't
147
+ arriving), run `orq notice` (delivery log) and `<prefix>.done` for that issue, then handle the failure; running
148
+ `orq wait`, `orq verify` or `orq agent` for the issue acknowledges it.
146
149
  - **Never block waiting** (`herdr agent wait`, `pane wait-output`, `sleep`, `timeout`): completion arrives as a
147
150
  `[HERDR-AGENT DONE]` line in your pane. Dispatch, report in one line and end your turn. "Done yet?" = `<prefix>.done`
148
151
  exists (never `pgrep`).
@@ -178,12 +181,14 @@ are in the attached verify)". If the reviewer ends with `status=fail` and no ver
178
181
  `jetski: ... permission` line), that is not a rejection: run `orq pick review ... --exclude-agent <it>` and redo it.
179
182
  `--exclude-agent` applies **only to redoing that review** (save the new pick to `review-<repo>.pick`); the next
180
183
  round reuses whoever gave the verdict. An agent that failed twice in a row with no verdict →
181
- `orq block <agent> --days 1` and tell the user.
184
+ `orq block <agent> --days 1` and tell the user. If it stopped on a quota limit, use `orq block <agent> --quota` (until
185
+ the window resets; a fixed period outlives it and keeps the agent out of `orq pick` for nothing). If `orq pick` finds no
186
+ candidate, its output is empty and `orq agent` refuses to start: stop and tell the user.
182
187
  **Review tools** (an agent whose `run` has no `{prompt}`/`{prompt_text}`/stdin, e.g. a CodeRabbit-like CLI with
183
188
  `ok_exit`/`filter` in the config): same command; it ignores the prompt and the attachments and reviews the branch
184
189
  against `{base}` itself. Read its answer like any other: `status=ok` with `rc≠0` is a verdict with findings, not a
185
190
  failure. Its high-severity items are the blockers, still under the step 6 rule (`file:line` + concrete failure).
186
- If the tool's answer opens with (or, when short, consists of) a statement that nothing was reviewed (e.g. Corvus's "Nada para revisar"), `agents.<name>.no_review` (a
191
+ If the tool's answer opens with (or, when short, consists of) a statement that nothing was reviewed (e.g. Revtool's "Nothing to review"), `agents.<name>.no_review` (a
187
192
  regex) makes `orq agent` end that run `status=fail`: `orq pick`'s fallback and the conductor treat it as not run,
188
193
  same as an empty answer.
189
194
  **Second opinion** (`orq pick opinion`, read only, same attachments): only on **heavy** issues or when reviewer and
@@ -223,7 +228,7 @@ Then a new `herdr-verify` (4b) and the **round review** (step 5 with these chang
223
228
  any regression it introduced, as `[blocker]`/`[suggestion]`. Outside the fix diff, report only a blocker you missed
224
229
  before that would break production, and say why it wasn't in the first review". Anything else is a suggestion. A review tool can't answer that: it reviews the whole
225
230
  branch again, so you do the matching — a finding is a blocker this round only if it is inside `fix-<n>.diff` or is a
226
- NOT RESOLVED item of `fix-<n>.md`; one you already decided on (fixed, rejected or downgraded) stays decided. **Maximum: `orq config get policy.max_rounds` rounds** — `orq agent -R` refuses the next one (exit 4) and counts per session, so a renamed prefix doesn't reset it; on exit 4 stop and tell the user, `-F` only with their OK; over it → `orq pick impl
231
+ NOT RESOLVED item of `fix-<n>.md`; one you already decided on (fixed, rejected or downgraded) stays decided. **Maximum: `orq config get policy.max_rounds` rounds** — `orq agent -R` refuses the next one (exit 4) and counts per session, so a renamed prefix doesn't reset it; on exit 4 stop and tell the user. With their OK run `orq rounds <ID> --diagnose` (a cheap independent agent, advisory: read its `RECOMMENDATION` — continue / split / change-implementer / ask-user — and tell the user), then `-F` (refused without a diagnosis newer than the last fix/review; `-F -F` skips that, only if the user says so); over it → `orq pick impl
227
232
  --exclude-agent <it> > $O/impl-<repo>.pick` only with the user's OK, or stop and report. Non-blocking suggestions go into the comment; they
228
233
  don't become a round.
229
234
 
@@ -16,7 +16,8 @@ rules — read the repo's own before touching it. This file only holds the map a
16
16
  several unrelated areas, change roughly >400 lines, mix refactor with behavior change, or have independent acceptance
17
17
  criteria. Each batch must be testable and reviewable on its own; record the split in Plane before starting.
18
18
  - Reviews hitting `policy.max_rounds`, repeated findings or the implementer asking to change scope mean it was too big:
19
- stop and split the remainder instead of forcing more rounds.
19
+ stop and split the remainder instead of forcing more rounds. `orq rounds <ID> --diagnose` asks an independent agent why
20
+ (advisory); `orq agent -R -F` past `max_rounds` needs that diagnosis (`-F -F` skips it, only on the user's word).
20
21
 
21
22
  ## Repositories
22
23