@mutmutco/cursor-plugin 4.3.48 → 4.3.49

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mmi",
3
- "version": "4.3.48",
3
+ "version": "4.3.49",
4
4
  "mmiCompat": "4.x",
5
5
  "description": "MMI workflow skills and organisation gates for Cursor.",
6
6
  "author": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/cursor-plugin",
3
- "version": "4.3.48",
3
+ "version": "4.3.49",
4
4
  "description": "MMI workflow skills and organisation gates for Cursor.",
5
5
  "author": {
6
6
  "name": "MMI Future",
@@ -10,6 +10,12 @@ The organization ruleset restricts AGENTS.md, CLAUDE.md, GEMINI.md, the .claude,
10
10
  directories, and .cursor/rules at any depth in covered repositories. Designated distribution-source
11
11
  repositories have centrally managed exceptions; a product developer must not invent a bypass.
12
12
  Do not force-add ignored files or commit plugin caches to work around delivery problems.
13
+ Never disable an org ruleset (`mmi-branch-protection`, `mmi-train-floor`, `mmi-no-agent-files-org`)
14
+ by hand to push past it. When the owner has approved a bounded relaxation window, the restore is
15
+ unconditional, not a later step in the same chain: a failed push after the disable must still
16
+ re-enable the ruleset (shell `trap`/`finally`), and the run ends by reading the ruleset back as
17
+ `enforcement: active`. A one-liner of `disable && push` leaves protection off the moment the push
18
+ is rejected.
13
19
 
14
20
  Do not create repository environment files to hold runtime configuration or secrets.
15
21
  Use the declared vault and supported [keyless workflows](vault.md), including for local stages.
@@ -50,7 +50,7 @@ Read the receipt at `$r`, never the exit code (exit `2` = shipped with a follow-
50
50
  - `releaseVerdict.releaseStatus` + `followUpStatus` — `succeeded` + `pending` is shipped with the follow-up unresolved: neither failed nor done.
51
51
  - `deployStatus` — `pending` is never terminal; `promoted: true` holds even when a deploy failed.
52
52
  - `workflowRuns` — every run on the release SHA (deploy-model runs, any `push: main` deploy, the repo's own `gate`). Watch each non-success entry to conclusion: `gh run watch <run-id> --repo {owner}/{repo} --exit-status`. Name which run is red: `deploy.yml` / `publish.yml` / `tenant-deploy.yml` / `jerv-gateway` is a deploy or publish verdict; a `gate` push run is ordinary CI sharing the SHA.
53
- - With `--watch` the train waits for its own alignment PR to land (true merge) and folds the ledger in the same run, so the receipt ends `succeeded` / `complete`. An external `gh run watch` never folds anything: if the receipt still shows a `pending` leg (no `--watch`, or the alignment PR outlived the bounded wait), fold it live before declaring the cut done or starting any new train: `mmi-cli devops release --resume --watch --json --out <fresh-receipt>`; the NEXT train's doctor otherwise refuses with `ledger-pending`.
53
+ - With `--watch` the train waits for its own alignment PR to land (true merge) and folds the ledger in the same run, so the receipt ends `succeeded` / `complete`. An external `gh run watch` never folds anything: if the receipt still shows a `pending` leg (no `--watch`, the alignment PR outlived the bounded wait, or a release-event `publish.yml` run on a registry-publish repo had not been correlated by the time the receipt was written — `--watch` waits for the alignment PR, not for that run, so a `publish` leg `pending` with no run URL after `--watch` is the expected direct-track shape, not a failure), fold it live before declaring the cut done or starting any new train: `mmi-cli devops release --resume --watch --json --out <fresh-receipt>`; the NEXT train's doctor otherwise refuses with `ledger-pending`.
54
54
  - `announceNote` — `announced` (to the alerts channel for the Hub, to the project release channel for a product repo), `skipped`, or the failure note. The channel id itself is never printed.
55
55
  - `devRollForward` / `rcAlignment` — `pushed`, or `pr-pending` with the alignment PR to land by true merge (Merge floor). An enqueued auto-merge is not evidence of the method; before reporting, read the enqueued method back — `gh pr view <n> --json autoMergeRequest --jq .autoMergeRequest.mergeMethod` — and prove it is `MERGE`. An enqueued `SQUASH` is a stop under the Merge floor, not something to wait out.
56
56
  - `versionFold`, `rcRetirement`, `checkout` — `returned`, or the named reason you are still on `main`.