@mutmutco/kilo-plugin 3.130.0 → 3.131.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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/kilo-plugin",
3
- "version": "3.130.0",
3
+ "version": "3.131.0",
4
4
  "description": "MMI workflow skills and org gates delivery.",
5
5
  "author": {
6
6
  "name": "MMI Future",
@@ -18,9 +18,9 @@ The FIX is never back-merged: `development` already contains it, and `rc` absorb
18
18
 
19
19
  The VERSION FOLD is different, and `hotfix release` ports it for you (#4410). `hotfix start` commits the
20
20
  fold onto the main-base branch, so after the tag `main` declares the new version while `development`
21
- still declares the old one and on a repo whose branch-pinned files carry that version (the Hub's
22
- `.claude-plugin/marketplace.json` pins plugin content to `main`) catalog-lockstep then reds **every** PR
23
- into development until it is ported. Step 3 opens that development-base fold PR automatically; land it.
21
+ still declares the old one. The Hub's catalogs now pin exact npm packages (#4948), so there is no
22
+ branch/content lockstep red; the fold still must land so the next release starts from production's real
23
+ version, BOM, and package pins. Step 3 opens that development-base fold PR automatically; land it.
24
24
 
25
25
  ## Merge floor (#3167 — non-negotiable)
26
26
 
@@ -144,19 +144,17 @@ merged into `development`; the fold is regenerated on a branch cut from `develop
144
144
  reported `development fold port FAILED`, follow the manual remedy it named; never improvise a merge from
145
145
  `main`.
146
146
 
147
- ### Catalog-lockstep vs development prepare (#4517)
147
+ ### Development fold after a hotfix (#4517 / #4948)
148
148
 
149
- Hub docs catalog-lockstep refuses PRs into `development` that advance
150
- `.claude-plugin/marketplace.json` ahead of `origin/main`. That gate is correct for main-anchored catalog
151
- truth. When Publish-Truth / a version bump must advance the marketplace, do **not** land
152
- `release-distribution prepare` as a development PR — use this hotfix door:
149
+ The Hub's thin catalogs now pin exact npm packages, so the old main-anchored catalog-lockstep gate is
150
+ retired: an unreleased branch cannot deliver a package version the release train has not published.
151
+ Hotfix versioning still belongs on the main-base train, never in an improvised development prepare PR:
153
152
 
154
153
  1. `mmi-cli devops hotfix start --from <merged-dev-pr-or-sha>` (prepare + distribution bump on `hotfix/vX.Y.Z` from `main`)
155
154
  2. merge the hotfix PR → `mmi-cli devops hotfix release vX.Y.Z` (publish)
156
155
  3. land the automatic `hotfix-fold/<tag>` development fold PR (or follow its printed remedy)
157
156
 
158
- A development prepare PR that only exists to move marketplace ahead of main will keep failing
159
- catalog-lockstep; that is not a false red — switch to the hotfix path above.
157
+ The fold is now required for version/BOM/package-pin continuity, not to clear a branch-content gate.
160
158
 
161
159
  ## Retro
162
160
 
@@ -24,15 +24,14 @@ first gap:
24
24
  - **Board** — is the Project board reachable, and how many items are on it.
25
25
  - **Registry** — is the repo registered in the Hub (`PROJECT#<slug>` META).
26
26
  - **Secrets** — is a GitHub token available for the vault path.
27
- - **Plugin** — will this machine ever pick up a new MMI plugin release, and from which branch (#3485).
28
-
29
- The **Plugin** row is the one nothing else catches, and it is per machine, not per repo. Claude Code
30
- leaves auto-update **off** for third-party marketplaces, and a marketplace registered with no
31
- `source.ref` serves its catalog from the repo's default branch while pinning plugin content to `main`.
32
- Both are hand edits in the developer's own Claude config org tooling deliberately does not write them
33
- (owner ruling on #3485) so a machine nobody tells stays silently a release behind from day one. The row
34
- names both fixes verbatim; it never takes `Next command`, because a stale plugin does not stop the work in
35
- front of you.
27
+ - **Plugin** — is `mmi-updater` the single writer, and does its journal show every present surface at
28
+ the gated fleet version (#4945).
29
+
30
+ The **Plugin** row is per machine, not per repo. The Hub's thin Claude/Codex catalogs pin exact npm
31
+ packages; Git no longer transports plugin content, and background marketplace auto-update stays **off**
32
+ so it cannot race the scheduled updater. The updater gates a release tag+BOM, converges each present host,
33
+ and writes the journal stamp (`fleet <V> ✓`). A red row names `mmi-updater verify` or
34
+ `mmi-updater reconcile`; no marketplace ref or hand-edited auto-update ceremony remains.
36
35
 
37
36
  A `✗` on any line comes with a `Next command:` — run **that** first. Common ones:
38
37
 
@@ -313,7 +313,13 @@ git tag "$TAG"
313
313
 
314
314
  `mmi-cli devops release --apply`'s exit code is **not** the release verdict: exit `2` can mean the release
315
315
  shipped successfully while protected-branch alignment remains pending, and exit `1` can mean a
316
- post-release follow-up failed after promotion. Read the live release verdict and verify these four
316
+ post-release follow-up failed after promotion **or that the follow-up is merely unresolved** (#4939):
317
+ a verdict of `releaseStatus=succeeded` with `followUpStatus=pending` (the release-triggered runs — e.g.
318
+ the Hub's `deploy.yml` + `publish.yml` — had only just auto-fired) also exits nonzero, and a
319
+ background-task harness surfacing exit codes misreads it as "release failed" when the release actually
320
+ shipped. Classify from the verdict fields, never the exit code alone: `succeeded` + `pending` means
321
+ shipped with the follow-up unresolved — watch the enumerated `workflowRuns` to conclusion; only a
322
+ resolved failure there is a failed follow-up. Read the live release verdict and verify these four
317
323
  facts instead: the `main..development` count, the tag on `origin`, `gh release view`, and the runs on
318
324
  the release SHA.
319
325
 
@@ -499,7 +505,10 @@ mmi-cli oracle org project sync-info --apply # omit --apply for the read-only
499
505
 
500
506
  ## Step 6 — collect deploy verdict + report
501
507
 
502
- The `release --apply` exit code is **not** the release verdict. Report the live release verdict from
508
+ The `release --apply` exit code is **not** the release verdict. A nonzero exit with
509
+ `releaseStatus=succeeded` and `followUpStatus=pending` is the unresolved-follow-up case from Step 3 —
510
+ the release shipped; the runs enumerated in `workflowRuns` are the outstanding verdict, so watch them
511
+ to conclusion here rather than re-running or alarming. Report the live release verdict from
503
512
  the four checks that matter: the `main..development` count, the tag on `origin`, `gh release view`,
504
513
  and the runs on the release SHA; an alignment PR is normal follow-up work when those checks confirm
505
514
  the release shipped.