@cleocode/skills 2026.10.2 → 2026.10.4

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": "@cleocode/skills",
3
- "version": "2026.10.2",
3
+ "version": "2026.10.4",
4
4
  "description": "CLEO skill definitions - bundled with CLEO monorepo",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: ct-codebase-mapper
3
- version: 2.1.0
3
+ version: 2.1.1
4
4
  description: Orient in an unfamiliar or large codebase with CLEO's code-intelligence graph (cleo nexus) and project map (cleo map). Use before planning or editing unfamiliar code, for brownfield onboarding, to find what a change would break, or to map a project's structure, communities and execution flows. Triggers on "map the codebase", "understand this project", "what calls X", "what would break", "brownfield analysis", "project structure".
5
5
  protocol: null
6
6
  dependencies: []
@@ -17,13 +17,13 @@ triggers:
17
17
  - project structure
18
18
  - blast radius
19
19
  metadata:
20
- version: 2.1.0
20
+ version: 2.1.1
21
21
  tier: on-demand
22
22
  install: harness
23
23
  covers:
24
24
  - packages/cleo/src/cli/commands/nexus.ts
25
25
  - packages/cleo/src/cli/commands/map.ts
26
- lastReviewed: 2026-09-29
26
+ lastReviewed: 2026-10-02
27
27
  stability: stable
28
28
  ---
29
29
 
@@ -50,6 +50,12 @@ Queries auto-refresh up to 25 stale files; beyond that they warn
50
50
  rebuilds). An empty or stale index gives confident-looking but incomplete
51
51
  answers — say which you relied on.
52
52
 
53
+ Project-scoped queries use the declared portable project id. `--project-id`
54
+ may name that id or a recorded, unambiguous legacy alias; an alias warns
55
+ `W_NEXUS_LEGACY_PROJECT_ID`. A foreign or colliding id is refused: run the
56
+ query from the intended checkout. Moving a checkout retains its id and graph;
57
+ never derive a replacement id from the new path or re-analyze solely for a move.
58
+
53
59
  ## 2. Survey the project
54
60
 
55
61
  ```bash
@@ -7,7 +7,7 @@ adrRefs:
7
7
  - ADR-063
8
8
  - ADR-065
9
9
  metadata:
10
- version: 3.0.2
10
+ version: 3.0.3
11
11
  tier: on-demand
12
12
  install: harness
13
13
  covers:
@@ -15,7 +15,7 @@ metadata:
15
15
  - packages/core/src/validation/protocols/protocols-markdown/release.md
16
16
  - packages/cleo/src/cli/commands/release.ts
17
17
  loomStage: release
18
- lastReviewed: 2026-09-28
18
+ lastReviewed: 2026-10-03
19
19
  stability: stable
20
20
  ---
21
21
 
@@ -34,7 +34,7 @@ Owns the canonical 4-verb release pipeline established by SPEC-T9345 and finalis
34
34
  | Step | Verb / Workflow | Owns transition | Notes |
35
35
  |-----:|------------------|------------------|-------|
36
36
  | 1 | `cleo release plan <ver> --epic <id>` | _(none)_ → `planned` | Builds the Release Plan envelope; auto-writes `CHANGELOG.md` (T10105 closes the silent-skip gap) |
37
- | 2 | `cleo release open <ver>` | `planned` → `pr-opened` | Dispatches `release-prepare.yml`; the workflow cuts the branch + opens the PR |
37
+ | 2 | `cleo release open <ver>` | `planned` → `pr-opened` | Dispatches `release-prepare.yml` with the plan's sha256 once the plan is verified on the default branch, plus the verified preflight skips; the workflow cuts the branch + opens the PR |
38
38
  | 3 | _(GHA)_ `release-prepare.yml` → PR merge | `pr-opened` → `pr-merged` | Owned by CI; verify via `cleo release pr-status <ver>` |
39
39
  | 4 | `git tag -a v<ver> -m "Release v<ver>" && git push origin v<ver>` | `pr-merged` → `tag-pushed` | Explicit tag after the release PR merges — `auto-tag-on-release-merge.yml` is retired (T10434, ADR-087); the tag push triggers `release.yml` |
40
40
  | 5 | `cleo release reconcile <ver>` | `tag-pushed` → `published` | Backfills 11 provenance tables; idempotent |
@@ -67,8 +67,11 @@ Use the explicit verbs. **Do not** invoke `cleo release ship` — it was deleted
67
67
  # 1. Plan — build the canonical Release Plan envelope.
68
68
  cleo release plan v2026.6.0 --epic T10099
69
69
 
70
- # 2. Open — dispatch release-prepare workflow.
71
- cleo release open v2026.6.0
70
+ # 2. Open — dispatch release-prepare workflow. When the plan reached main
71
+ # through a release-plan PR (branch protection), open it with
72
+ # --no-commit-plan: the plan on main is verified (read from there if this
73
+ # checkout lacks it) and dispatched by its sha256 (T13050).
74
+ cleo release open v2026.6.0 --no-commit-plan
72
75
 
73
76
  # 3. (Optional) Poll PR + CI status while the workflow runs.
74
77
  cleo release pr-status v2026.6.0
@@ -108,7 +111,7 @@ Exit codes (canonical):
108
111
  | Pattern | Problem | Solution |
109
112
  |---------|---------|----------|
110
113
  | Running `cleo release ship` | The verb was deleted in T10103 — the command will exit with `Unknown command`. | Use `cleo release plan` + `cleo release open`. | <!-- cleo-cmd: negative-example: release ship -->
111
- | Manually invoking `gh workflow run release-prepare.yml` | Bypasses the plan envelope; `releases.status` stays at `planned`. | Always go through `cleo release open <ver>` — it tracks state in the `releases` table. |
114
+ | Manually invoking `gh workflow run release-prepare.yml` | Bypasses the plan envelope; `releases.status` stays at `planned`; a hand dispatch also drops the verified `skip-tests` / `verified-sha` inputs, so the whole Linux and macOS suites run again (v2026.10.3 lost ~45 min). | Always go through `cleo release open <ver>` (`--no-commit-plan` after a plan PR) — it tracks state in the `releases` table and forwards the preflight skips. |
112
115
  | Tagging before the release PR merges, or `git push --tags` | Tags an unmerged commit, or pushes every local tag. | Tag the merged release commit and push that one tag: `git push origin v<ver>`. |
113
116
  | Hand-editing `CHANGELOG.md` for the new version | Drift between the changeset directory and the changelog. | `cleo release plan` always auto-writes the section (T10105). Use `cleo changeset add` to author entries. |
114
117
  | Pasting one verb into another's workflow file | Multi-step orchestration belongs in `ship-e2e-smoke`. | Use `cleo release ship-e2e-smoke … --execute` for end-to-end validation. |
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  name: ct-task-executor
3
3
  description: General implementation task execution for completing assigned CLEO tasks by following instructions and producing concrete deliverables. Handles coding, configuration, documentation work with quality verification against acceptance criteria and progress reporting. Use when executing implementation tasks, completing assigned work, or producing task deliverables. Triggers on implementation tasks, general execution needs, or task completion work.
4
- version: 2.7.7
4
+ version: 2.7.8
5
5
  protocol: implementation
6
6
  adrRefs:
7
7
  - ADR-070
@@ -17,7 +17,7 @@ compatibility:
17
17
  - gemini-cli
18
18
  license: MIT
19
19
  metadata:
20
- version: 2.7.7
20
+ version: 2.7.8
21
21
  tier: core
22
22
  install: harness
23
23
  covers:
@@ -28,7 +28,7 @@ metadata:
28
28
  - packages/core/src/validation/protocols/cant/implementation.cant
29
29
  - packages/core/src/validation/protocols/protocols-markdown/implementation.md
30
30
  loomStage: implementation
31
- lastReviewed: 2026-10-01
31
+ lastReviewed: 2026-10-03
32
32
  stability: stable
33
33
  ---
34
34
 
@@ -107,6 +107,29 @@ pnpm vitest run path/to/changed.test.ts --reporter=json --outputFile=/tmp/vitest
107
107
  cleo verify T### --gate testsPassed --evidence "test-run:/tmp/vitest-out.json"
108
108
  ```
109
109
 
110
+ The report must carry one of these counter sets (gh#1804, T13136). The first
111
+ set whose total is a number is read:
112
+
113
+ | Runner | Total | Passed | Failed | Skipped / todo |
114
+ |---|---|---|---|---|
115
+ | vitest `--reporter=json`, jest `--json` | `numTotalTests` | `numPassedTests` | `numFailedTests` | `numPendingTests`, `numTodoTests` |
116
+ | a runner's summary output (bun test, tsx --test) | `total` | `passed` | `failed` | `skipped`, `todo` |
117
+ | node --test summary | `tests` | `pass` | `fail`, `cancelled` | `skipped`, `todo` |
118
+
119
+ For example, `{"total":43,"passed":42,"failed":0,"skipped":1}`. Every count
120
+ must be a non-negative integer, and passed + failed + skipped/todo must equal
121
+ the total. A failure under any key (`numFailedTests`, `failed`, `fail`,
122
+ `cancelled`, `failures`, `errors`) refuses, whichever set supplied the total.
123
+ `exit` / `exitCode` must be a number, and a non-zero one is refused, as is a
124
+ report with no passed test. A report without a counter set, or with counts that
125
+ are not integers or do not add up, is refused with `E_EVIDENCE_INVALID`, and
126
+ the message names the keys or the arithmetic. A `test-run:` atom proves only
127
+ what its file says, so never write one by hand: `tool:test` and `ci:<pr>` are
128
+ what prove the run. Only a vitest/jest report lists the test files
129
+ it ran (`testResults`). In a workspace, a targeted report must cover every
130
+ affected package that has tests, so a summary report with no file list is
131
+ refused there: record `tool:test-affected` or `tool:test` instead.
132
+
110
133
  ### `decision:<decision-id>`
111
134
 
112
135
  A BRAIN decision ID (e.g., `D-arch-001`) or an `AGT-*` provenance ID.
@@ -302,7 +302,7 @@
302
302
  },
303
303
  {
304
304
  "name": "ct-codebase-mapper",
305
- "version": "2.1.0",
305
+ "version": "2.1.1",
306
306
  "description": "Orient in an unfamiliar or large codebase with CLEO's code-intelligence graph (cleo nexus) and project map (cleo map). Use before planning or editing unfamiliar code, for brownfield onboarding, to find what a change would break, or to map a project's structure, communities and execution flows. Triggers on \"map the codebase\", \"understand this project\", \"what calls X\", \"what would break\", \"brownfield analysis\", \"project structure\".",
307
307
  "path": "skills/ct-codebase-mapper",
308
308
  "tier": 1,
@@ -1150,7 +1150,7 @@
1150
1150
  },
1151
1151
  {
1152
1152
  "name": "ct-release-orchestrator",
1153
- "version": "3.0.2",
1153
+ "version": "3.0.3",
1154
1154
  "description": "Orchestrates the canonical 4-verb release pipeline introduced by SPEC-T9345: cleo release plan, then cleo release open, then PR + GHA tag workflow, then cleo release reconcile. The deprecated cleo release ship monolith was deleted in T10103 — do not invoke it. Use ship-e2e-smoke to validate the full pipeline end-to-end (dry-run by default). The full verb-to-state map is in docs/release/verb-matrix.md. Use when shipping a new version, validating the release pipeline end-to-end, or promoting a completed epic to released status.",
1155
1155
  "path": "skills/ct-release-orchestrator",
1156
1156
  "tier": 1,
@@ -1472,7 +1472,7 @@
1472
1472
  },
1473
1473
  {
1474
1474
  "name": "ct-task-executor",
1475
- "version": "2.7.7",
1475
+ "version": "2.7.8",
1476
1476
  "description": "General implementation task execution for completing assigned CLEO tasks by following instructions and producing concrete deliverables. Handles coding, configuration, documentation work with quality verification against acceptance criteria and progress reporting. Use when executing implementation tasks, completing assigned work, or producing task deliverables. Triggers on implementation tasks, general execution needs, or task completion work.",
1477
1477
  "path": "skills/ct-task-executor",
1478
1478
  "tier": 0,