@mutmutco/kilo-plugin 3.94.0 → 3.95.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
|
@@ -413,11 +413,11 @@ collaborator list + the per-branch allowlist are the record — no separate rost
|
|
|
413
413
|
Step-0 axes (class, project-type, deploy-model). Do **not** write the release track, board number, or deploy
|
|
414
414
|
coords as a value — the templates point at `mmi-cli org project get` (registry SSOT, never copied, so it cannot drift).
|
|
415
415
|
Do not write `AGENTS.md` / `CLAUDE.md` — these are developer-owned, gitignored agent guides, never a bootstrapped repo file (the `mmi-no-agent-files-org` ruleset blocks committing them).
|
|
416
|
-
- **`docs/index.md` is
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
416
|
+
- **`docs/index.md` is an optional generated routing index (#3545 / Hub#4133).** Agent entrypoints prefer
|
|
417
|
+
`mmi-cli repo-index search` + compute-at-read CLI over living prose under `docs/`. Apply may still create
|
|
418
|
+
`docs/index.md` once for link routing; it never rewrites it. Once the repo has docs of its own,
|
|
419
|
+
`mmi-cli docs index --write` owns the routing artifact and `--check` gates drift — it is not product
|
|
420
|
+
current-state SSOT. Decision records under `docs/decisions/` remain append-only *why*.
|
|
421
421
|
- **Push the mandated fill past the active ruleset (#1807).** Deployable repos activate
|
|
422
422
|
`mmi-product-required-checks` during apply (its `bypass_actors` is empty by design), so the `gate` check is
|
|
423
423
|
required on `development`/`main` before the seeded README + architecture have ever produced a green run. The
|
|
@@ -18,12 +18,13 @@ access runbook → [repo-access](https://github.com/mutmutco/MMI-Hub/blob/develo
|
|
|
18
18
|
|
|
19
19
|
Read this section at the start of agent work in this repo.
|
|
20
20
|
|
|
21
|
-
- **
|
|
22
|
-
|
|
21
|
+
- **Structure search:** `mmi-cli repo-index search <path|symbol|meaning>` — Hub cloud pointer hits
|
|
22
|
+
(Hub#4133). Prefer this over inventing wiki pages or trusting stale inventories under `docs/`.
|
|
23
23
|
- **Durable WHY:** `docs/decisions/` — one file per decision, prose only for what was chosen and
|
|
24
|
-
rejected; never a description of current state.
|
|
25
|
-
- **Current state:** code + `mmi-cli org project get`
|
|
26
|
-
registry facts, resolved live
|
|
24
|
+
rejected; never a description of current state. Do not maintain living current-state under `docs/`.
|
|
25
|
+
- **Current state:** code + compute-at-read CLI (`mmi-cli org project get`, `board`, `status`,
|
|
26
|
+
`org schedules`, …) — registry facts, resolved live. Optional generated `docs/index.md` is a
|
|
27
|
+
**routing** index only (`mmi-cli docs index --check`), not product truth.
|
|
27
28
|
- **GitHub wikis are retired org-wide** — this repo does not publish to a `.wiki.git`; do not create one.
|
|
28
29
|
- **Stack:** (languages, frameworks, major services)
|
|
29
30
|
- **Run locally:** (install, dev server, `/stage` if non-obvious)
|
|
@@ -3,6 +3,9 @@ name: gate
|
|
|
3
3
|
# and v* tags so /release and /hotfix can discover required contexts on the tagged SHA.
|
|
4
4
|
#
|
|
5
5
|
# Runner: self-hosted mmi-runner (mmi-live) — see docs/Guides/gh-runner-runbook.md in MMI-Hub.
|
|
6
|
+
# #4118: if GATE_CMD runs tsgo or other memory-heavy typecheck / browser work, pin this job to
|
|
7
|
+
# runs-on: [self-hosted, linux, x64, mmi-heavy]
|
|
8
|
+
# instead — standard lanes are MemoryMax=1200M and will cgroup-OOM those workloads.
|
|
6
9
|
# Stack-aware (#1550): the runtime is rendered into the setup-step `if:` — both the Node and Python
|
|
7
10
|
# setup steps live in the file but only the one matching GATE_RUNTIME runs. Knobs (override at
|
|
8
11
|
# bootstrap with --var):
|
|
@@ -14,7 +17,13 @@ name: gate
|
|
|
14
17
|
# GATE_PY_VERSION — Python version for setup-python ({{GATE_PY_VERSION}})
|
|
15
18
|
# GATE_MAX_SECONDS — run-with-budget wall-clock ceiling in seconds ({{GATE_MAX_SECONDS}}); 300 default,
|
|
16
19
|
# tighten per repo (org project set --var gate={"maxSeconds":N}) once measured (#3178)
|
|
20
|
+
# GATE_PUSH_BRANCHES_YAML — YAML list of push branches that trigger the workflow file (rendered by
|
|
21
|
+
# bootstrap from the release track; not usually hand-passed)
|
|
22
|
+
# GATE_FULL_RUN_BRANCH — train branch whose PUSHES run the full gate job (development on full/direct;
|
|
23
|
+
# main on trunk). `main` is ALWAYS included in the job `if:` below so a required-
|
|
24
|
+
# checks ruleset on main cannot be silently skipped by a future bootstrap (#4113).
|
|
17
25
|
# GATE_BUDGET_SHA is rendered by the CLI from its blessed run-with-budget pin — not an operator knob.
|
|
26
|
+
# (seed touch: keep kilo mirror + BOM digests in lockstep after classifier land.)
|
|
18
27
|
on:
|
|
19
28
|
pull_request:
|
|
20
29
|
push:
|
|
@@ -37,7 +46,10 @@ permissions:
|
|
|
37
46
|
|
|
38
47
|
jobs:
|
|
39
48
|
gate:
|
|
40
|
-
|
|
49
|
+
# #4113: bake `main` into the template permanently. GATE_FULL_RUN_BRANCH selects the train push
|
|
50
|
+
# that runs the full job; main must never become skippable via bootstrap vars alone while the
|
|
51
|
+
# org ruleset still requires `gate` on main.
|
|
52
|
+
if: ${{ github.event_name != 'push' || github.ref_name == '{{GATE_FULL_RUN_BRANCH}}' || github.ref_name == 'main' || github.ref_type == 'tag' }}
|
|
41
53
|
runs-on: [self-hosted, linux, x64, mmi-live]
|
|
42
54
|
defaults:
|
|
43
55
|
run: { working-directory: {{GATE_WORKDIR}} }
|
package/skills/onboard/SKILL.md
CHANGED
|
@@ -53,6 +53,20 @@ Close with one grounding line: gates green (or the one gate to fix), and the sin
|
|
|
53
53
|
usually `mmi-cli board claim <n>` for the recommended item, or the readiness fix if a gate is red. Don't
|
|
54
54
|
claim on the user's behalf; let them take the first item when ready.
|
|
55
55
|
|
|
56
|
+
## Step 2b — structure door (compute-at-read)
|
|
57
|
+
|
|
58
|
+
Before treating `docs/**` as current-state, teach the Hub door (Hub#4133 / #4148):
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
mmi-cli repo-index search <path-or-symbol-or-meaning> # Hub cloud pointers (default)
|
|
62
|
+
mmi-cli repo-index search "where …" --semantic # Titan meaning over embeddings
|
|
63
|
+
mmi-cli repo-index status --cloud # is the estate index live?
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
Host indexes (Cursor / Kilo) stay local helpers; **Hub `repo-index` is the org SSOT structure door**.
|
|
67
|
+
Living current-state still comes from live verbs (`org schedules`, `board read`, …) — see
|
|
68
|
+
`docs/Architecture/compute-at-read.md`. Do not invent wiki prose from pointer hits.
|
|
69
|
+
|
|
56
70
|
## Notes
|
|
57
71
|
|
|
58
72
|
- `/onboard` is the first-session, readiness-first wrapper. Once a repo is known-good, `/resume` is the
|
package/skills/resume/SKILL.md
CHANGED
|
@@ -54,6 +54,20 @@ For the full board partition (yours / claimable / taken) run `/mmi`.
|
|
|
54
54
|
Lead with one line: toolchain OK (or the heal to run), the branch + what's in flight, and the one next
|
|
55
55
|
item with its claim command. Then stop. The user drives — claim, continue, or file when they say so.
|
|
56
56
|
|
|
57
|
+
## Current-state doors (Hub#4120)
|
|
58
|
+
|
|
59
|
+
When answering “what is true now”, **ask the CLI**, not committed markdown inventories or weekly
|
|
60
|
+
janitor prose. Catalog: `docs/Architecture/compute-at-read.md` (in MMI-Hub).
|
|
61
|
+
|
|
62
|
+
| Ask | Verb |
|
|
63
|
+
| --- | --- |
|
|
64
|
+
| Schedules / harbour lanes | `mmi-cli org schedules` / `--json` |
|
|
65
|
+
| Boxes / IPs | `mmi-cli runtime box list` |
|
|
66
|
+
| Registry / projects | `mmi-cli org project list\|get` |
|
|
67
|
+
| Board | `mmi-cli board read` / `mmi-cli next` |
|
|
68
|
+
| Docs index freshness | `mmi-cli docs index --check` |
|
|
69
|
+
| Path / symbol / meaning pointers | `mmi-cli repo-index search <q>` (Hub cloud; `--semantic` optional) |
|
|
70
|
+
|
|
57
71
|
## Notes
|
|
58
72
|
|
|
59
73
|
- `/resume` is read-only session orientation. It never claims, moves, or writes.
|
package/skills/worktree/SKILL.md
CHANGED
|
@@ -60,6 +60,13 @@ worktree, deletes the merged branch (local + origin), and prunes tracking refs.
|
|
|
60
60
|
locked is queued and retried by `mmi-cli worktree gc sweep-deferred`. Self-authored merges need an explicit
|
|
61
61
|
per-session merge grant — ask early if you don't have one.
|
|
62
62
|
|
|
63
|
+
**Cwd-safe land (#4140):** `worktree land --apply` (what `pr land` runs) is designed to be invoked from
|
|
64
|
+
inside the worktree you are landing. Before removal it releases the process cwd to the primary checkout
|
|
65
|
+
(#1444/#2747) — on Windows, leaving cwd inside the target tree makes `rmdir` fail with `EBUSY` and leaks
|
|
66
|
+
branch refs. You do not need to `cd` out first; if removal still fails (IDE lock, antivirus), the deferred
|
|
67
|
+
sweep retries from a safe cwd. Prefer the primary checkout cwd only when you are running `worktree land`
|
|
68
|
+
manually outside `pr land`.
|
|
69
|
+
|
|
63
70
|
## Step 5 — record + next
|
|
64
71
|
|
|
65
72
|
Record durable decisions on the issue or PR, then check the board again:
|