@journeykit/canon 0.34.0 → 0.35.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.
Files changed (125) hide show
  1. package/dist/skills/SKILL.src.md +22 -15
  2. package/dist/skills/reference/canon-artifact-ingest.md +6 -3
  3. package/dist/skills/reference/canon-authoring.md +6 -3
  4. package/dist/skills/reference/canon-context.md +6 -3
  5. package/dist/skills/reference/canon-fmt.md +2 -1
  6. package/dist/skills/reference/canon-gate.md +11 -7
  7. package/dist/skills/reference/canon-inventory.md +13 -10
  8. package/dist/skills/reference/canon-plan-import.md +6 -3
  9. package/dist/skills/reference/canon-plugins.md +12 -6
  10. package/dist/skills/reference/canon-report-dashboard.md +6 -3
  11. package/dist/skills/reference/canon-review.md +1 -1
  12. package/dist/skills/reference/canon-session-ingest.md +12 -6
  13. package/dist/skills/reference/canon-storage.md +46 -16
  14. package/dist/skills/reference/canon-subject.md +26 -17
  15. package/dist/skills/reference/role-implementer.md +29 -29
  16. package/dist/skills/reference/role-orchestrator.md +68 -63
  17. package/dist/skills/reference/role-planner.md +22 -22
  18. package/dist/skills/reference/role-reviewer.md +23 -23
  19. package/man/canon-adapter-authorize.1 +2 -2
  20. package/man/canon-adapter-validate.1 +2 -2
  21. package/man/canon-adapter.1 +2 -2
  22. package/man/canon-artifacts-move.1 +2 -2
  23. package/man/canon-artifacts-store.1 +2 -2
  24. package/man/canon-artifacts-verify.1 +2 -2
  25. package/man/canon-artifacts.1 +2 -2
  26. package/man/canon-brief-approve.1 +2 -2
  27. package/man/canon-brief-check.1 +2 -2
  28. package/man/canon-brief-show.1 +2 -2
  29. package/man/canon-brief.1 +2 -2
  30. package/man/canon-change-new.1 +2 -2
  31. package/man/canon-change.1 +2 -2
  32. package/man/canon-completion.1 +2 -2
  33. package/man/canon-context-pack-add.1 +2 -2
  34. package/man/canon-context-pack-show.1 +2 -2
  35. package/man/canon-context-pack-verify.1 +2 -2
  36. package/man/canon-context-pack.1 +2 -2
  37. package/man/canon-context.1 +2 -2
  38. package/man/canon-dashboard.1 +2 -2
  39. package/man/canon-demo-init.1 +2 -2
  40. package/man/canon-demo-review.1 +2 -2
  41. package/man/canon-demo.1 +2 -2
  42. package/man/canon-dispatch-begin.1 +2 -2
  43. package/man/canon-dispatch-diff.1 +2 -2
  44. package/man/canon-dispatch-end.1 +2 -2
  45. package/man/canon-dispatch.1 +2 -2
  46. package/man/canon-divergence-accept.1 +2 -2
  47. package/man/canon-divergence-add.1 +2 -2
  48. package/man/canon-divergence-defer.1 +2 -2
  49. package/man/canon-divergence-list.1 +2 -2
  50. package/man/canon-divergence-resolve.1 +2 -2
  51. package/man/canon-divergence.1 +2 -2
  52. package/man/canon-evidence-add.1 +2 -2
  53. package/man/canon-evidence-approval-payload.1 +2 -2
  54. package/man/canon-evidence-audit.1 +2 -2
  55. package/man/canon-evidence.1 +2 -2
  56. package/man/canon-export.1 +2 -2
  57. package/man/canon-feature-new.1 +2 -2
  58. package/man/canon-feature.1 +2 -2
  59. package/man/canon-finding-add.1 +2 -2
  60. package/man/canon-finding-close.1 +2 -2
  61. package/man/canon-finding-list.1 +2 -2
  62. package/man/canon-finding.1 +2 -2
  63. package/man/canon-format.1 +2 -2
  64. package/man/canon-gate-check.1 +2 -2
  65. package/man/canon-gate-install-hooks.1 +2 -2
  66. package/man/canon-gate-promote.1 +2 -2
  67. package/man/canon-gate.1 +2 -2
  68. package/man/canon-ingest-plans.1 +2 -2
  69. package/man/canon-ingest-records.1 +2 -2
  70. package/man/canon-ingest-sessions.1 +2 -2
  71. package/man/canon-ingest.1 +2 -2
  72. package/man/canon-init.1 +7 -7
  73. package/man/canon-inventory-sync.1 +2 -2
  74. package/man/canon-inventory.1 +2 -2
  75. package/man/canon-ledger-compact.1 +2 -2
  76. package/man/canon-ledger.1 +2 -2
  77. package/man/canon-migrate.1 +2 -2
  78. package/man/canon-plugin-sync.1 +2 -2
  79. package/man/canon-plugin.1 +2 -2
  80. package/man/canon-policy-approve.1 +2 -2
  81. package/man/canon-policy-show.1 +2 -2
  82. package/man/canon-policy.1 +2 -2
  83. package/man/canon-prompt-add.1 +2 -2
  84. package/man/canon-prompt-show.1 +2 -2
  85. package/man/canon-prompt.1 +2 -2
  86. package/man/canon-purge.1 +2 -2
  87. package/man/canon-query.1 +2 -2
  88. package/man/canon-regime-show.1 +2 -2
  89. package/man/canon-regime.1 +2 -2
  90. package/man/canon-report-build.1 +2 -2
  91. package/man/canon-report-check.1 +2 -2
  92. package/man/canon-report-snapshot.1 +2 -2
  93. package/man/canon-report.1 +2 -2
  94. package/man/canon-retrieve.1 +2 -2
  95. package/man/canon-review-change.1 +2 -2
  96. package/man/canon-review-scenario.1 +2 -2
  97. package/man/canon-review.1 +2 -2
  98. package/man/canon-scenario-new.1 +2 -2
  99. package/man/canon-scenario.1 +2 -2
  100. package/man/canon-schema.1 +2 -2
  101. package/man/canon-search.1 +2 -2
  102. package/man/canon-selftest.1 +2 -2
  103. package/man/canon-skills-check.1 +2 -2
  104. package/man/canon-skills-doctor.1 +2 -2
  105. package/man/canon-skills-install.1 +2 -2
  106. package/man/canon-skills-show.1 +5 -5
  107. package/man/canon-skills.1 +2 -2
  108. package/man/canon-status.1 +2 -2
  109. package/man/canon-strategy-approval-payload.1 +2 -2
  110. package/man/canon-strategy-promote.1 +2 -2
  111. package/man/canon-strategy-rollback.1 +2 -2
  112. package/man/canon-strategy.1 +2 -2
  113. package/man/canon-subject-adopt.1 +2 -2
  114. package/man/canon-subject-move.1 +2 -2
  115. package/man/canon-subject-new.1 +2 -2
  116. package/man/canon-subject-show.1 +2 -2
  117. package/man/canon-subject-unadopt.1 +2 -2
  118. package/man/canon-subject.1 +2 -2
  119. package/man/canon-task-done.1 +2 -2
  120. package/man/canon-task.1 +2 -2
  121. package/man/canon-tier-age.1 +2 -2
  122. package/man/canon-tier.1 +2 -2
  123. package/man/canon-trace.1 +2 -2
  124. package/man/canon.1 +2 -2
  125. package/package.json +4 -4
@@ -21,151 +21,151 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
21
21
 
22
22
  <!-- canon:generated commands-planner begin -->
23
23
  Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `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.
24
- 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`).
24
+ A `usage:` line shows the syntax and is not itself a command to run (the runnable example under it is): `<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`).
25
25
 
26
26
  ```text
27
27
  # Read the brief against the rules
28
- canon brief check [<CHANGE_ID>]
28
+ usage: canon brief check [<CHANGE_ID>]
29
29
  ```
30
30
  ```bash
31
31
  canon brief check --json
32
32
  ```
33
33
  ```text
34
34
  # Show where the change stands and the next one to three steps; never edits
35
- canon brief show [<CHANGE_ID>] [--body]
35
+ usage: canon brief show [<CHANGE_ID>] [--body]
36
36
  ```
37
37
  ```bash
38
38
  canon brief show --json
39
39
  ```
40
40
  ```text
41
41
  # Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
42
- canon change new <CHANGE_ID> --subject <SUBJECT_ID> --title <TEXT> [--change-kind <feature|chore>] [--input]
42
+ usage: canon change new <CHANGE_ID> --subject <SUBJECT_ID> --title <TEXT> [--change-kind <feature|chore>] [--input]
43
43
  ```
44
44
  ```bash
45
45
  canon change new add-search --subject demo --title "Add search" --json
46
46
  ```
47
47
  ```text
48
48
  # Write the shell completion script for canon (bash, zsh or fish)
49
- canon completion <SHELL>
49
+ usage: canon completion <SHELL>
50
50
  ```
51
51
  ```bash
52
52
  canon completion zsh --json
53
53
  ```
54
54
  ```text
55
55
  # Show what you can author here: record kinds, fields, enums, policies
56
- canon context [--fields <FIELDS>]
56
+ usage: canon context [--fields <FIELDS>]
57
57
  ```
58
58
  ```bash
59
59
  canon context --json
60
60
  ```
61
61
  ```text
62
62
  # List the current divergence burn-down state
63
- canon divergence list [--as-of <TIMESTAMP>] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
63
+ usage: canon divergence list [--as-of <TIMESTAMP>] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
64
64
  ```
65
65
  ```bash
66
66
  canon divergence list --as-of 2030-01-01 --json
67
67
  ```
68
68
  ```text
69
69
  # Create a fresh .feature file for a new area.surface
70
- canon feature new <SURFACE> --title <TEXT> [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--project <PROJECT_ID>] [--input]
70
+ usage: canon feature new <SURFACE> --title <TEXT> [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--project <PROJECT_ID>] [--input]
71
71
  ```
72
72
  ```bash
73
73
  canon feature new billing.invoice --title Invoices --json
74
74
  ```
75
75
  ```text
76
76
  # List a change's committed findings at their latest version
77
- canon finding list --change <CHANGE_ID> [--open] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
77
+ usage: canon finding list --change <CHANGE_ID> [--open] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
78
78
  ```
79
79
  ```bash
80
80
  canon finding list --change add-login --json
81
81
  ```
82
82
  ```text
83
83
  # Validate a spec/artifact corpus against canon's format
84
- canon format [<DIR>]
84
+ usage: canon format [<DIR>]
85
85
  ```
86
86
  ```bash
87
87
  canon format .canon/specs --json
88
88
  ```
89
89
  ```text
90
90
  # Run the coverage/ledger/staleness/trust checks (0 clean, 1 red, 2 usage)
91
- canon gate check [--release]
91
+ usage: canon gate check [--release]
92
92
  ```
93
93
  ```bash
94
94
  canon gate check --json
95
95
  ```
96
96
  ```text
97
97
  # Read stored records across every storage tier
98
- 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>]
98
+ usage: 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>]
99
99
  ```
100
100
  ```bash
101
101
  canon query --kind evidence --json
102
102
  ```
103
103
  ```text
104
104
  # Fetch role-scoped strategy guidance
105
- canon retrieve --for-role <ROLE> (--regime <KEY> | --domain <NAME>) [--subject <SUBJECT_ID> (with --domain)] [--limit <N>]
105
+ usage: canon retrieve --for-role <ROLE> (--regime <KEY> | --domain <NAME>) [--subject <SUBJECT_ID> (with --domain)] [--limit <N>]
106
106
  ```
107
107
  ```bash
108
108
  canon retrieve --for-role reviewer --domain dev --limit 20 --json
109
109
  ```
110
110
  ```text
111
111
  # Append a tagged scenario stub to its .feature file (created if missing); many at once with `--input`
112
- canon scenario new <SCENARIO_ID> --title <TEXT> [--subject <SUBJECT_ID>] [--lane <NAME>] [--case <NAME>] [--flow <FLOW_ID>] [--change <CHANGE_ID> (with --flow)] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--feature <FILE>] [--project <PROJECT_ID>] [--input]
112
+ usage: canon scenario new <SCENARIO_ID> --title <TEXT> [--subject <SUBJECT_ID>] [--lane <NAME>] [--case <NAME>] [--flow <FLOW_ID>] [--change <CHANGE_ID> (with --flow)] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--feature <FILE>] [--project <PROJECT_ID>] [--input]
113
113
  ```
114
114
  ```bash
115
115
  canon scenario new auth.login.02 --title "Sign out" --feature .canon/specs/kind=feature/area=auth/login.feature --json
116
116
  ```
117
117
  ```text
118
118
  # Describe canon's own commands
119
- canon schema [<PATH>]* [--errors | --error <CODE> | --warning <CODE> | --warnings]
119
+ usage: canon schema [<PATH>]* [--errors | --error <CODE> | --warning <CODE> | --warnings]
120
120
  ```
121
121
  ```bash
122
122
  canon schema evidence add --json
123
123
  ```
124
124
  ```text
125
125
  # Search records, brief sections and scenario text, with each hit's neighbors in the record graph
126
- canon search <TEXT> [--kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding|brief>]* [--expand <N>] [--limit <N>]
126
+ usage: canon search <TEXT> [--kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding|brief>]* [--expand <N>] [--limit <N>]
127
127
  ```
128
128
  ```bash
129
129
  canon search timeout --kind finding --json
130
130
  ```
131
131
  ```text
132
132
  # Print a guide built into this binary (markdown on stdout); the installed SKILL.md is a stub that points here
133
- canon skills show <NAME> [--full]
133
+ usage: canon skills show [<NAME>] [--full]
134
134
  ```
135
135
  ```bash
136
136
  canon skills show canon --full --json
137
137
  ```
138
138
  ```text
139
139
  # Show where this repo stands: subjects by status, their gaps, and the next commands
140
- canon status [--fields <FIELDS>]
140
+ usage: canon status [--fields <FIELDS>]
141
141
  ```
142
142
  ```bash
143
143
  canon status --json
144
144
  ```
145
145
  ```text
146
146
  # Link an imported plan change to a subject (adopting it under another subject adds that subject; a change may belong to several)
147
- canon subject adopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
147
+ usage: canon subject adopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
148
148
  ```
149
149
  ```bash
150
150
  canon subject adopt demo --change add-login --json
151
151
  ```
152
152
  ```text
153
153
  # Author a new subject at status `proposed`
154
- canon subject new <SUBJECT_ID> --domain <NAME> --title <TEXT> [--summary <TEXT>] [--owner-role <ROLE>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--input]
154
+ usage: canon subject new <SUBJECT_ID> --domain <NAME> --title <TEXT> [--summary <TEXT>] [--owner-role <ROLE>] [--actor <ACTOR_ID>] [--session <SESSION_ID>] [--input]
155
155
  ```
156
156
  ```bash
157
157
  canon subject new payments --domain dev --title Payments --json
158
158
  ```
159
159
  ```text
160
160
  # Take a change back out of a subject (the mirror of adopt; refused for a change whose brief is approved)
161
- canon subject unadopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
161
+ usage: canon subject unadopt <SUBJECT_ID> --change <CHANGE_ID> [--dry-run] [--input]
162
162
  ```
163
163
  ```bash
164
164
  canon subject unadopt demo --change add-login --json
165
165
  ```
166
166
  ```text
167
167
  # Follow a finding's review loop in time order: review, finding, fix, re-review, evidence
168
- canon trace <ID>
168
+ usage: canon trace <ID>
169
169
  ```
170
170
  ```bash
171
171
  canon trace add-login_1_1 --json
@@ -20,158 +20,158 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
20
20
 
21
21
  <!-- canon:generated commands-reviewer begin -->
22
22
  Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `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.
23
- 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
+ A `usage:` line shows the syntax and is not itself a command to run (the runnable example under it is): `<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`).
24
24
 
25
25
  ```text
26
26
  # Read the brief against the rules
27
- canon brief check [<CHANGE_ID>]
27
+ usage: canon brief check [<CHANGE_ID>]
28
28
  ```
29
29
  ```bash
30
30
  canon brief check --json
31
31
  ```
32
32
  ```text
33
33
  # Show where the change stands and the next one to three steps; never edits
34
- canon brief show [<CHANGE_ID>] [--body]
34
+ usage: canon brief show [<CHANGE_ID>] [--body]
35
35
  ```
36
36
  ```bash
37
37
  canon brief show --json
38
38
  ```
39
39
  ```text
40
40
  # Write the shell completion script for canon (bash, zsh or fish)
41
- canon completion <SHELL>
41
+ usage: canon completion <SHELL>
42
42
  ```
43
43
  ```bash
44
44
  canon completion zsh --json
45
45
  ```
46
46
  ```text
47
47
  # Show what you can author here: record kinds, fields, enums, policies
48
- canon context [--fields <FIELDS>]
48
+ usage: canon context [--fields <FIELDS>]
49
49
  ```
50
50
  ```bash
51
51
  canon context --json
52
52
  ```
53
53
  ```text
54
54
  # Add a divergence candidate, staged with no run_seq yet
55
- canon divergence add <SCENARIO_ID> --actor <ACTOR_ID> [--project <PROJECT_ID>] [--rev <REV>] [--state <open|still-divergent|resolved|deferred>] [--reason <TEXT>] [--expiry <TIMESTAMP>] [--round <N>] [--session <SESSION_ID>] [--detail <TEXT>] [--role <ROLE>] [--promote | --no-promote] [--input]
55
+ usage: canon divergence add <SCENARIO_ID> --actor <ACTOR_ID> [--project <PROJECT_ID>] [--rev <REV>] [--state <open|still-divergent|resolved|deferred>] [--reason <TEXT>] [--expiry <TIMESTAMP>] [--round <N>] [--session <SESSION_ID>] [--detail <TEXT>] [--role <ROLE>] [--promote | --no-promote] [--input]
56
56
  ```
57
57
  ```bash
58
58
  canon divergence add auth.login.01 --actor alice --role reviewer --json
59
59
  ```
60
60
  ```text
61
61
  # Directly record a deferred divergence (requires --reason/--expiry)
62
- canon divergence defer <SCENARIO_ID> --actor <ACTOR_ID> --reason <TEXT> --expiry <TIMESTAMP> [--project <PROJECT_ID>] [--rev <REV>] [--round <N>] [--session <SESSION_ID>] [--role <ROLE>] [--input]
62
+ usage: canon divergence defer <SCENARIO_ID> --actor <ACTOR_ID> --reason <TEXT> --expiry <TIMESTAMP> [--project <PROJECT_ID>] [--rev <REV>] [--round <N>] [--session <SESSION_ID>] [--role <ROLE>] [--input]
63
63
  ```
64
64
  ```bash
65
65
  canon divergence defer auth.login.01 --actor alice --reason "waiting on the vendor" --expiry 2030-01-01T00:00:00Z --role reviewer --json
66
66
  ```
67
67
  ```text
68
68
  # List the current divergence burn-down state
69
- canon divergence list [--as-of <TIMESTAMP>] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
69
+ usage: canon divergence list [--as-of <TIMESTAMP>] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
70
70
  ```
71
71
  ```bash
72
72
  canon divergence list --as-of 2030-01-01 --json
73
73
  ```
74
74
  ```text
75
75
  # Directly record a resolved divergence
76
- canon divergence resolve <SCENARIO_ID> --actor <ACTOR_ID> [--project <PROJECT_ID>] [--rev <REV>] [--round <N>] [--session <SESSION_ID>] [--detail <TEXT>] [--role <ROLE>] [--input]
76
+ usage: canon divergence resolve <SCENARIO_ID> --actor <ACTOR_ID> [--project <PROJECT_ID>] [--rev <REV>] [--round <N>] [--session <SESSION_ID>] [--detail <TEXT>] [--role <ROLE>] [--input]
77
77
  ```
78
78
  ```bash
79
79
  canon divergence resolve auth.login.01 --actor alice --role reviewer --json
80
80
  ```
81
81
  ```text
82
82
  # Record one code-review finding
83
- canon finding add --change <CHANGE_ID> --round <N> --seq <N> --severity <blocker|should-fix|note> --actor <ACTOR_ID> --summary <TEXT> [--disposition <open|fixed|rejected|deferred>] [--rev <REV>] [--resolution-rev <REV> (with --disposition)] [--introduced-rev <REV> | --introduced-unknown] [--review <REVIEW_ID>] [--file-ref <TEXT>] [--scenario <SCENARIO_ID>]* [--role <ROLE>] [--session <SESSION_ID>] [--promote | --no-promote] [--input]
83
+ usage: canon finding add --change <CHANGE_ID> --round <N> --seq <N> --severity <blocker|should-fix|note> --actor <ACTOR_ID> --summary <TEXT> [--disposition <open|fixed|rejected|deferred>] [--rev <REV>] [--resolution-rev <REV> (with --disposition)] [--introduced-rev <REV> | --introduced-unknown] [--review <REVIEW_ID>] [--file-ref <TEXT>] [--scenario <SCENARIO_ID>]* [--role <ROLE>] [--session <SESSION_ID>] [--promote | --no-promote] [--input]
84
84
  ```
85
85
  ```bash
86
86
  canon finding add --change add-login --round 1 --seq 2 --severity should-fix --introduced-unknown --actor alice --summary "Token is logged" --json
87
87
  ```
88
88
  ```text
89
89
  # Move an already-committed finding's disposition
90
- canon finding close <CHANGE_ID> --round <N> --seq <N> --disposition <open|fixed|rejected|deferred> [--resolution-rev <REV>] [--reason <TEXT>] [--actor <ACTOR_ID>] [--role <ROLE>] [--session <SESSION_ID>] [--promote | --no-promote] [--input]
90
+ usage: canon finding close <CHANGE_ID> --round <N> --seq <N> --disposition <open|fixed|rejected|deferred> [--resolution-rev <REV>] [--reason <TEXT>] [--actor <ACTOR_ID>] [--role <ROLE>] [--session <SESSION_ID>] [--promote | --no-promote] [--input]
91
91
  ```
92
92
  ```bash
93
93
  canon finding close add-login --round 1 --seq 1 --disposition rejected --reason "works as designed" --json
94
94
  ```
95
95
  ```text
96
96
  # List a change's committed findings at their latest version
97
- canon finding list --change <CHANGE_ID> [--open] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
97
+ usage: canon finding list --change <CHANGE_ID> [--open] [--limit <N> | --all] [--cursor <CURSOR>] [--fields <FIELDS>]
98
98
  ```
99
99
  ```bash
100
100
  canon finding list --change add-login --json
101
101
  ```
102
102
  ```text
103
103
  # Validate a spec/artifact corpus against canon's format
104
- canon format [<DIR>]
104
+ usage: canon format [<DIR>]
105
105
  ```
106
106
  ```bash
107
107
  canon format .canon/specs --json
108
108
  ```
109
109
  ```text
110
110
  # Run the coverage/ledger/staleness/trust checks (0 clean, 1 red, 2 usage)
111
- canon gate check [--release]
111
+ usage: canon gate check [--release]
112
112
  ```
113
113
  ```bash
114
114
  canon gate check --json
115
115
  ```
116
116
  ```text
117
117
  # Read stored records across every storage tier
118
- 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>]
118
+ usage: 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>]
119
119
  ```
120
120
  ```bash
121
121
  canon query --kind evidence --json
122
122
  ```
123
123
  ```text
124
124
  # Fetch role-scoped strategy guidance
125
- canon retrieve --for-role <ROLE> (--regime <KEY> | --domain <NAME>) [--subject <SUBJECT_ID> (with --domain)] [--limit <N>]
125
+ usage: canon retrieve --for-role <ROLE> (--regime <KEY> | --domain <NAME>) [--subject <SUBJECT_ID> (with --domain)] [--limit <N>]
126
126
  ```
127
127
  ```bash
128
128
  canon retrieve --for-role reviewer --domain dev --limit 20 --json
129
129
  ```
130
130
  ```text
131
131
  # Write one attributed Review record for a chore change directly to the ledger (exactly one provenance ref required)
132
- canon review change <CHANGE_ID> --actor <ACTOR_ID> (--upstream-ref <TEXT> | --original-spec-ref <TEXT>) [--project <PROJECT_ID>] [--rev <REV>] [--role <ROLE>] [--session <SESSION_ID>] [--review-outcome <signed|indeterminate|unavailable>] [--reviewer-provider <NAME>] [--reviewer-model <NAME>] [--reviewer-harness <NAME>] [--artifact <PATH>]* [--max-artifact-mib <N>] [--input]
132
+ usage: canon review change <CHANGE_ID> --actor <ACTOR_ID> (--upstream-ref <TEXT> | --original-spec-ref <TEXT>) [--project <PROJECT_ID>] [--rev <REV>] [--role <ROLE>] [--session <SESSION_ID>] [--review-outcome <signed|indeterminate|unavailable>] [--reviewer-provider <NAME>] [--reviewer-model <NAME>] [--reviewer-harness <NAME>] [--artifact <PATH>]* [--max-artifact-mib <N>] [--input]
133
133
  ```
134
134
  ```bash
135
135
  canon review change add-login --actor alice --role reviewer --original-spec-ref docs/prd.md --json
136
136
  ```
137
137
  ```text
138
138
  # Write one attributed Review record per scenario directly to the ledger, nothing to promote (exactly one provenance ref required)
139
- canon review scenario <SCENARIO_ID>+ --actor <ACTOR_ID> (--upstream-ref <TEXT> | --original-spec-ref <TEXT>) [--project <PROJECT_ID>] [--rev <REV>] [--role <ROLE>] [--session <SESSION_ID>] [--review-outcome <signed|indeterminate|unavailable>] [--reviewer-provider <NAME>] [--reviewer-model <NAME>] [--reviewer-harness <NAME>] [--artifact <PATH>]* [--max-artifact-mib <N>] [--input]
139
+ usage: canon review scenario <SCENARIO_ID>+ --actor <ACTOR_ID> (--upstream-ref <TEXT> | --original-spec-ref <TEXT>) [--project <PROJECT_ID>] [--rev <REV>] [--role <ROLE>] [--session <SESSION_ID>] [--review-outcome <signed|indeterminate|unavailable>] [--reviewer-provider <NAME>] [--reviewer-model <NAME>] [--reviewer-harness <NAME>] [--artifact <PATH>]* [--max-artifact-mib <N>] [--input]
140
140
  ```
141
141
  ```bash
142
142
  canon review scenario auth.login.01 --actor alice --role reviewer --original-spec-ref docs/prd.md --json
143
143
  ```
144
144
  ```text
145
145
  # Describe canon's own commands
146
- canon schema [<PATH>]* [--errors | --error <CODE> | --warning <CODE> | --warnings]
146
+ usage: canon schema [<PATH>]* [--errors | --error <CODE> | --warning <CODE> | --warnings]
147
147
  ```
148
148
  ```bash
149
149
  canon schema evidence add --json
150
150
  ```
151
151
  ```text
152
152
  # Search records, brief sections and scenario text, with each hit's neighbors in the record graph
153
- canon search <TEXT> [--kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding|brief>]* [--expand <N>] [--limit <N>]
153
+ usage: canon search <TEXT> [--kind <change|task|scenario|session|run|event|handoff|review|divergence|trajectory|strategy_item|evidence|subject|finding|brief>]* [--expand <N>] [--limit <N>]
154
154
  ```
155
155
  ```bash
156
156
  canon search timeout --kind finding --json
157
157
  ```
158
158
  ```text
159
159
  # Print a guide built into this binary (markdown on stdout); the installed SKILL.md is a stub that points here
160
- canon skills show <NAME> [--full]
160
+ usage: canon skills show [<NAME>] [--full]
161
161
  ```
162
162
  ```bash
163
163
  canon skills show canon --full --json
164
164
  ```
165
165
  ```text
166
166
  # Show where this repo stands: subjects by status, their gaps, and the next commands
167
- canon status [--fields <FIELDS>]
167
+ usage: canon status [--fields <FIELDS>]
168
168
  ```
169
169
  ```bash
170
170
  canon status --json
171
171
  ```
172
172
  ```text
173
173
  # Follow a finding's review loop in time order: review, finding, fix, re-review, evidence
174
- canon trace <ID>
174
+ usage: canon trace <ID>
175
175
  ```
176
176
  ```bash
177
177
  canon trace add-login_1_1 --json
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter-authorize 1 "authorize 0.34.0"
3
+ .TH canon-adapter-authorize 1 "authorize 0.35.0"
4
4
  .SH NAME
5
5
  canon\-adapter\-authorize \- Authorize declared capabilities against repository policy (preflight only)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter-validate 1 "validate 0.34.0"
3
+ .TH canon-adapter-validate 1 "validate 0.35.0"
4
4
  .SH NAME
5
5
  canon\-adapter\-validate \- Read and validate one provider\-neutral response envelope
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter 1 "adapter 0.34.0"
3
+ .TH canon-adapter 1 "adapter 0.35.0"
4
4
  .SH NAME
5
5
  canon\-adapter \- Validate a provider\-neutral adapter response without executing a provider
6
6
  .SH SYNOPSIS
@@ -43,4 +43,4 @@ Examples:
43
43
  canon adapter validate \-\-response response.json
44
44
  canon adapter validate \-\-response response.json \-\-repo . \-\-json
45
45
  .SH VERSION
46
- v0.34.0
46
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-move 1 "move 0.34.0"
3
+ .TH canon-artifacts-move 1 "move 0.35.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-move \- Move the local artifact blobs to an object\-store tier, verify them, and remove the local copies
6
6
  .SH SYNOPSIS
@@ -60,4 +60,4 @@ The bare run previews: it lists every upload and removal and prints a planDigest
60
60
 
61
61
  Idempotent and resumable: a run stopped anywhere leaves a repo the gate still passes, and the next run finishes; a second run finds nothing to do. A blob whose bytes do not match its name is never moved. Moving back to local is refused; `\-\-tier local` on a local repo is a no\-op.
62
62
  .SH VERSION
63
- v0.34.0
63
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-store 1 "store 0.34.0"
3
+ .TH canon-artifacts-store 1 "store 0.35.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-store \- Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
6
6
  .SH SYNOPSIS
@@ -51,4 +51,4 @@ For records written before canon stored bound bytes (0.11\-0.13), and for any ev
51
51
 
52
52
  Exit 0 when the pass ran (the gate decides whether an unstored file matters), 2 when the ledger cannot be read or a write fails.
53
53
  .SH VERSION
54
- v0.34.0
54
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-verify 1 "verify 0.34.0"
3
+ .TH canon-artifacts-verify 1 "verify 0.35.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-verify \- Check that the artifact store holds every file the latest evidence and current reviews bind (\-\-full re\-hashes the stored bytes)
6
6
  .SH SYNOPSIS
@@ -45,4 +45,4 @@ Asks the store canon.yaml\*(Aqs `artifacts:` block selects (default: local, .can
45
45
 
46
46
  Exit 0 when every file is stored, 1 when one is missing or altered (data.problems names each), 2 when the store cannot be used or reached: an unreachable store is a refusal, never a pass.
47
47
  .SH VERSION
48
- v0.34.0
48
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts 1 "artifacts 0.34.0"
3
+ .TH canon-artifacts 1 "artifacts 0.35.0"
4
4
  .SH NAME
5
5
  canon\-artifacts \- Check or move the evidence artifact store (local, or an object\-store tier)
6
6
  .SH SYNOPSIS
@@ -42,4 +42,4 @@ Store the bound files of existing evidence records and current reviews in the ar
42
42
  canon\-artifacts\-move(1)
43
43
  Move the local artifact blobs to an object\-store tier, verify them, and remove the local copies
44
44
  .SH VERSION
45
- v0.34.0
45
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-approve 1 "approve 0.34.0"
3
+ .TH canon-brief-approve 1 "approve 0.35.0"
4
4
  .SH NAME
5
5
  canon\-brief\-approve \- Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
6
6
  .SH SYNOPSIS
@@ -71,4 +71,4 @@ brief (the digest covers the brief without its `Approved:` lines) and records
71
71
  not approved (BRIEF_CHANGED_SINCE_APPROVAL) until a human answers again and this
72
72
  runs again. Run it only from the human\*(Aqs answer, with their words as \-\-note.
73
73
  .SH VERSION
74
- v0.34.0
74
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-check 1 "check 0.34.0"
3
+ .TH canon-brief-check 1 "check 0.35.0"
4
4
  .SH NAME
5
5
  canon\-brief\-check \- Read the brief against the rules: blocker and advisory findings (exit 0 clean, 1 blockers, 2 refused)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  [\fICHANGE_ID\fR]
42
42
  The change to read (default: the repo\*(Aqs only live change)
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-show 1 "show 0.34.0"
3
+ .TH canon-brief-show 1 "show 0.35.0"
4
4
  .SH NAME
5
5
  canon\-brief\-show \- Show where the change stands and the next one to three steps; never edits
6
6
  .SH SYNOPSIS
@@ -50,4 +50,4 @@ Examples:
50
50
 
51
51
  The operand names the change; without it the repo\*(Aqs only live change is read.
52
52
  .SH VERSION
53
- v0.34.0
53
+ v0.35.0
package/man/canon-brief.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief 1 "brief 0.34.0"
3
+ .TH canon-brief 1 "brief 0.35.0"
4
4
  .SH NAME
5
5
  canon\-brief \- Check a change\*(Aqs brief (PRD format) and see the next steps; never edits
6
6
  .SH SYNOPSIS
@@ -61,4 +61,4 @@ gets one blocker, `brief.old\-format`: `canon migrate` rewrites it. A brief
61
61
  with fewer than two known headings (written before 0.19) checks as `brief.legacy`, an
62
62
  advisory. Without \-\-change, the repo\*(Aqs only live change is checked.
63
63
  .SH VERSION
64
- v0.34.0
64
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-change-new 1 "new 0.34.0"
3
+ .TH canon-change-new 1 "new 0.35.0"
4
4
  .SH NAME
5
5
  canon\-change\-new \- Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
6
6
  .SH SYNOPSIS
@@ -63,4 +63,4 @@ Print version
63
63
  <\fICHANGE_ID\fR>
64
64
  The change\*(Aqs slug (its change_id)
65
65
  .SH VERSION
66
- v0.34.0
66
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-change 1 "change 0.34.0"
3
+ .TH canon-change 1 "change 0.35.0"
4
4
  .SH NAME
5
5
  canon\-change \- Write a plan change (.canon/changes/<slug>/brief.md) and adopt it into a subject
6
6
  .SH SYNOPSIS
@@ -39,4 +39,4 @@ Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
39
39
  Examples:
40
40
  canon change new add\-login \-\-subject auth \-\-title \*(AqAdd login\*(Aq
41
41
  .SH VERSION
42
- v0.34.0
42
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-completion 1 "completion 0.34.0"
3
+ .TH canon-completion 1 "completion 0.35.0"
4
4
  .SH NAME
5
5
  canon\-completion \- Write the shell completion script for canon (bash, zsh or fish)
6
6
  .SH SYNOPSIS
@@ -57,4 +57,4 @@ Examples:
57
57
 
58
58
  The script is generated from the command tree, so it completes exactly what the parser accepts. It needs no repo and no network.
59
59
  .SH VERSION
60
- v0.34.0
60
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-add 1 "add 0.34.0"
3
+ .TH canon-context-pack-add 1 "add 0.35.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-add \- Create an immutable context pack from a repository\-local JSON manifest
6
6
  .SH SYNOPSIS
@@ -44,4 +44,4 @@ Print help
44
44
  \fB\-V\fR, \fB\-\-version\fR
45
45
  Print version
46
46
  .SH VERSION
47
- v0.34.0
47
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-show 1 "show 0.34.0"
3
+ .TH canon-context-pack-show 1 "show 0.35.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-show \- Show a context pack after verifying its manifest and content objects
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  <\fIPACK_ID\fR>
42
42
  Context pack id (sha256:<64 hex digits>)
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-verify 1 "verify 0.34.0"
3
+ .TH canon-context-pack-verify 1 "verify 0.35.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-verify \- Verify a context pack\*(Aqs manifest and immutable content objects
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  <\fIPACK_ID\fR>
42
42
  Context pack id (sha256:<64 hex digits>)
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack 1 "context-pack 0.34.0"
3
+ .TH canon-context-pack 1 "context-pack 0.35.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack \- Create, inspect, and verify reproducible context packs
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Examples:
47
47
  canon context\-pack show sha256:<pack\-digest> \-\-repo . \-\-json
48
48
  canon context\-pack verify sha256:<pack\-digest>
49
49
  .SH VERSION
50
- v0.34.0
50
+ v0.35.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context 1 "context 0.34.0"
3
+ .TH canon-context 1 "context 0.35.0"
4
4
  .SH NAME
5
5
  canon\-context \- Show what you can author here: record kinds, fields, enums, policies
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.34.0
44
+ v0.35.0