@mutmutco/hermes-plugin 4.0.18 → 4.1.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/hermes-plugin",
3
- "version": "4.0.18",
3
+ "version": "4.1.0",
4
4
  "description": "MMI canonical skills transported as a Hermes Agent native plugin.",
5
5
  "author": {
6
6
  "name": "MMI Future",
package/plugin.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 1,
3
3
  "name": "mmi",
4
- "version": "4.0.18",
4
+ "version": "4.1.0",
5
5
  "description": "MMI canonical workflow skills and fail-closed pre-tool policy gates.",
6
6
  "provides_hooks": [
7
7
  "pre_tool_call"
@@ -99,8 +99,11 @@ part of the batch), use the inverse-friendly single link:
99
99
  mmi-cli oracle issue link-child <parent> <child>
100
100
  ```
101
101
 
102
- Each child is now a parallel item — fan them out one worktree + PR each. **When the last child merges,
103
- close the umbrella** (its board `Done` follows automatically).
102
+ Each child is now a parallel item — fan them out one worktree + PR each. On Windows, set
103
+ `git config core.longpaths true` on the main checkout before the first `git worktree add` (#5499). When
104
+ several linked worktrees belong to the same clone, serialize `git branch -m` / other ref renames (or retry
105
+ serially on `.tmp-renamed-log`) so parallel agents do not race the shared ref log (#5485). **When the last
106
+ child merges, close the umbrella** (its board `Done` follows automatically).
104
107
 
105
108
  ## Notes
106
109
 
@@ -83,9 +83,9 @@ the main-base PR. Do not duplicate those steps with raw branch commands, manual
83
83
  GitHub PR creation.
84
84
 
85
85
  Conflicts confined to regenerable distribution / version-fold paths (e.g. Hub `distribution-bom.json`,
86
- locked plugin manifests, consumer `package.json`) — and, for hub-serverless + registry-publish, shipped
87
- skill roots `skills/` and `.kilo-plugin/skills/` (#4363 / #4471) — are auto-resolved (take the picked
88
- side) and regenerated by the bump/fold step. Source TS under `src/` / `cli/src/` is never auto-resolved.
86
+ locked plugin manifests, consumer `package.json`) — and, for hub-serverless + registry-publish, the
87
+ canonical skill root `skills/` (#4363 / #4471) — are auto-resolved (take the picked side) and regenerated
88
+ by the bump/fold step. Source TS under `src/` / `cli/src/` is never auto-resolved.
89
89
 
90
90
  Before cutting the hotfix branch, `hotfix start` preflights every `--from` pick on an accumulating
91
91
  `origin/main` tree (#4472). If any pick would hard-stop, it refuses with every failing pick and path and
@@ -403,7 +403,11 @@ workspace mechanics:
403
403
  (`Closes #…, #…`). When an issue must stay open (HOLD/prep), never write `Does not close #N` — GitHub
404
404
  still closes it; use `Part of #N` / `Refs #N` / `leaves #N open` only (JC#495).
405
405
  - **Parallel:** run independent work concurrently, **one PR per item**. If two would touch the same file,
406
- serialize them or fold them into a batch instead.
406
+ serialize them or fold them into a batch instead. On Windows, set `git config core.longpaths true` on the
407
+ main checkout before the first `git worktree add` (#5499; see `docs/Architecture/worktrees.md`). Linked
408
+ worktrees of one clone still share `.git`: serialize `git branch -m` / other ref renames across those
409
+ worktrees, or retry serially when the error names `.git/logs/refs/.tmp-renamed-log` (#5485; see
410
+ `docs/Architecture/worktrees.md`).
407
411
  - **Background:** run off the hot path (a background task or CI job); poll with `/loop` if useful. Bound it
408
412
  — never block silently.
409
413
  - **Split:** keep the original as the umbrella; file each child as a **native sub-issue** of it with
@@ -61,7 +61,7 @@ Before treating `docs/**` as current-state, teach the Hub door (Hub#4133 / #4148
61
61
 
62
62
  ```bash
63
63
  mmi-cli oracle repo-index search <path-or-symbol-or-meaning> # Hub cloud pointers (default)
64
- mmi-cli oracle repo-index search "where …" --semantic # Titan meaning over embeddings
64
+ mmi-cli oracle repo-index search "where …" --semantic # BGE meaning over embeddings
65
65
  mmi-cli oracle repo-index status --cloud # is the estate index live?
66
66
  ```
67
67
 
@@ -116,18 +116,29 @@ gated at the **Cloudflare edge** (#1761). The CLI detects your IP, dispatches th
116
116
  rule scoped to your dev host + IP). The box no longer IP-gates dev. No SSH from your machine; everything
117
117
  moves through the central workflows.
118
118
 
119
+ **Deploy-model preflight (#5466 / #5467).** `/stage --live` is **not** generally available. Read
120
+ `deployModel` first (`mmi-cli oracle org project get {owner}/{repo}` → `deployModel`, or the dry
121
+ `mmi-cli stage --live --json` refusal). It applies only to **`tenant-container`** repos (the same
122
+ model the Hub tenant-deploy + tenant-control gates require). **`registry-publish` is not applicable**
123
+ for live stages — nor are hub-serverless, solo-container, static-cdn, content, or none. For an
124
+ unsupported model the dry plan refuses **before** offering `--apply` / `--down`; do not invent a
125
+ tenant deploy or gate.
126
+
119
127
  ```bash
120
- mmi-cli stage --live # dry-run plan
128
+ mmi-cli stage --live # dry-run plan (refuses when deployModel is not tenant-container)
121
129
  mmi-cli stage --live --apply # deploy + gate your IP at the Cloudflare edge
122
130
  ```
123
131
 
124
- Tear it down when done — the runtime stops and the Cloudflare edge gate is removed:
132
+ Tear it down when done — **only when `--apply` actually created a runtime or gate**. The runtime stops
133
+ and the Cloudflare edge gate is removed:
125
134
 
126
135
  ```bash
127
136
  mmi-cli stage --live --down --apply
128
137
  ```
129
138
 
130
- Personal dev stages only rc/live environments still move exclusively through the promotion train.
139
+ If apply never landed (unsupported model, failed dispatch, or you never ran `--apply`), `--down` is a
140
+ **safe no-op** — do not promise teardown of a stage that was never created. Personal dev stages only —
141
+ rc/live environments still move exclusively through the promotion train.
131
142
 
132
143
  ## Step 3 — report
133
144
 
@@ -136,7 +147,9 @@ The stage URL, what's running (server + tools), the workspace path (`tmp/stage/`
136
147
  ## Notes
137
148
 
138
149
  - `/stage` is local — no AWS, no deploy, no board or version effect. The one cloud exception is
139
- `--live`: an on-demand **dev** stage of your branch, gated to your IP at the Cloudflare edge (above).
150
+ `--live`: an on-demand **dev** stage of your branch for **`tenant-container`** repos only, gated to
151
+ your IP at the Cloudflare edge (above). Preflight `deployModel` before offering it; `registry-publish`
152
+ and other models have no live stage.
140
153
  - Remote rc/live environments move only through `/rcand`, `/release`, and `/hotfix`.
141
154
  - Everything is gitignored; `/stage` never produces a tracked change.
142
155
  - **Playwright MCP output goes to `tmp/`**, never the repo root: if you drive the Playwright MCP server,