@cleocode/skills 2026.4.77 → 2026.4.80

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.4.77",
3
+ "version": "2026.4.80",
4
4
  "description": "CLEO skill definitions - bundled with CLEO monorepo",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -173,21 +173,59 @@ I need system or configuration info
173
173
 
174
174
  ---
175
175
 
176
- ## Pre-Complete Gate Ritual
176
+ ## Pre-Complete Gate Ritual (ADR-051 — evidence required)
177
177
 
178
- MANDATORY before every `cleo complete <id>`:
178
+ MANDATORY before every `cleo complete <id>`. Every verification gate MUST be
179
+ backed by programmatic evidence. CLEO validates commits against the git
180
+ history, file sha256 against disk, tool exit codes against real runs, and
181
+ vitest JSON against the reporter output. No evidence → no gate pass.
179
182
 
180
- 1. `cleo show <id>` — inspect gates
181
- 2. Run each acceptance criterion verifiable (tests, lint, file checks)
182
- 3. `cleo verify <id> --run` — executes programmatic gates
183
- 4. `cleo memory observe "..." --title "..."` — capture learnings
184
- 5. `cleo complete <id>` — should pass cleanly
183
+ ### Capture evidence per gate
185
184
 
186
- Anti-patterns:
187
- - `cleo complete` without `cleo verify --run`
188
- - `cleo verify --all` to bypass programmatic gates
189
- - Skipping memory observe on non-trivial work
190
- - Self-attesting without programmatic proof (IVTR validate phase exists to prevent this)
185
+ ```bash
186
+ # implemented gate: commit + file list
187
+ cleo verify T### --gate implemented \
188
+ --evidence "commit:$(git rev-parse HEAD);files:packages/a/src/b.ts,packages/a/src/c.ts"
189
+
190
+ # testsPassed gate: run tests and capture
191
+ cleo verify T### --gate testsPassed --evidence "tool:pnpm-test"
192
+
193
+ # qaPassed gate: biome + tsc both exit 0
194
+ cleo verify T### --gate qaPassed --evidence "tool:biome;tool:tsc"
195
+
196
+ # documented gate: docs/spec file
197
+ cleo verify T### --gate documented --evidence "files:docs/specs/T###-spec.md"
198
+
199
+ # cleanupDone gate: summary note
200
+ cleo verify T### --gate cleanupDone --evidence "note:removed old helpers"
201
+
202
+ # securityPassed gate: scan or waiver
203
+ cleo verify T### --gate securityPassed --evidence "tool:security-scan"
204
+
205
+ # Then complete — evidence is RE-VALIDATED at this step
206
+ cleo memory observe "..." --title "..."
207
+ cleo complete T###
208
+ ```
209
+
210
+ ### Anti-patterns (ADR-051)
211
+
212
+ - ❌ `cleo verify --all` without `--evidence` — returns `E_EVIDENCE_MISSING`
213
+ - ❌ `cleo complete --force` — flag REMOVED
214
+ - ❌ Modifying source files between `verify` and `complete` — caught by
215
+ staleness check (`E_EVIDENCE_STALE`)
216
+ - ❌ Passing `note:` as evidence for `implemented` or `testsPassed` —
217
+ fails `E_EVIDENCE_INSUFFICIENT`
218
+ - ❌ Self-attesting without programmatic proof
219
+
220
+ ### Emergency override (audited)
221
+
222
+ ```bash
223
+ CLEO_OWNER_OVERRIDE=1 CLEO_OWNER_OVERRIDE_REASON="<reason>" \
224
+ cleo verify T### --gate implemented --evidence "note:<justification>"
225
+ ```
226
+
227
+ Writes to `.cleo/audit/force-bypass.jsonl` with PID, command, and reason. Do not
228
+ normalize.
191
229
 
192
230
  ---
193
231
 
@@ -206,9 +206,43 @@ When operating without continuous HITL oversight, additional constraints apply:
206
206
  | `cleo show T1234` | Full task details |
207
207
  | `cleo add "Task" --parent T1575` | Create child task |
208
208
  | `cleo start T1586` / `cleo complete T1586` | Task lifecycle |
209
+ | `cleo verify T1586 --gate <g> --evidence <atoms>` | Evidence-based gate write (ADR-051) |
209
210
  | `cleo manifest list --filter pending` | Followup items |
210
211
  | `cleo session end --note "summary"` | End session with handoff context |
211
212
 
213
+ ## Evidence-Based Completion (ADR-051 / T832)
214
+
215
+ As of v2026.4.78, every `cleo verify` gate write requires programmatic evidence.
216
+ `--all` without `--evidence` is REJECTED. `--force` has been REMOVED from
217
+ `cleo complete`. Gates are re-validated at complete time — tampering with
218
+ files between `verify` and `complete` triggers `E_EVIDENCE_STALE`.
219
+
220
+ ### Evidence per gate (minimum)
221
+
222
+ | Gate | Required atoms |
223
+ |------|---------------|
224
+ | `implemented` | `commit:<sha>` AND `files:<comma-separated>` |
225
+ | `testsPassed` | `tool:pnpm-test` OR `test-run:<vitest-json>` |
226
+ | `qaPassed` | `tool:biome` AND `tool:tsc` (OR `tool:pnpm-build`) |
227
+ | `documented` | `files:<docs-path>` OR `url:<doc-url>` |
228
+ | `securityPassed` | `tool:security-scan` OR `note:<waiver>` |
229
+ | `cleanupDone` | `note:<summary>` |
230
+
231
+ Orchestrator workflow for each completing task:
232
+
233
+ ```bash
234
+ # 1. Worker reports done with evidence atoms in manifest key_findings
235
+ # 2. Orchestrator runs:
236
+ cleo verify <taskId> --gate implemented --evidence "commit:$(git rev-parse HEAD);files:<list>"
237
+ cleo verify <taskId> --gate testsPassed --evidence "tool:pnpm-test"
238
+ cleo verify <taskId> --gate qaPassed --evidence "tool:biome;tool:tsc"
239
+ # 3. Close:
240
+ cleo complete <taskId>
241
+ ```
242
+
243
+ Emergency: set `CLEO_OWNER_OVERRIDE=1` and `CLEO_OWNER_OVERRIDE_REASON="<reason>"`
244
+ before the verify call — audited to `.cleo/audit/force-bypass.jsonl`.
245
+
212
246
  ## References
213
247
 
214
248
  | Topic | File |