pi-orchestrator-config 4.19.0 → 4.20.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 +16 -7
- package/package.json +1 -1
- package/prompts/release.md +47 -24
package/README.md
CHANGED
|
@@ -806,7 +806,7 @@ PI_PIDIFF_ENABLE=false pi
|
|
|
806
806
|
| `myk-pi-tools pr claude-md` | Fetch `CLAUDE.md` and `AGENTS.md` content for a PR's repository |
|
|
807
807
|
| `myk-pi-tools release create` | Create a GitHub release with changelog |
|
|
808
808
|
| `myk-pi-tools release plan` | Scoped-release plan: which packages changed since their last publish (per-package registry-anchored diff windows). Detection only — no proposed versions. Read-only; requires `release-map.toml` at the repo root — without it, reports lockstep mode and changes nothing (issue #965) |
|
|
809
|
-
| `myk-pi-tools release bump-scoped` | Bump ONLY the affected packages' version files. Versions are ALWAYS explicit: `--set NAME=VERSION` per affected package (the versions the LLM/user decided in the `/release` flow) or a global `--version X.Y.Z` — the plan never proposes versions.
|
|
809
|
+
| `myk-pi-tools release bump-scoped` | Bump ONLY the affected packages' version files. Versions are ALWAYS explicit: `--set NAME=VERSION` per affected package (the versions the LLM/user decided in the `/release` flow) or a global `--version X.Y.Z` — the plan never proposes versions. Each package versions from its own registry history (no global repo-tag guard — no forced jumps for long-skipped packages); tags are per-package `<name>@<version>`. Versions are validated (strict x.y.z, no leading zeros, strictly greater than the registry-published version). Errored packages, undetected version files, or partially-updatable manifests abort before or at the first bad write. Requires `release-map.toml` — without it, exit 1 (use `bump-version` for lockstep) (issue #965) |
|
|
810
810
|
| `myk-pi-tools db` | Review database query commands |
|
|
811
811
|
| `myk-pi-tools reviews` | Review handling commands (fetch, poll, address, post, store, store-session) |
|
|
812
812
|
| `myk-pi-tools reviews poll` | Poll a PR for review comments until approved or actionable — `--source qodo` reads findings through the `qodo` CLI (structured, with spans and authoritative open/closed status) when the binary is installed and authenticated, and falls back to the GitHub sticky-comment scrape otherwise. Read-only: replies are always posted as GitHub comments via `reviews address` |
|
|
@@ -840,15 +840,24 @@ myk-pi-tools release plan --force-package pi-docsite
|
|
|
840
840
|
- Global excludes configured in the map (e.g. `tests/`) never trigger a release by themselves;
|
|
841
841
|
multi-registry packages must agree across their registries or they are reported as errored,
|
|
842
842
|
never silently skipped.
|
|
843
|
+
- The plan also reports **unmapped changes**: files changed since the last repo tag that
|
|
844
|
+
belong to no package, no exclude, and no container rebuild-path. A change that ships
|
|
845
|
+
nowhere silently is the broken failure mode — the operator maps the path or consciously
|
|
846
|
+
accepts it as release-inert.
|
|
843
847
|
- The container image is reported as needing a rebuild when any package ships or a `rebuild-paths` entry changed since the last repo tag.
|
|
844
848
|
|
|
845
849
|
`myk-pi-tools release bump-scoped` performs the scoped version bump: only affected
|
|
846
|
-
packages' version files are written,
|
|
847
|
-
|
|
848
|
-
|
|
849
|
-
|
|
850
|
-
|
|
851
|
-
|
|
850
|
+
packages' version files are written, and any errored package or undetected version file
|
|
851
|
+
aborts before a single write. Each package versions from **its own registry history** —
|
|
852
|
+
there is deliberately no global repo-tag guard, so a package skipped for several releases
|
|
853
|
+
takes the next version after its own last publish (never a forced jump past the global tag
|
|
854
|
+
sequence). Tags are **per package** (`<name>@<version>`) and cannot collide. The plan
|
|
855
|
+
detects WHAT changed and nothing more — no proposed versions, no bump types. The next
|
|
856
|
+
versions are decided by the LLM and the user in `/release` and passed as
|
|
857
|
+
`--set NAME=VERSION` (without `--set` or `--version`, `bump-scoped` refuses to run).
|
|
858
|
+
`/release X.Y.Z` overrides every affected package to that version. Each shipped package
|
|
859
|
+
gets its own GitHub release tagged `<name>@<version>`. See the Scoped Mode Check in the
|
|
860
|
+
release prompt.
|
|
852
861
|
|
|
853
862
|
Without a `release-map.toml`, `release plan` reports lockstep mode and nothing else changes —
|
|
854
863
|
the generic release flow is untouched.
|
package/package.json
CHANGED
package/prompts/release.md
CHANGED
|
@@ -75,13 +75,26 @@ root only).
|
|
|
75
75
|
**If PRESENT:** run the SCOPED flow instead of Phases 2–5:
|
|
76
76
|
|
|
77
77
|
- **Phase S2 — Detection:** `myk-pi-tools release plan --json`. If any
|
|
78
|
-
package is errored, show the errors and abort — do not bump.
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
78
|
+
package is errored, show the errors and abort — do not bump. The plan
|
|
79
|
+
only reports WHICH packages changed and their published versions — it
|
|
80
|
+
does NOT decide the next versions. ALSO inspect `unmapped_changes` in
|
|
81
|
+
the plan JSON — ALWAYS, before any other decision: files that changed
|
|
82
|
+
but belong to no package, exclude, or container rebuild-path. If
|
|
83
|
+
non-empty, show them to the user as text IMMEDIATELY (a changed file
|
|
84
|
+
that ships nowhere silently is the broken failure mode) — map the
|
|
85
|
+
path (edit `release-map.toml`) or consciously accept it as
|
|
86
|
+
release-inert. This display is NOT part of Phase S4 approval: it
|
|
87
|
+
happens even when an explicit version was given and even when no
|
|
88
|
+
packages are affected. Then, if no packages are affected, report
|
|
89
|
+
"nothing to release — no package changed since its last publish"
|
|
90
|
+
(plus the unmapped list, if any) and stop.
|
|
83
91
|
- **Phase S3 — Changelog + version proposals:** generate the changelog
|
|
84
|
-
with the standard Phase 3 rules
|
|
92
|
+
with the standard Phase 3 rules, EXCEPT the commit window: scoped
|
|
93
|
+
repos have per-package tags (`name@version`), so do NOT anchor the
|
|
94
|
+
changelog on `release info`'s `last_tag` or its version-branch tag
|
|
95
|
+
filter (`v2.10.*` inference finds no per-package tags and would treat
|
|
96
|
+
the run as a first release) — anchor on each affected package's own
|
|
97
|
+
`anchor` from the plan JSON. Then, for EACH affected package, YOU
|
|
85
98
|
(the LLM) decide the next version. IMPORTANT: a package's history
|
|
86
99
|
reaches back to ITS last publish, which may predate the last repo tag
|
|
87
100
|
— do NOT rely on the changelog alone. For each affected package run
|
|
@@ -92,29 +105,39 @@ root only).
|
|
|
92
105
|
just subjects — a `BREAKING CHANGE:` footer lives in the commit body
|
|
93
106
|
and forces major even under a `feat:`/`fix:` subject. The plan does NOT propose versions — you
|
|
94
107
|
do. An explicit version argument (`/release X.Y.Z`) instead sets EVERY
|
|
95
|
-
affected package to that version, skipping per-package decisions.
|
|
96
|
-
|
|
97
|
-
|
|
108
|
+
affected package to that version, skipping per-package decisions.
|
|
109
|
+
Each package versions from ITS OWN registry history only — a package
|
|
110
|
+
skipped for N releases takes the next version after its own last
|
|
111
|
+
publish (e.g. 4.18.0 → 4.19.0), never a jump past the global tag
|
|
112
|
+
sequence.
|
|
113
|
+
- **Phase S4 — Approval:** skip the `ask_user` entirely if an explicit
|
|
98
114
|
version was provided in the raw arguments (same contract as lockstep
|
|
99
|
-
Phase 4
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
`
|
|
106
|
-
|
|
115
|
+
Phase 4 — the unmapped-changes display already happened in S2).
|
|
116
|
+
Otherwise: show the changelog, the per-package version
|
|
117
|
+
proposals (`current → proposed`), the plan's skipped-packages list,
|
|
118
|
+
AND any `unmapped_changes` files as text — the human validates the
|
|
119
|
+
detection on every scoped release (a package wrongly skipped is the
|
|
120
|
+
broken failure mode). Then a short `ask_user`: `Release?` with
|
|
121
|
+
options `yes`, `no`, plus one override option per package in the form
|
|
122
|
+
`<name>: <level>` (e.g. `myk-pi-tools: minor`) so the user can adjust
|
|
123
|
+
any package's level before confirming.
|
|
107
124
|
- **Phase S5 — Bump:** `myk-pi-tools release bump-scoped --json` with
|
|
108
125
|
one `--set <name>=<version>` per affected package carrying YOUR final
|
|
109
126
|
proposed versions (after any user overrides). Use `--version X.Y.Z`
|
|
110
127
|
instead when the user passed an explicit version. Parse the JSON:
|
|
111
|
-
stage ONLY the files in `updated[]
|
|
112
|
-
Bump PR, merge,
|
|
113
|
-
|
|
114
|
-
`chore: bump version to
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
128
|
+
stage ONLY the files in `updated[]`; each entry in `packages[]`
|
|
129
|
+
carries its per-package `tag` (`<name>@<version>`). Bump PR, merge,
|
|
130
|
+
and branch sync follow the standard Phase 5 delegation (git-expert /
|
|
131
|
+
github-expert), with the bump PR message `chore: bump version to
|
|
132
|
+
<name1>@<v1>[, <name2>@<v2>...]` (keep the `chore: bump version`
|
|
133
|
+
prefix — it is filtered from changelogs).
|
|
134
|
+
- **Phase S6/S7:** release create ONE GitHub RELEASE PER SHIPPED
|
|
135
|
+
PACKAGE, tag `<name>@<version>` from the bump JSON, same changelog
|
|
136
|
+
body (including the Shipped packages section), and PASS
|
|
137
|
+
`--title "<name> <version>"` explicitly — without it the release
|
|
138
|
+
title defaults to the raw `name@version` tag. Tags are per-package
|
|
139
|
+
and cannot collide — there is no repo-wide `v<TAG>` in scoped mode.
|
|
140
|
+
Summary lists each release URL and per-package versions.
|
|
118
141
|
|
|
119
142
|
### Phase 2: Version Detection
|
|
120
143
|
|