@mutmutco/codex-plugin 4.3.3 → 4.3.5

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.3",
3
+ "version": "4.3.5",
4
4
  "mmiCompat": "4.x",
5
5
  "description": "MMI workflow skills and org gates delivery.",
6
6
  "author": {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mutmutco/codex-plugin",
3
- "version": "4.3.3",
3
+ "version": "4.3.5",
4
4
  "description": "MMI workflow skills and org gates delivery.",
5
5
  "author": {
6
6
  "name": "MMI Future",
@@ -812,7 +812,10 @@ node scripts/release-distribution.mjs verify "X.Y.0"
812
812
  Removing that proof tree afterwards: `npm ci` writes `node_modules`, which `git status --porcelain`
813
813
  never shows and which makes `git worktree remove` refuse with `Directory not empty`. Delete
814
814
  `node_modules` first, then remove the worktree. On Windows a global install made from a worktree leaves
815
- a junction there, so delete the directory rather than following it.
815
+ a junction there, so delete the directory rather than following it. In a guarded agent shell pass the
816
+ **literal absolute** proof path to `git worktree remove` — the checkout guard refuses a variable-held
817
+ target (`Blocked git worktree remove with an unanalyzable variable-held target`, #2492 / #6060); only an
818
+ interactive shell may pass `"$PROOF"`.
816
819
  Release-blocking for Hub tooling changes: every public artifact must match the registry version and BOM
817
820
  identity. Manual fallback if CI can't publish: `node scripts/release-distribution.mjs publish "X.Y.0"`
818
821
  from a machine with npm auth.
@@ -851,7 +854,12 @@ cross-environment shape for surfaces with no publish-time staged payload, not a
851
854
  Off the publish environment, either:
852
855
  - fall back to an **unpacked-content** proof — download the registry tarball (`npm pack <pkg>@X.Y.Z`
853
856
  from the registry, or `npm view … dist.tarball`), `npm pack` from the tag checkout, unpack both, and
854
- compare the trees (do not alarm on SSRI alone). Hub host-plugin npm surfaces stage the canonical
857
+ compare the trees (do not alarm on SSRI alone). On Windows unpack with the native
858
+ `%SystemRoot%\System32\tar.exe` named explicitly — a bare `tar.exe` can resolve to Git's GNU tar
859
+ through PATH, which reads a drive-letter path as a remote host (`Cannot connect to C: resolve
860
+ failed`, #6059) — and run `npm pack` from the package directory (`cd` there; no positional path
861
+ and no `--pack-destination` under a path with spaces), since routing npm through `cmd.exe /c`
862
+ reparses quoted paths (#6058). Hub host-plugin npm surfaces stage the canonical
855
863
  `skills/` tree and declared hook-policy `scripts/` into the package at publish time via
856
864
  `assembleDeclaredPayloads` (#5471); those paths are gitignored and absent from a plain tag checkout,
857
865
  so a local `npm pack` without staging cannot reproduce them and an empty `diff -r` is an unreachable
@@ -86,6 +86,15 @@ mmi-cli vault secrets rm SCRAPER_API_KEY
86
86
  **Never** pass a value as an argument (`secrets set KEY thevalue` is wrong — there is no value arg). The
87
87
  confirmation prints the **name and tier only**, never the value.
88
88
 
89
+ **Windows: a multiline wrapped command must be file-backed (#6048).** `cmd.exe` truncates at the first
90
+ newline, so an inline `node -e "<multiline script>"` after `--` reaches the child truncated and fails
91
+ before your code runs. Write the script to a **project-local ignored file** (e.g. `tmp/fetch-models.mjs`
92
+ — git-ignored, never tracked) and wrap the file instead; the key is still injected into the child's env:
93
+
94
+ ```bash
95
+ mmi-cli vault secrets use GEMINI_API_KEY -- node tmp/fetch-models.mjs
96
+ ```
97
+
89
98
  ## Rotation checklist
90
99
 
91
100
  Before rotating, enumerate every copy of the key so no tier stays stale: