pi-orchestrator-config 4.15.0 → 4.17.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.
- package/README.md +14 -5
- package/extensions/orchestrator/enforcement-helpers.ts +561 -8
- package/extensions/orchestrator/enforcement.ts +285 -18
- package/extensions/orchestrator/git-helpers.ts +38 -1
- package/extensions/orchestrator/graft.ts +34 -3
- package/extensions/orchestrator/project-settings.ts +29 -3
- package/extensions/orchestrator/review-learning.ts +362 -77
- package/extensions/orchestrator/settings-tui-helpers.ts +31 -0
- package/extensions/orchestrator/settings-tui-submenus.ts +127 -0
- package/extensions/orchestrator/settings-tui.ts +44 -6
- package/extensions/orchestrator/status-bar.ts +25 -2
- package/extensions/pidiff/pidiff-ui/package.json +1 -1
- package/extensions/reload-flag/index.ts +404 -0
- package/package.json +2 -1
- package/prompts/review-handler.md +91 -2
- package/settings-keys.json +9 -3
package/README.md
CHANGED
|
@@ -22,7 +22,7 @@ Single extension that provides:
|
|
|
22
22
|
| **Python/pip enforcement** | Auto-fixes `python`/`python3` → `uv run python`; blocks `pip`/`pip3` — requires `uv` |
|
|
23
23
|
| **Git protection** | Blocks commits/pushes to main/master, merged branches, `--no-verify`, `git add .` |
|
|
24
24
|
| **Remote script exec block** | Blocks `curl \| bash`, `eval $(curl)`, etc. Allows safe `VAR=$(curl ...)` variable assignments |
|
|
25
|
-
| **Dangerous command gate** | Confirms `rm -rf`, `sudo`, `mkfs`, etc.
|
|
25
|
+
| **Dangerous command gate** | Confirms `rm -rf`, `sudo`, `mkfs`, etc. "Always allow this exact command" stores a pattern in the `dangerous_command_allowlist` setting (wildcards supported) — see [Safety Enforcements](docs/safety-enforcements.md#pre-approve-a-recurring-dangerous-command) |
|
|
26
26
|
| **Rule injection** | Injects orchestrator routing rules into system prompt |
|
|
27
27
|
| **Git status** | Live git status in status line with colored icons — updates after every tool call. Shows clickable `#N` when the branch has an open PR. Last-activity clock `⏱ HH:MM (Xm/Xh ago)` shows time since last response |
|
|
28
28
|
| **Desktop notifications** | Notifies via `notify-send` on task completion, waiting for input, and action required |
|
|
@@ -807,8 +807,9 @@ PI_PIDIFF_ENABLE=false pi
|
|
|
807
807
|
| `myk-pi-tools pr claude-md` | Fetch `CLAUDE.md` and `AGENTS.md` content for a PR's repository |
|
|
808
808
|
| `myk-pi-tools release create` | Create a GitHub release with changelog |
|
|
809
809
|
| `myk-pi-tools db` | Review database query commands |
|
|
810
|
-
| `myk-pi-tools reviews` | Review handling commands (fetch, poll, address, post, store)
|
|
810
|
+
| `myk-pi-tools reviews` | Review handling commands (fetch, poll, address, post, store, store-session) |
|
|
811
811
|
| `myk-pi-tools reviews address` | Apply replies/statuses to a fetched reviews JSON, then post and store it (see below) |
|
|
812
|
+
| `myk-pi-tools reviews store-session` | Store Qodo pr-review-session findings JSON into the reviews DB (idempotent; run at loop convergence) |
|
|
812
813
|
| `myk-pi-tools memory` | Project memory commands — persistent per-repo learning |
|
|
813
814
|
| `myk-pi-tools ai-cli` | AI CLI commands (cursor, claude, gemini) |
|
|
814
815
|
| `myk-pi-tools coderabbit` | CodeRabbit commands (check, trigger, retry) |
|
|
@@ -821,13 +822,21 @@ myk-pi-tools reviews address [--json <reviews.json>] [--replies <mapping.txt>] [
|
|
|
821
822
|
```
|
|
822
823
|
|
|
823
824
|
- `--json`: reviews JSON to process (default: newest `pr-*-reviews.json` in `.pi/tmp`)
|
|
824
|
-
- `--replies`: mapping file, one rule per line —
|
|
825
|
-
|
|
825
|
+
- `--replies`: mapping file, one rule per line — full syntax:
|
|
826
|
+
- `<path>:<line>|<reply>` — matches the finding's full `[line, end_line]` span
|
|
827
|
+
- `<path>:<line>~<fragment>|<reply>` — discriminator: additionally requires the
|
|
828
|
+
case-insensitive `fragment` in the finding's body (targets one of two findings
|
|
829
|
+
whose spans overlap at the same line)
|
|
830
|
+
- `<path>:*|<reply>` — every finding in that file gets the reply (per-file wildcard)
|
|
831
|
+
- `*|<reply>` — matches all pending findings
|
|
832
|
+
- A finding whose span contains another finding's span (nested findings) matches
|
|
833
|
+
only its own reported line; `#` comments and blank lines ignored
|
|
826
834
|
- `--set`: target status for matched findings — `addressed` (default), `skipped`, `not_addressed`, or `failed`
|
|
827
835
|
- Without `--replies`, pending findings that already carry a reply only get their status flipped (status-only mode)
|
|
828
836
|
- Exit code `0` = replies posted and stored; non-zero = nothing matched, validation failed, or posting failed
|
|
829
837
|
(the JSON is kept for retry — re-running with the same or a corrected mapping resumes unposted entries)
|
|
830
|
-
- Validation failures change nothing: a rule matching several distinct findings
|
|
838
|
+
- Validation failures change nothing: a rule matching several distinct findings (overlapping
|
|
839
|
+
spans — disambiguate with `<path>:<line>~<fragment>`), or a status `post`
|
|
831
840
|
rejects for Qodo sticky findings (`not_addressed`/`failed`; `skipped` only with an issue-spec-update reply),
|
|
832
841
|
exits non-zero before the JSON is saved
|
|
833
842
|
|