@mutmutco/kilo-plugin 3.87.0 → 3.89.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.87.0",
3
+ "version": "3.89.0",
4
4
  "description": "MMI workflow skills and org gates delivery.",
5
5
  "author": {
6
6
  "name": "MMI Future",
@@ -8,7 +8,7 @@
8
8
  { "target": ".github/ISSUE_TEMPLATE/config.yml", "source": "self", "ownership": "repo", "classes": ["deployable", "content"] },
9
9
  { "target": "scripts/next-version.mjs", "source": "self", "ownership": "org", "classes": ["deployable"] },
10
10
  { "target": ".github/workflows/gate.yml", "source": "seed:gate.template.yml", "ownership": "org", "classes": ["deployable"] },
11
- { "target": ".github/workflows/agent-pr.yml", "source": "self", "ownership": "org", "classes": ["deployable"], "waivers": { "jerv-jervcode": "runs a hardened variant the org copy does not carry pull_request_target off the trusted base branch, an immutable BASE..HEAD compare with a file-count equality wall, a repo-scoped App token, and a certified-head merge that re-asserts base/head/state. Its own scripts/workflow-boundary-core.test.mjs pins those properties, so a seed refresh both weakens the repo and reds its gate. Widen the org seed to match before lifting this (#4033)." } },
11
+ { "target": ".github/workflows/agent-pr.yml", "source": "self", "ownership": "org", "classes": ["deployable"], "waivers": { "jerv-jervcode": "pins this workflow's EXACT step shapes in its own scripts/workflow-boundary-core.mjs — a literal repositories: Jerv-JervCode token scope, and whole-step equality for the surface and verdict legs. #4040 widened the org seed to the same hardened boundary (pull_request_target off the trusted base, an immutable BASE..HEAD compare with a file-count equality wall, a per-repo App token scope, and a certified-head merge), so the two now agree on substance. They cannot agree on bytes: a seed serving 16 repos resolves its token scope and its required contexts at run time, which exact-step equality rejects by construction. The waiver is permanent by design, not a deferral — lifting it would mean weakening the strictest repo to match a fleet file." } },
12
12
  { "target": ".github/rulesets/mmi-product-required-checks.json", "source": "seed:mmi-product-required-checks.template.json", "ownership": "org", "classes": ["deployable"] },
13
13
  { "target": ".gitignore", "source": "managed-block", "ownership": "org", "classes": ["deployable", "content"] },
14
14
  { "target": "README.md", "source": "seed:README.template.md", "ownership": "repo", "classes": ["deployable", "content"] },
@@ -314,6 +314,12 @@ git tag "$TAG"
314
314
 
315
315
  ## Step 3 — push tag, wait for the REQUIRED checks, then push main (the gate)
316
316
 
317
+ `mmi-cli release --apply`'s exit code is **not** the release verdict: exit `2` can mean the release
318
+ shipped successfully while protected-branch alignment remains pending, and exit `1` can mean a
319
+ post-release follow-up failed after promotion. Read the live release verdict and verify these four
320
+ facts instead: the `main..development` count, the tag on `origin`, `gh release view`, and the runs on
321
+ the release SHA.
322
+
317
323
  Required status checks are **per-repo branch protection, not a fixed list** — MMI-Hub's `main` requires
318
324
  `cli` · `infra` · `docs`, but a product repo may require different contexts or none at all (#1045). The
319
325
  release SHA is always fresh (the Step 1b fold commits on local `main`), so when checks ARE required,
@@ -500,6 +506,11 @@ mmi-cli org project sync-info --apply # omit --apply for the read-only plan
500
506
 
501
507
  ## Step 6 — collect deploy verdict + report
502
508
 
509
+ The `release --apply` exit code is **not** the release verdict. Report the live release verdict from
510
+ the four checks that matter: the `main..development` count, the tag on `origin`, `gh release view`,
511
+ and the runs on the release SHA; an alignment PR is normal follow-up work when those checks confirm
512
+ the release shipped.
513
+
503
514
  Collect the backgrounded prod-deploy watch from Step 4 (it has typically finished by now). Confirm prod is
504
515
  healthy (the central deploy workflow smoke step / a health check); **red** → report the failure prominently and flag
505
516
  that the release shipped on a failed deploy (re-run just the deploy — `main` is already correct).