@mutmutco/claude-plugin 4.6.5 → 4.6.7
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/.claude-plugin/plugin.json +1 -1
- package/cli/dist/main.cjs +684 -466
- package/cli/package.json +1 -1
- package/package.json +1 -1
- package/skills/board/SKILL.md +1 -1
- package/skills/org-guide/references/design.md +5 -7
- package/skills/org-guide/references/work-and-releases.md +1 -1
- package/skills/rcand/SKILL.md +1 -1
- package/skills/rcand/recovery.md +1 -1
- package/skills/release/verification.md +1 -1
package/cli/package.json
CHANGED
package/package.json
CHANGED
package/skills/board/SKILL.md
CHANGED
|
@@ -75,7 +75,7 @@ quote-light body may instead be piped as a quoted heredoc straight into the inte
|
|
|
75
75
|
script, then `JS` — but a heredoc over six lines, or one carrying backslashes, backticks or `${…}`, is refused,
|
|
76
76
|
so the file form is the one that always works.
|
|
77
77
|
|
|
78
|
-
Follow printed owner rulings; record new ones with `mmi-cli oracle issue decision`. One concurrent worktree per batch: [reference.md](reference.md). Always pass `--surface <value>` explicitly on every `mmi-cli oracle issue create` (surface inference is strict and bounces when the body merely mentions a path); use `--no-surface` only for genuinely exempt filings.
|
|
78
|
+
Follow printed owner rulings; record new ones with `mmi-cli oracle issue decision`. Status, findings and handoffs go on the owning issue as a comment (`mmi-cli oracle issue comment <n> --repo <owner/repo> --body-file .jerv/tmp/<file>`, which runs on the App token by default); intercom carries only actionable coordination, never ACK or status chatter (#9547). One concurrent worktree per batch: [reference.md](reference.md). Always pass `--surface <value>` explicitly on every `mmi-cli oracle issue create` (surface inference is strict and bounces when the body merely mentions a path); use `--no-surface` only for genuinely exempt filings.
|
|
79
79
|
|
|
80
80
|
With several task lanes in one session, name the lane's worktree path (the `mmi-worktrees/<Repo>/<issue>-<slug>` path your host reported when it created the worktree) on every worktree exec or land call; the host refuses to guess (#5629). While any mmi-worktrees lane is registered for this repo, run focused tests/gates from the task-worktree root your host reported — never the primary checkout; the test policy refuses it (`test-command-untrusted-worktree-cwd`). A fresh worktree has no `.jerv/`, so `mkdir -p .jerv/tmp` before writing scratch files there (PR bodies, batches).
|
|
81
81
|
|
|
@@ -94,13 +94,11 @@ Impeccable **v4.7.0 / engine v0.1.16** details:
|
|
|
94
94
|
`NODE_AUTH_TOKEN=$(gh auth token) npm view @mutmutco/mmwork-ds@<v> version --registry https://npm.pkg.github.com`;
|
|
95
95
|
from a root without that line, pass the token directly —
|
|
96
96
|
`npm view @mutmutco/mmwork-ds@<v> version --registry https://npm.pkg.github.com --//npm.pkg.github.com/:_authToken=$(gh auth token)`.
|
|
97
|
-
To see **which** kit versions are actually published, run
|
|
98
|
-
`node scripts/kit-adopt.mjs --list-versions [--limit 5] [--json]
|
|
99
|
-
Packages `/orgs/mutmutco/packages/npm/mmwork-ds/versions` (newest first
|
|
100
|
-
`https://npm.pkg.github.com` with `GH_PACKAGES_READ_TOKEN`/`NODE_AUTH_TOKEN`
|
|
101
|
-
version, and
|
|
102
|
-
`mmi-cli devops packages` covers consumer adoption (`adopt-export`) only, so it never names a published
|
|
103
|
-
version — never carry the packages API as a stopgap.
|
|
97
|
+
To see **which** kit versions are actually published, run `mmi-cli devops packages versions --package mmwork-ds [--limit 5] [--json]`
|
|
98
|
+
(#9542; or MMI-Hub's `node scripts/kit-adopt.mjs --list-versions [--limit 5] [--json]`, #9426) instead of deriving it: both read GitHub
|
|
99
|
+
Packages `/orgs/mutmutco/packages/npm/mmwork-ds/versions` (newest first; `kit-adopt.mjs` also falls back to `npm view` against
|
|
100
|
+
`https://npm.pkg.github.com` with `GH_PACKAGES_READ_TOKEN`/`NODE_AUTH_TOKEN` and reports the local cache's latest
|
|
101
|
+
version), and neither ever hits the `registry.npmjs.org` 404 of a bare `npm view @mutmutco/mmwork-ds` (#9264, #9542).
|
|
104
102
|
- Boot once: `impeccable context --target <path>`; `init` captures PRODUCT.md, `document` maintains
|
|
105
103
|
`DESIGN.md` and its `design.json` sidecar, `impeccable doctor --json` reports drift, and `extract`
|
|
106
104
|
identifies reusable candidates (kit additions still need the Design Lead). Read
|
|
@@ -64,7 +64,7 @@ Never defer a live check waiting for real data (owner ruling 2026-10-27T20:04Z,
|
|
|
64
64
|
state it verifies with the module's dev/admin tools (MDT verbs, admin endpoints, module CLI,
|
|
65
65
|
synthetic accounts); if a needed verb is missing, add it in the same lane, then verify now.
|
|
66
66
|
|
|
67
|
-
UI, design, document and MM Artifact work follows the [design topic](design.md): the required `gate` holds fast deterministic checks only, and owner A/B choices go on an MM Artifacts canvas, never as prose.
|
|
67
|
+
UI, design, document and MM Artifact work follows the [design topic](design.md): the required `gate` holds fast deterministic checks only, and owner A/B choices go on an MM Artifacts canvas, never as prose. To inspect published `@mutmutco/*` package versions (e.g. `@mutmutco/mmwork-ds`), run `mmi-cli devops packages versions --package mmwork-ds [--limit 5] [--json]` (`orgs/mutmutco/packages/npm/<pkg>/versions`); never run a bare `npm view @mutmutco/...`, which queries the public `registry.npmjs.org` and fails with `E404` (#9238, #9542).
|
|
68
68
|
|
|
69
69
|
## Documentation preflight
|
|
70
70
|
|
package/skills/rcand/SKILL.md
CHANGED
|
@@ -38,7 +38,7 @@ mkdir -p .jerv/tmp && r=$(mktemp .jerv/tmp/rcand-receipt.XXXXXX)
|
|
|
38
38
|
mmi-cli devops rcand --apply --json --out "$r"
|
|
39
39
|
```
|
|
40
40
|
|
|
41
|
-
`--watch` blocks on the deploy. Version-manifest merge conflicts take `development` (any other refuses); the `-rc.N` tag is re-run-safe. Deploy by model: `tenant-deploy.yml` for tenant-container; serverless, registry-publish and solo-container deploy via their push-triggered workflow. Never push, force or commit to `rc` by hand.
|
|
41
|
+
`--watch` blocks on the deploy. Version-manifest merge conflicts take `development` (any other refuses); the `-rc.N` tag is re-run-safe. Deploy by model: the Hub's central deployer `mutmutco/MMI-Hub/.github/workflows/tenant-deploy.yml` for tenant-container (a tenant repo carries no deploy workflow in its own `.github/workflows/`, so read deploy status from the receipt's `runUrl` or `mmi-cli devops read run watch <run-id> --repo mutmutco/MMI-Hub --exit-status --interval 60`); serverless, registry-publish and solo-container deploy via their push-triggered workflow. Never push, force or commit to `rc` by hand.
|
|
42
42
|
|
|
43
43
|
## Verify
|
|
44
44
|
|
package/skills/rcand/recovery.md
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
Every refusal and every doctor blocker names its `code` and `anchor`: open the finding's `anchor` URL and follow that entry, nothing else ([shared recovery](../release/train-common.md#recovery)). A candidate whose immutable rc tag passed policy but whose `origin/rc` was not pushed continues with `mmi-cli devops rcand --resume --watch --json --out <fresh-receipt>` — the only continuation form: `--resume` never re-tags, and `--apply` mints the next `-rc.N` for a new cut only. A promoted candidate whose rc deploy failed retries it, once the cause is fixed, with `mmi-cli devops rcand --retry-deploy --watch --json --out <fresh-receipt>` — same tag and SHA, never re-cut or re-pushed; `--resume` only re-reads that failed leg. Supersede is the last resort, with the authorized human's fresh approval. A refused train is a stop (Merge floor): fix the cause on `development` through a normal PR, then rerun; a rejected protected push leaves the local tag for an authorized rerun, never a force.
|
|
1
|
+
Every refusal and every doctor blocker names its `code` and `anchor`: open the finding's `anchor` URL and follow that entry, nothing else ([shared recovery](../release/train-common.md#recovery)). A candidate whose immutable rc tag passed policy but whose `origin/rc` was not pushed continues with `mmi-cli devops rcand --resume --watch --json --out <fresh-receipt>` — the only continuation form: `--resume` never re-tags, and `--apply` mints the next `-rc.N` for a new cut only. A promoted candidate whose rc deploy failed retries it, once the cause is fixed, with `mmi-cli devops rcand --retry-deploy --watch --json --out <fresh-receipt>` — same tag and SHA, never re-cut or re-pushed; `--resume` only re-reads that failed leg. For `tenant-container` repos, the deploy runs on the Hub's central deployer (`mutmutco/MMI-Hub/.github/workflows/tenant-deploy.yml`, never a local `.github/workflows/` file in the tenant repo): inspect or watch it via the receipt's `runUrl` or `mmi-cli devops read run watch <run-id> --repo mutmutco/MMI-Hub --exit-status --interval 60`. Supersede is the last resort, with the authorized human's fresh approval. A refused train is a stop (Merge floor): fix the cause on `development` through a normal PR, then rerun; a rejected protected push leaves the local tag for an authorized rerun, never a force.
|
|
@@ -19,7 +19,7 @@ Read the saved result, never the exit code (`1` = a follow-up failed after promo
|
|
|
19
19
|
|
|
20
20
|
- `releaseVerdict.releaseStatus` + `followUpStatus`: `succeeded` + `pending` is shipped, follow-up unresolved. `--resume` receipts carry the same `releaseVerdict` (`command: release-resume`) plus `mode` and `state`.
|
|
21
21
|
- `deployStatus`: `pending` is never terminal; `promoted: true` holds even when a deploy failed.
|
|
22
|
-
- `workflowRuns`: every run on the release SHA (discover them with the bounded run-list read at the top, filtered locally by the receipt SHA); watch each non-success entry to conclusion with `mmi-cli devops read run watch <run-id> --repo {owner}/{repo} --exit-status --interval 60
|
|
22
|
+
- `workflowRuns`: every run on the release SHA (discover them with the bounded run-list read at the top, filtered locally by the receipt SHA); watch each non-success entry to conclusion with `mmi-cli devops read run watch <run-id> --repo {owner}/{repo} --exit-status --interval 60` (or `--repo mutmutco/MMI-Hub` for the central tenant deployer). `parallel: true` marks legs run together. Name the red run: `deploy.yml`, `publish.yml`, `mutmutco/MMI-Hub/.github/workflows/tenant-deploy.yml` (the Hub's central deployer — a tenant repo carries no local deploy workflow, so read its status from the receipt's `runUrl` or `mmi-cli devops read run watch <run-id> --repo mutmutco/MMI-Hub`) and `jerv-gateway` are deploy/publish verdicts; a `gate` push run is ordinary CI.
|
|
23
23
|
- `announceNote`: `announced`, `skipped`, `not announced` (deploy/publish not green; a `--resume` with the same `--announce-summary-file` posts it), or the failure note. A failed announcement keeps its summary file; an uncertain delivery is never replayed automatically. Never install AWS, ask for AWS credentials, or copy the Slack key.
|
|
24
24
|
- `devRollForward` / `rcAlignment`: `pushed`, or `pr-pending` with an alignment PR to land by true merge; read `autoMergeRequest.mergeMethod` from `mmi-cli devops read pr view <n> --repo {owner}/{repo} --json autoMergeRequest`: it must be `MERGE`, and `SQUASH` is a stop.
|
|
25
25
|
- `versionFold`, `rcRetirement`, `checkout`: `returned`, or the reason you are still on `main`.
|