@journeykit/canon 0.32.0 → 0.34.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/dist/index.js +4 -0
- package/dist/skills/SKILL.src.md +41 -19
- package/dist/skills/reference/canon-authoring.md +2 -2
- package/dist/skills/reference/canon-context.md +2 -2
- package/dist/skills/reference/canon-gate.md +2 -2
- package/dist/skills/reference/canon-review.md +3 -3
- package/dist/skills/reference/canon-storage.md +7 -4
- package/dist/skills/reference/canon-subject.md +15 -13
- package/dist/skills/reference/role-implementer.md +35 -35
- package/dist/skills/reference/role-orchestrator.md +71 -71
- package/dist/skills/reference/role-planner.md +25 -25
- package/dist/skills/reference/role-reviewer.md +28 -28
- package/man/canon-adapter-authorize.1 +3 -3
- package/man/canon-adapter-validate.1 +3 -3
- package/man/canon-adapter.1 +3 -3
- package/man/canon-artifacts-move.1 +4 -4
- package/man/canon-artifacts-store.1 +3 -3
- package/man/canon-artifacts-verify.1 +3 -3
- package/man/canon-artifacts.1 +3 -3
- package/man/canon-brief-approve.1 +3 -3
- package/man/canon-brief-check.1 +3 -3
- package/man/canon-brief-show.1 +3 -3
- package/man/canon-brief.1 +3 -3
- package/man/canon-change-new.1 +3 -3
- package/man/canon-change.1 +3 -3
- package/man/canon-completion.1 +3 -3
- package/man/canon-context-pack-add.1 +3 -3
- package/man/canon-context-pack-show.1 +3 -3
- package/man/canon-context-pack-verify.1 +3 -3
- package/man/canon-context-pack.1 +3 -3
- package/man/canon-context.1 +4 -4
- package/man/canon-dashboard.1 +3 -3
- package/man/canon-demo-init.1 +3 -3
- package/man/canon-demo-review.1 +3 -3
- package/man/canon-demo.1 +3 -3
- package/man/canon-dispatch-begin.1 +3 -3
- package/man/canon-dispatch-diff.1 +3 -3
- package/man/canon-dispatch-end.1 +3 -3
- package/man/canon-dispatch.1 +3 -3
- package/man/canon-divergence-accept.1 +3 -3
- package/man/canon-divergence-add.1 +3 -3
- package/man/canon-divergence-defer.1 +3 -3
- package/man/canon-divergence-list.1 +6 -6
- package/man/canon-divergence-resolve.1 +3 -3
- package/man/canon-divergence.1 +3 -3
- package/man/canon-evidence-add.1 +3 -3
- package/man/canon-evidence-approval-payload.1 +3 -3
- package/man/canon-evidence-audit.1 +3 -3
- package/man/canon-evidence.1 +3 -3
- package/man/canon-export.1 +6 -6
- package/man/canon-feature-new.1 +3 -3
- package/man/canon-feature.1 +3 -3
- package/man/canon-finding-add.1 +4 -4
- package/man/canon-finding-close.1 +3 -3
- package/man/canon-finding-list.1 +6 -6
- package/man/canon-finding.1 +3 -3
- package/man/canon-format.1 +3 -3
- package/man/canon-gate-check.1 +3 -3
- package/man/canon-gate-install-hooks.1 +3 -3
- package/man/canon-gate-promote.1 +3 -3
- package/man/canon-gate.1 +3 -3
- package/man/canon-ingest-plans.1 +3 -3
- package/man/canon-ingest-records.1 +3 -3
- package/man/canon-ingest-sessions.1 +3 -3
- package/man/canon-ingest.1 +3 -3
- package/man/canon-init.1 +4 -4
- package/man/canon-inventory-sync.1 +3 -3
- package/man/canon-inventory.1 +3 -3
- package/man/canon-ledger-compact.1 +3 -3
- package/man/canon-ledger.1 +3 -3
- package/man/canon-migrate.1 +3 -3
- package/man/canon-plugin-sync.1 +3 -3
- package/man/canon-plugin.1 +3 -3
- package/man/canon-policy-approve.1 +3 -3
- package/man/canon-policy-show.1 +3 -3
- package/man/canon-policy.1 +3 -3
- package/man/canon-prompt-add.1 +3 -3
- package/man/canon-prompt-show.1 +3 -3
- package/man/canon-prompt.1 +3 -3
- package/man/canon-purge.1 +3 -3
- package/man/canon-query.1 +6 -6
- package/man/canon-regime-show.1 +3 -3
- package/man/canon-regime.1 +3 -3
- package/man/canon-report-build.1 +3 -3
- package/man/canon-report-check.1 +3 -3
- package/man/canon-report-snapshot.1 +3 -3
- package/man/canon-report.1 +3 -3
- package/man/canon-retrieve.1 +4 -4
- package/man/canon-review-change.1 +3 -3
- package/man/canon-review-scenario.1 +3 -3
- package/man/canon-review.1 +3 -3
- package/man/canon-scenario-new.1 +3 -3
- package/man/canon-scenario.1 +3 -3
- package/man/canon-schema.1 +14 -6
- package/man/canon-search.1 +3 -3
- package/man/canon-selftest.1 +3 -3
- package/man/canon-skills-check.1 +3 -3
- package/man/canon-skills-doctor.1 +3 -3
- package/man/canon-skills-install.1 +3 -3
- package/man/canon-skills-show.1 +3 -3
- package/man/canon-skills.1 +3 -3
- package/man/canon-status.1 +4 -4
- package/man/canon-strategy-approval-payload.1 +3 -3
- package/man/canon-strategy-promote.1 +3 -3
- package/man/canon-strategy-rollback.1 +3 -3
- package/man/canon-strategy.1 +3 -3
- package/man/canon-subject-adopt.1 +3 -3
- package/man/canon-subject-move.1 +3 -3
- package/man/canon-subject-new.1 +4 -4
- package/man/canon-subject-show.1 +3 -3
- package/man/canon-subject-unadopt.1 +3 -3
- package/man/canon-subject.1 +3 -3
- package/man/canon-task-done.1 +3 -3
- package/man/canon-task.1 +3 -3
- package/man/canon-tier-age.1 +3 -3
- package/man/canon-tier.1 +3 -3
- package/man/canon-trace.1 +3 -3
- package/man/canon.1 +3 -3
- package/package.json +4 -4
|
@@ -18,7 +18,7 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
|
|
|
18
18
|
<command> --json` only for a leaf this block does not list, or after a `USAGE` refusal.
|
|
19
19
|
|
|
20
20
|
<!-- canon:generated commands-orchestrator begin -->
|
|
21
|
-
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `regime show`, `schema`, `selftest`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array), and `operands` holds the operands. `--fields <FIELDS>` is a comma list
|
|
21
|
+
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `regime show`, `schema`, `selftest`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
22
22
|
In a syntax line `<X>` is a value, `[x]` optional, `a | b` a choice, `(a | b)` exactly one is required, `[--x <V>]*` may repeat, `<X>+` is one or more, `[--a --b <V>]` go together. An option that is not on the line does not exist: it is refused (`USAGE`).
|
|
23
23
|
|
|
24
24
|
```text
|
|
@@ -26,14 +26,14 @@ In a syntax line `<X>` is a value, `[x]` optional, `a | b` a choice, `(a | b)` e
|
|
|
26
26
|
canon adapter authorize --response <FILE>
|
|
27
27
|
```
|
|
28
28
|
```bash
|
|
29
|
-
canon adapter authorize --response adapter-response.json --repo .
|
|
29
|
+
canon adapter authorize --response adapter-response.json --repo . --json
|
|
30
30
|
```
|
|
31
31
|
```text
|
|
32
32
|
# Read and validate one provider-neutral response envelope
|
|
33
33
|
canon adapter validate --response <FILE>
|
|
34
34
|
```
|
|
35
35
|
```bash
|
|
36
|
-
canon adapter validate --response adapter-response.json
|
|
36
|
+
canon adapter validate --response adapter-response.json --json
|
|
37
37
|
```
|
|
38
38
|
```text
|
|
39
39
|
# Move the local artifact blobs to an object-store tier, verify them, and remove the local copies
|
|
@@ -41,182 +41,182 @@ canon artifacts move --tier <TIER> [--commit --plan-digest <DIGEST>] [--input]
|
|
|
41
41
|
# a bare run previews and prints planDigest; `--commit --plan-digest <DIGEST>` with that digest acts
|
|
42
42
|
```
|
|
43
43
|
```bash
|
|
44
|
-
canon artifacts move --tier cold
|
|
44
|
+
canon artifacts move --tier cold --json
|
|
45
45
|
```
|
|
46
46
|
```text
|
|
47
47
|
# Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
|
|
48
48
|
canon artifacts store [--max-artifact-mib <N>] [--dry-run] [--input]
|
|
49
49
|
```
|
|
50
50
|
```bash
|
|
51
|
-
canon artifacts store
|
|
51
|
+
canon artifacts store --json
|
|
52
52
|
```
|
|
53
53
|
```text
|
|
54
54
|
# Check that the artifact store holds every file the latest evidence and current reviews bind (--full re-hashes the stored bytes)
|
|
55
55
|
canon artifacts verify [--full]
|
|
56
56
|
```
|
|
57
57
|
```bash
|
|
58
|
-
canon artifacts verify
|
|
58
|
+
canon artifacts verify --json
|
|
59
59
|
```
|
|
60
60
|
```text
|
|
61
61
|
# Write the shell completion script for canon (bash, zsh or fish)
|
|
62
62
|
canon completion <SHELL>
|
|
63
63
|
```
|
|
64
64
|
```bash
|
|
65
|
-
canon completion zsh
|
|
65
|
+
canon completion zsh --json
|
|
66
66
|
```
|
|
67
67
|
```text
|
|
68
68
|
# Show what you can author here: record kinds, fields, enums, policies
|
|
69
69
|
canon context [--fields <FIELDS>]
|
|
70
70
|
```
|
|
71
71
|
```bash
|
|
72
|
-
canon context
|
|
72
|
+
canon context --json
|
|
73
73
|
```
|
|
74
74
|
```text
|
|
75
75
|
# Create an immutable context pack from a repository-local JSON manifest
|
|
76
76
|
canon context-pack add --manifest <FILE> [--input]
|
|
77
77
|
```
|
|
78
78
|
```bash
|
|
79
|
-
canon context-pack add --manifest .canon/context-manifest.json
|
|
79
|
+
canon context-pack add --manifest .canon/context-manifest.json --json
|
|
80
80
|
```
|
|
81
81
|
```text
|
|
82
82
|
# Show a context pack after verifying its manifest and content objects
|
|
83
83
|
canon context-pack show <PACK_ID>
|
|
84
84
|
```
|
|
85
85
|
```bash
|
|
86
|
-
canon context-pack show sha256:0000000000000000000000000000000000000000000000000000000000000000
|
|
86
|
+
canon context-pack show sha256:0000000000000000000000000000000000000000000000000000000000000000 --json
|
|
87
87
|
```
|
|
88
88
|
```text
|
|
89
89
|
# Verify a context pack's manifest and immutable content objects
|
|
90
90
|
canon context-pack verify <PACK_ID>
|
|
91
91
|
```
|
|
92
92
|
```bash
|
|
93
|
-
canon context-pack verify sha256:0000000000000000000000000000000000000000000000000000000000000000
|
|
93
|
+
canon context-pack verify sha256:0000000000000000000000000000000000000000000000000000000000000000 --json
|
|
94
94
|
```
|
|
95
95
|
```text
|
|
96
96
|
# Serve the local status dashboard
|
|
97
97
|
canon dashboard [--snapshot <DIR>] [--port <N>] [--input]
|
|
98
98
|
```
|
|
99
99
|
```bash
|
|
100
|
-
canon dashboard
|
|
100
|
+
canon dashboard --json
|
|
101
101
|
```
|
|
102
102
|
```text
|
|
103
103
|
# Scaffold the demo repo (gate starts RED)
|
|
104
104
|
canon demo init [--input]
|
|
105
105
|
```
|
|
106
106
|
```bash
|
|
107
|
-
canon demo init --repo canon-demo
|
|
107
|
+
canon demo init --repo canon-demo --json
|
|
108
108
|
```
|
|
109
109
|
```text
|
|
110
110
|
# Record the missing reviewer evidence (gate turns GREEN)
|
|
111
111
|
canon demo review [--input]
|
|
112
112
|
```
|
|
113
113
|
```bash
|
|
114
|
-
canon demo review
|
|
114
|
+
canon demo review --json
|
|
115
115
|
```
|
|
116
116
|
```text
|
|
117
117
|
# Mint a Run manifest with retrieved guidance and context/policy lineage
|
|
118
|
-
canon dispatch begin --regime <KEY> [--role <ROLE>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--provider <NAME>] [--model <NAME>] [--skill <ID>] [--skill-digest <DIGEST>] [--manifest <FILE>] [--prompt-bundle <NAME@VERSION>] [--task <TASK_ID>] [--parent-run <RUN_ID>] [--input]
|
|
118
|
+
canon dispatch begin --regime <KEY> [--role <ROLE>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--provider <NAME>] [--model <NAME>] [--skill <ID>] [--skill-digest <DIGEST> (with --skill)] [--manifest <FILE>] [--prompt-bundle <NAME@VERSION>] [--task <TASK_ID>] [--parent-run <RUN_ID>] [--input]
|
|
119
119
|
```
|
|
120
120
|
```bash
|
|
121
|
-
canon dispatch begin --regime implementer/my-repo/api/abcdef012345 --role implementer
|
|
121
|
+
canon dispatch begin --regime implementer/my-repo/api/abcdef012345 --role implementer --json
|
|
122
122
|
```
|
|
123
123
|
```text
|
|
124
124
|
# Diff the declared plan DAG against the observed execution graph
|
|
125
125
|
canon dispatch diff
|
|
126
126
|
```
|
|
127
127
|
```bash
|
|
128
|
-
canon dispatch diff
|
|
128
|
+
canon dispatch diff --json
|
|
129
129
|
```
|
|
130
130
|
```text
|
|
131
131
|
# Close a dispatched run with a terminal status and an ended_at
|
|
132
132
|
canon dispatch end <RUN_ID> --run-outcome <succeeded|failed> [--input]
|
|
133
133
|
```
|
|
134
134
|
```bash
|
|
135
|
-
canon dispatch end 01ARZ3NDEKTSV4RRFFQ69G5FAV --run-outcome succeeded
|
|
135
|
+
canon dispatch end 01ARZ3NDEKTSV4RRFFQ69G5FAV --run-outcome succeeded --json
|
|
136
136
|
```
|
|
137
137
|
```text
|
|
138
138
|
# List the current divergence burn-down state
|
|
139
139
|
canon divergence list [--as-of <TIMESTAMP>] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
|
|
140
140
|
```
|
|
141
141
|
```bash
|
|
142
|
-
canon divergence list --as-of 2030-01-01
|
|
142
|
+
canon divergence list --as-of 2030-01-01 --json
|
|
143
143
|
```
|
|
144
144
|
```text
|
|
145
145
|
# Emit exact bytes for external `ssh-keygen -Y sign -n canon-approval-v1`
|
|
146
146
|
canon evidence approval-payload --approver <NAME> --approval-at <TIMESTAMP> [--task <TASK_ID>] [--project <PROJECT_ID>] [--scenario <SCENARIO_ID>] [--run <RUN_ID>] [--rev <REV>] [--surface-ref <PATH_OR_EFFECT>]*
|
|
147
147
|
```
|
|
148
148
|
```bash
|
|
149
|
-
canon evidence approval-payload --scenario auth.login.01 --project root --approver alice --approval-at 2030-01-01T00:00:00Z
|
|
149
|
+
canon evidence approval-payload --scenario auth.login.01 --project root --approver alice --approval-at 2030-01-01T00:00:00Z --json
|
|
150
150
|
```
|
|
151
151
|
```text
|
|
152
152
|
# Export a redacted retention manifest without deleting records
|
|
153
153
|
canon export --kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding> [--before <TIMESTAMP>] [--after <TIMESTAMP>] [--output <FILE>] [--include-sensitive] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>] [--dry-run] [--input]
|
|
154
154
|
```
|
|
155
155
|
```bash
|
|
156
|
-
canon export --kind evidence --output evidence.json
|
|
156
|
+
canon export --kind evidence --output evidence.json --json
|
|
157
157
|
```
|
|
158
158
|
```text
|
|
159
159
|
# List a change's committed findings at their latest version
|
|
160
160
|
canon finding list --change <CHANGE_ID> [--open] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
|
|
161
161
|
```
|
|
162
162
|
```bash
|
|
163
|
-
canon finding list --change add-login
|
|
163
|
+
canon finding list --change add-login --json
|
|
164
164
|
```
|
|
165
165
|
```text
|
|
166
166
|
# Validate a spec/artifact corpus against canon's format
|
|
167
167
|
canon format [<DIR>]
|
|
168
168
|
```
|
|
169
169
|
```bash
|
|
170
|
-
canon format .canon/specs
|
|
170
|
+
canon format .canon/specs --json
|
|
171
171
|
```
|
|
172
172
|
```text
|
|
173
173
|
# Run the coverage/ledger/staleness/trust checks (0 clean, 1 red, 2 usage)
|
|
174
174
|
canon gate check [--release]
|
|
175
175
|
```
|
|
176
176
|
```bash
|
|
177
|
-
canon gate check
|
|
177
|
+
canon gate check --json
|
|
178
178
|
```
|
|
179
179
|
```text
|
|
180
180
|
# Install the gate hook into .claude/settings.json / .codex/hooks.json
|
|
181
181
|
canon gate install-hooks [--event <NAME>] [--matcher <TEXT>] [--command <TEXT>] [--timeout <N>] [--dry-run] [--input]
|
|
182
182
|
```
|
|
183
183
|
```bash
|
|
184
|
-
canon gate install-hooks
|
|
184
|
+
canon gate install-hooks --json
|
|
185
185
|
```
|
|
186
186
|
```text
|
|
187
187
|
# Import plans as Change/Task records
|
|
188
188
|
canon ingest plans [--dialect <NAME> --plan-source <DIR>] [--dry-run] [--input]
|
|
189
189
|
```
|
|
190
190
|
```bash
|
|
191
|
-
canon ingest plans
|
|
191
|
+
canon ingest plans --json
|
|
192
192
|
```
|
|
193
193
|
```text
|
|
194
194
|
# Import review/divergence/task/handoff records and derive verdicts
|
|
195
195
|
canon ingest records [--watch] [--interval-secs <N>] [--dry-run] [--run <RUN_ID>] [--input]
|
|
196
196
|
```
|
|
197
197
|
```bash
|
|
198
|
-
canon ingest records
|
|
198
|
+
canon ingest records --json
|
|
199
199
|
```
|
|
200
200
|
```text
|
|
201
201
|
# Import agent CLI session transcripts (omp/pi, Claude Code, Codex, Hermes)
|
|
202
202
|
canon ingest sessions [--watch] [--interval-secs <N>] [--home <DIR>] [--full] [--all-workspaces] [--dry-run] [--input]
|
|
203
203
|
```
|
|
204
204
|
```bash
|
|
205
|
-
canon ingest sessions
|
|
205
|
+
canon ingest sessions --json
|
|
206
206
|
```
|
|
207
207
|
```text
|
|
208
208
|
# Set up canon in a repo (canon.yaml, a starter policy, the AGENTS.md block, a plans home)
|
|
209
209
|
canon init [--check] [--no-agents-md | --check] [--policy <light|standard|strict> | --check | --no-policy] [--providers <LIST> | --check] [--language <TAG> | --check] [--dry-run | --check] [--input]
|
|
210
210
|
```
|
|
211
211
|
```bash
|
|
212
|
-
canon init
|
|
212
|
+
canon init --json
|
|
213
213
|
```
|
|
214
214
|
```text
|
|
215
215
|
# Validate each spec root, then materialize scenario index records
|
|
216
216
|
canon inventory sync [--spec-root <DIR>] [--dry-run] [--input]
|
|
217
217
|
```
|
|
218
218
|
```bash
|
|
219
|
-
canon inventory sync
|
|
219
|
+
canon inventory sync --json
|
|
220
220
|
```
|
|
221
221
|
```text
|
|
222
222
|
# Move superseded versions of every record out of the ledger into the archive
|
|
@@ -224,7 +224,7 @@ canon ledger compact [--commit --plan-digest <DIGEST>] [--input]
|
|
|
224
224
|
# a bare run previews and prints planDigest; `--commit --plan-digest <DIGEST>` with that digest acts
|
|
225
225
|
```
|
|
226
226
|
```bash
|
|
227
|
-
canon ledger compact
|
|
227
|
+
canon ledger compact --json
|
|
228
228
|
```
|
|
229
229
|
```text
|
|
230
230
|
# Bring a repo from an earlier canon up to date
|
|
@@ -232,35 +232,35 @@ canon migrate [--commit --plan-digest <DIGEST>] [--revert | --relayed-via <NAME>
|
|
|
232
232
|
# a bare run previews and prints planDigest; `--commit --plan-digest <DIGEST>` with that digest acts
|
|
233
233
|
```
|
|
234
234
|
```bash
|
|
235
|
-
canon migrate
|
|
235
|
+
canon migrate --json
|
|
236
236
|
```
|
|
237
237
|
```text
|
|
238
238
|
# Validate and write a plugin's overlay records
|
|
239
239
|
canon plugin sync <PLUGIN_ID> [--spec-root <DIR>] [--dry-run] [--input]
|
|
240
240
|
```
|
|
241
241
|
```bash
|
|
242
|
-
canon plugin sync my-plugin
|
|
242
|
+
canon plugin sync my-plugin --json
|
|
243
243
|
```
|
|
244
244
|
```text
|
|
245
245
|
# Show the policy's digest and its approval (who, when, which bytes)
|
|
246
246
|
canon policy show
|
|
247
247
|
```
|
|
248
248
|
```bash
|
|
249
|
-
canon policy show
|
|
249
|
+
canon policy show --json
|
|
250
250
|
```
|
|
251
251
|
```text
|
|
252
252
|
# Add a prompt bundle from a repository-local JSON manifest
|
|
253
253
|
canon prompt add <NAME@VERSION> --manifest <FILE> [--input]
|
|
254
254
|
```
|
|
255
255
|
```bash
|
|
256
|
-
canon prompt add reviewer@v1 --manifest .canon/prompt-manifest.json
|
|
256
|
+
canon prompt add reviewer@v1 --manifest .canon/prompt-manifest.json --json
|
|
257
257
|
```
|
|
258
258
|
```text
|
|
259
259
|
# Select a registered prompt bundle version
|
|
260
260
|
canon prompt show <NAME@VERSION>
|
|
261
261
|
```
|
|
262
262
|
```bash
|
|
263
|
-
canon prompt show reviewer@v1
|
|
263
|
+
canon prompt show reviewer@v1 --json
|
|
264
264
|
```
|
|
265
265
|
```text
|
|
266
266
|
# Remove allowlisted records older than a cutoff
|
|
@@ -268,161 +268,161 @@ canon purge --kind <session|run|event|trajectory> --before <TIMESTAMP> [--commit
|
|
|
268
268
|
# a bare run previews and prints planDigest; `--commit --plan-digest <DIGEST>` with that digest acts
|
|
269
269
|
```
|
|
270
270
|
```bash
|
|
271
|
-
canon purge --kind session --before 2020-01-01T00:00:00Z
|
|
271
|
+
canon purge --kind session --before 2020-01-01T00:00:00Z --json
|
|
272
272
|
```
|
|
273
273
|
```text
|
|
274
274
|
# Read stored records across every storage tier
|
|
275
275
|
canon query --kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding> [--since <TIMESTAMP>] [--plugin <PLUGIN_ID> | --history] [--change <CHANGE_ID>] [--status <STATUS>] [--domain <NAME>] [--include-sensitive] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
|
|
276
276
|
```
|
|
277
277
|
```bash
|
|
278
|
-
canon query --kind evidence
|
|
278
|
+
canon query --kind evidence --json
|
|
279
279
|
```
|
|
280
280
|
```text
|
|
281
281
|
# Build a canonical regime key for hook scripts
|
|
282
282
|
canon regime show --role-segment <NAME> --repo-name <NAME> --area <NAME> --hash <HASH>
|
|
283
283
|
```
|
|
284
284
|
```bash
|
|
285
|
-
canon regime show --role-segment reviewer --repo-name my-repo --area api --hash abcdef012345
|
|
285
|
+
canon regime show --role-segment reviewer --repo-name my-repo --area api --hash abcdef012345 --json
|
|
286
286
|
```
|
|
287
287
|
```text
|
|
288
288
|
# Write the status report (.canon/REPORT.md)
|
|
289
289
|
canon report build [--input]
|
|
290
290
|
```
|
|
291
291
|
```bash
|
|
292
|
-
canon report build
|
|
292
|
+
canon report build --json
|
|
293
293
|
```
|
|
294
294
|
```text
|
|
295
295
|
# Byte-diff .canon/REPORT.md against a fresh build (0 fresh, 1 missing or drifted); writes nothing
|
|
296
296
|
canon report check
|
|
297
297
|
```
|
|
298
298
|
```bash
|
|
299
|
-
canon report check
|
|
299
|
+
canon report check --json
|
|
300
300
|
```
|
|
301
301
|
```text
|
|
302
302
|
# Export the panel marts to <DIR>/*.parquet plus manifest.json
|
|
303
303
|
canon report snapshot <DIR> [--input]
|
|
304
304
|
```
|
|
305
305
|
```bash
|
|
306
|
-
canon report snapshot snapshot-out
|
|
306
|
+
canon report snapshot snapshot-out --json
|
|
307
307
|
```
|
|
308
308
|
```text
|
|
309
309
|
# Fetch role-scoped strategy guidance
|
|
310
|
-
canon retrieve --for-role <ROLE>
|
|
310
|
+
canon retrieve --for-role <ROLE> (--regime <KEY> | --domain <NAME>) [--subject <SUBJECT_ID> (with --domain)] [--limit <N>]
|
|
311
311
|
```
|
|
312
312
|
```bash
|
|
313
|
-
canon retrieve --for-role reviewer --domain dev --limit 20
|
|
313
|
+
canon retrieve --for-role reviewer --domain dev --limit 20 --json
|
|
314
314
|
```
|
|
315
315
|
```text
|
|
316
316
|
# Describe canon's own commands
|
|
317
|
-
canon schema [<PATH>]* [--errors | --error <CODE>]
|
|
317
|
+
canon schema [<PATH>]* [--errors | --error <CODE> | --warning <CODE> | --warnings]
|
|
318
318
|
```
|
|
319
319
|
```bash
|
|
320
|
-
canon schema evidence add
|
|
320
|
+
canon schema evidence add --json
|
|
321
321
|
```
|
|
322
322
|
```text
|
|
323
323
|
# Search records, brief sections and scenario text, with each hit's neighbors in the record graph
|
|
324
324
|
canon search <TEXT> [--kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding|brief>]* [--expand <N>] [--limit <N>]
|
|
325
325
|
```
|
|
326
326
|
```bash
|
|
327
|
-
canon search timeout --kind finding
|
|
327
|
+
canon search timeout --kind finding --json
|
|
328
328
|
```
|
|
329
329
|
```text
|
|
330
330
|
# Run canon's built-in fixture self-tests
|
|
331
331
|
canon selftest [--suite <trust-spine-gate|tiered-storage|typed-authoring-vocabulary|policy-expressions|format-authority|session-ingest|canon-context|artifact-ingest|spec-ledger-selftest|plugin-overlays|plan-import>]
|
|
332
332
|
```
|
|
333
333
|
```bash
|
|
334
|
-
canon selftest --suite trust-spine-gate
|
|
334
|
+
canon selftest --suite trust-spine-gate --json
|
|
335
335
|
```
|
|
336
336
|
```text
|
|
337
337
|
# Check canonical projections without writing; exit 1 on drift, a legacy remnant, or a lock another canon version wrote
|
|
338
338
|
canon skills check [--skills-source <DIR>] [--providers <LIST>]
|
|
339
339
|
```
|
|
340
340
|
```bash
|
|
341
|
-
canon skills check
|
|
341
|
+
canon skills check --json
|
|
342
342
|
```
|
|
343
343
|
```text
|
|
344
344
|
# Print diagnostics for canonical projections, the install lock's canon version, legacy remnants, canon projections for a provider that is not selected, and other skills whose description claims build work; reports only, never edits
|
|
345
345
|
canon skills doctor [--skills-source <DIR>] [--providers <LIST>]
|
|
346
346
|
```
|
|
347
347
|
```bash
|
|
348
|
-
canon skills doctor
|
|
348
|
+
canon skills doctor --json
|
|
349
349
|
```
|
|
350
350
|
```text
|
|
351
351
|
# Install the canonical `canon` bundle or legacy developer skills
|
|
352
352
|
canon skills install [--skills-source <DIR>] [--providers <LIST>] [--dry-run] [--input]
|
|
353
353
|
```
|
|
354
354
|
```bash
|
|
355
|
-
canon skills install
|
|
355
|
+
canon skills install --json
|
|
356
356
|
```
|
|
357
357
|
```text
|
|
358
358
|
# Print a guide built into this binary (markdown on stdout); the installed SKILL.md is a stub that points here
|
|
359
359
|
canon skills show <NAME> [--full]
|
|
360
360
|
```
|
|
361
361
|
```bash
|
|
362
|
-
canon skills show canon --full
|
|
362
|
+
canon skills show canon --full --json
|
|
363
363
|
```
|
|
364
364
|
```text
|
|
365
365
|
# Show where this repo stands: subjects by status, their gaps, and the next commands
|
|
366
366
|
canon status [--fields <FIELDS>]
|
|
367
367
|
```
|
|
368
368
|
```bash
|
|
369
|
-
canon status
|
|
369
|
+
canon status --json
|
|
370
370
|
```
|
|
371
371
|
```text
|
|
372
372
|
# The unsigned approval payload bytes an external signer signs
|
|
373
373
|
canon strategy approval-payload <STRATEGY_ID> --evaluation <FILE> --approver <NAME> --approval-at <TIMESTAMP>
|
|
374
374
|
```
|
|
375
375
|
```bash
|
|
376
|
-
canon strategy approval-payload 01ARZ3NDEKTSV4RRFFQ69G5FAV --evaluation evaluation.json --approver alice --approval-at 2030-01-01T00:00:00Z
|
|
376
|
+
canon strategy approval-payload 01ARZ3NDEKTSV4RRFFQ69G5FAV --evaluation evaluation.json --approver alice --approval-at 2030-01-01T00:00:00Z --json
|
|
377
377
|
```
|
|
378
378
|
```text
|
|
379
379
|
# Promote a strategy after paired evaluation and signed approval
|
|
380
380
|
canon strategy promote <STRATEGY_ID> [--evaluation <FILE> --approval <FILE>] [--signature-file <FILE> (with --approval)] [--dry-run] [--input]
|
|
381
381
|
```
|
|
382
382
|
```bash
|
|
383
|
-
canon strategy promote 01ARZ3NDEKTSV4RRFFQ69G5FAV
|
|
383
|
+
canon strategy promote 01ARZ3NDEKTSV4RRFFQ69G5FAV --json
|
|
384
384
|
```
|
|
385
385
|
```text
|
|
386
386
|
# Disable an active strategy with durable rollback provenance
|
|
387
387
|
canon strategy rollback <STRATEGY_ID> --reason <TEXT> --actor <ACTOR_ID> --signature-file <FILE> --approval-at <TIMESTAMP> [--contradicting-trajectory <ID>] [--input]
|
|
388
388
|
```
|
|
389
389
|
```bash
|
|
390
|
-
canon strategy rollback 01ARZ3NDEKTSV4RRFFQ69G5FAV --reason "regressed in production" --actor alice --signature-file approval.sig --approval-at 2030-01-01T00:00:00Z
|
|
390
|
+
canon strategy rollback 01ARZ3NDEKTSV4RRFFQ69G5FAV --reason "regressed in production" --actor alice --signature-file approval.sig --approval-at 2030-01-01T00:00:00Z --json
|
|
391
391
|
```
|
|
392
392
|
```text
|
|
393
393
|
# Link an imported plan change to a subject (adopting it under another subject adds that subject; a change may belong to several)
|
|
394
394
|
canon subject adopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
|
|
395
395
|
```
|
|
396
396
|
```bash
|
|
397
|
-
canon subject adopt demo --change add-login
|
|
397
|
+
canon subject adopt demo --change add-login --json
|
|
398
398
|
```
|
|
399
399
|
```text
|
|
400
400
|
# Move a subject to another lifecycle state (shipping is evidence-gated; with spec_coverage.require_review, entering its scope is review-gated; shipped → verifying reopens with --reason)
|
|
401
401
|
canon subject move <SUBJECT_ID> --to <proposed|specced|building|verifying|shipped|retired> [--override-reason <TEXT>] [--reason <TEXT>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--input]
|
|
402
402
|
```
|
|
403
403
|
```bash
|
|
404
|
-
canon subject move demo --to specced
|
|
404
|
+
canon subject move demo --to specced --json
|
|
405
405
|
```
|
|
406
406
|
```text
|
|
407
407
|
# Author a new subject at status `proposed`
|
|
408
408
|
canon subject new <SUBJECT_ID> --domain <NAME> --title <TEXT> [--summary <TEXT>] [--owner-role <ROLE>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--input]
|
|
409
409
|
```
|
|
410
410
|
```bash
|
|
411
|
-
canon subject new payments --domain dev --title Payments
|
|
411
|
+
canon subject new payments --domain dev --title Payments --json
|
|
412
412
|
```
|
|
413
413
|
```text
|
|
414
414
|
# Show a subject (read-only)
|
|
415
415
|
canon subject show <SUBJECT_ID>
|
|
416
416
|
```
|
|
417
417
|
```bash
|
|
418
|
-
canon subject show demo
|
|
418
|
+
canon subject show demo --json
|
|
419
419
|
```
|
|
420
420
|
```text
|
|
421
421
|
# Take a change back out of a subject (the mirror of adopt; refused for a change whose brief is approved)
|
|
422
422
|
canon subject unadopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
|
|
423
423
|
```
|
|
424
424
|
```bash
|
|
425
|
-
canon subject unadopt demo --change add-login
|
|
425
|
+
canon subject unadopt demo --change add-login --json
|
|
426
426
|
```
|
|
427
427
|
```text
|
|
428
428
|
# Apply canon.yaml aging rules, moving old records to their destination tier
|
|
@@ -430,24 +430,24 @@ canon tier age [--commit --plan-digest <DIGEST>] [--input]
|
|
|
430
430
|
# a bare run previews and prints planDigest; `--commit --plan-digest <DIGEST>` with that digest acts
|
|
431
431
|
```
|
|
432
432
|
```bash
|
|
433
|
-
canon tier age
|
|
433
|
+
canon tier age --json
|
|
434
434
|
```
|
|
435
435
|
```text
|
|
436
436
|
# Follow a finding's review loop in time order: review, finding, fix, re-review, evidence
|
|
437
437
|
canon trace <ID>
|
|
438
438
|
```
|
|
439
439
|
```bash
|
|
440
|
-
canon trace add-login_1_1
|
|
440
|
+
canon trace add-login_1_1 --json
|
|
441
441
|
```
|
|
442
442
|
<!-- canon:generated commands-orchestrator end -->
|
|
443
443
|
|
|
444
444
|
## Read the state
|
|
445
445
|
|
|
446
446
|
`canon status` lists the next steps, each with the `role` that takes it
|
|
447
|
-
(`null` for the human), and `waitingOn` counts the steps held by each other
|
|
447
|
+
(`null` for the human), and `data.waitingOn` counts the steps held by each other
|
|
448
448
|
owner, `human` included. Call it once at the start and when resuming, not
|
|
449
449
|
after a write: after `subject move --to` or a spawned role's write, the
|
|
450
|
-
write's `meta.next` and `
|
|
450
|
+
write's `meta.next` and `data.waitingOn` are the status for what it touched.
|
|
451
451
|
|
|
452
452
|
## Spawn each role
|
|
453
453
|
|
|
@@ -510,7 +510,7 @@ not sign off.
|
|
|
510
510
|
|
|
511
511
|
## Relay the human's answer
|
|
512
512
|
|
|
513
|
-
When `status` or `meta.next` shows a step with `actor: human` (the brief's
|
|
513
|
+
When `status` or `meta.next` shows a step with `x-canon.actor: human` (the brief's
|
|
514
514
|
approval), stop everything for that scope and put the brief in front of the
|
|
515
515
|
human in its language: `canon brief show <slug> --body` prints the brief and,
|
|
516
516
|
last, its digest. Send the output to the human's own view, never retyped (omp:
|
|
@@ -563,7 +563,7 @@ holds the next command and the verified claims (`canon skills show canon-vocab`)
|
|
|
563
563
|
After a timeout or a lost response, repeat the write only when its repeat is
|
|
564
564
|
safe. `evidence add`, `review scenario`, `review change` and `finding add`
|
|
565
565
|
are content-keyed: an identical repeat returns the existing record with
|
|
566
|
-
`
|
|
566
|
+
`data.unchanged: true` (a batch reports the element `unchanged`).
|
|
567
567
|
`finding close`, `subject adopt`, `inventory sync`, `ingest *`, `gate
|
|
568
568
|
promote` and `task done` are replay-safe the same way. `subject new`,
|
|
569
569
|
`change new`, `feature new`, `scenario new`, `subject move` and `dispatch
|
|
@@ -580,7 +580,7 @@ its preview, never from an old digest.
|
|
|
580
580
|
| "The reviewer can be me under another label." | The reviewer is a separate process with its own real session id (#39). |
|
|
581
581
|
| "Approve the brief; the human said they are busy." | An answer they did not give is not recorded. Show the brief, ask, and record only an explicit approval with `--relayed-via`. |
|
|
582
582
|
| "Override the refusal to ship." | Fix the gap the refusal names; `--override-reason` waives only the `require_review` gaps and the brief gap, is recorded on the subject, and is for the human's call, not a shortcut. |
|
|
583
|
-
| "Run the commit now, the preview looked fine earlier." | A bare run previews; `--commit --plan-digest` acts only on the plan you just previewed (`
|
|
583
|
+
| "Run the commit now, the preview looked fine earlier." | A bare run previews; `--commit --plan-digest` acts only on the plan you just previewed (`PLAN_STALE` otherwise). Preview again, then act. |
|
|
584
584
|
| "I have corrected this agent before." | A correction repeated across runs belongs in a scenario, the policy or a gate, not more prose. Tell the human. |
|
|
585
585
|
|
|
586
586
|
## Move the subject
|
|
@@ -623,10 +623,10 @@ read the refusal in `error` of `canon subject move demo --to shipped --json`.
|
|
|
623
623
|
move` and `canon migrate` delete or rewrite existing data. A bare run only
|
|
624
624
|
previews: exit 0, nothing written, a report with `planDigest` and
|
|
625
625
|
`effects[]`. Read the effects, then act with `--commit --plan-digest
|
|
626
|
-
<planDigest>`; it refuses (`
|
|
626
|
+
<planDigest>`; it refuses (`PLAN_STALE`, exit 2) when the plan recomputed
|
|
627
627
|
now differs from the one you previewed. A document passed with `--input`
|
|
628
628
|
never carries `--commit` or `--plan-digest`, and these five leaves take one
|
|
629
|
-
object only (`
|
|
629
|
+
object only (`INPUT_INVALID`).
|
|
630
630
|
|
|
631
631
|
```bash
|
|
632
632
|
canon purge --kind session --before 2026-01-01
|
|
@@ -678,6 +678,6 @@ git-ignored, and `canon migrate --revert` needs it (keep it until you are sure).
|
|
|
678
678
|
**Done when:** `canon migrate` reports nothing left to move, `canon skills
|
|
679
679
|
check` exits 0, and `canon status` and `canon gate check` no longer warn
|
|
680
680
|
about 0.27 state; read the first in `data` of `canon migrate --json`, the
|
|
681
|
-
others in `meta.warnings
|
|
681
|
+
others in `meta.warnings` (`[{code, message}]`).
|
|
682
682
|
|
|
683
683
|
Reference: `canon skills show canon-subject`.
|