@journeykit/canon 0.28.0 → 0.30.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 (114) hide show
  1. package/dist/skills/SKILL.src.md +2 -2
  2. package/dist/skills/reference/canon-gate.md +8 -2
  3. package/dist/skills/reference/canon-report-dashboard.md +2 -2
  4. package/dist/skills/reference/canon-review.md +4 -3
  5. package/dist/skills/reference/canon-storage.md +18 -1
  6. package/dist/skills/reference/canon-subject.md +1 -1
  7. package/dist/skills/reference/role-implementer.md +1 -1
  8. package/dist/skills/reference/role-orchestrator.md +4 -3
  9. package/dist/skills/reference/role-reviewer.md +3 -3
  10. package/man/canon-adapter-authorize.1 +2 -2
  11. package/man/canon-adapter-validate.1 +2 -2
  12. package/man/canon-adapter.1 +2 -2
  13. package/man/canon-artifacts-move.1 +2 -2
  14. package/man/canon-artifacts-store.1 +2 -2
  15. package/man/canon-artifacts-verify.1 +2 -2
  16. package/man/canon-artifacts.1 +2 -2
  17. package/man/canon-brief-approve.1 +2 -2
  18. package/man/canon-brief-check.1 +2 -2
  19. package/man/canon-brief-show.1 +2 -2
  20. package/man/canon-brief.1 +2 -2
  21. package/man/canon-change-new.1 +2 -2
  22. package/man/canon-change.1 +2 -2
  23. package/man/canon-completion.1 +2 -2
  24. package/man/canon-context-pack-add.1 +2 -2
  25. package/man/canon-context-pack-show.1 +2 -2
  26. package/man/canon-context-pack-verify.1 +2 -2
  27. package/man/canon-context-pack.1 +2 -2
  28. package/man/canon-context.1 +2 -2
  29. package/man/canon-dashboard.1 +2 -2
  30. package/man/canon-demo-init.1 +2 -2
  31. package/man/canon-demo-review.1 +2 -2
  32. package/man/canon-demo.1 +2 -2
  33. package/man/canon-dispatch-begin.1 +2 -2
  34. package/man/canon-dispatch-diff.1 +2 -2
  35. package/man/canon-dispatch-end.1 +2 -2
  36. package/man/canon-dispatch.1 +2 -2
  37. package/man/canon-divergence-accept.1 +2 -2
  38. package/man/canon-divergence-add.1 +2 -2
  39. package/man/canon-divergence-defer.1 +2 -2
  40. package/man/canon-divergence-list.1 +2 -2
  41. package/man/canon-divergence-resolve.1 +2 -2
  42. package/man/canon-divergence.1 +2 -2
  43. package/man/canon-evidence-add.1 +2 -2
  44. package/man/canon-evidence-approval-payload.1 +2 -2
  45. package/man/canon-evidence-audit.1 +2 -2
  46. package/man/canon-evidence.1 +2 -2
  47. package/man/canon-export.1 +2 -2
  48. package/man/canon-feature-new.1 +2 -2
  49. package/man/canon-feature.1 +2 -2
  50. package/man/canon-finding-add.1 +17 -5
  51. package/man/canon-finding-close.1 +2 -2
  52. package/man/canon-finding-list.1 +2 -2
  53. package/man/canon-finding.1 +2 -2
  54. package/man/canon-format.1 +2 -2
  55. package/man/canon-gate-check.1 +2 -2
  56. package/man/canon-gate-install-hooks.1 +2 -2
  57. package/man/canon-gate-promote.1 +2 -2
  58. package/man/canon-gate.1 +2 -2
  59. package/man/canon-ingest-plans.1 +2 -2
  60. package/man/canon-ingest-records.1 +2 -2
  61. package/man/canon-ingest-sessions.1 +2 -2
  62. package/man/canon-ingest.1 +2 -2
  63. package/man/canon-init.1 +2 -2
  64. package/man/canon-inventory-sync.1 +2 -2
  65. package/man/canon-inventory.1 +2 -2
  66. package/man/canon-ledger-compact.1 +2 -2
  67. package/man/canon-ledger.1 +2 -2
  68. package/man/canon-migrate.1 +20 -3
  69. package/man/canon-plugin-sync.1 +2 -2
  70. package/man/canon-plugin.1 +2 -2
  71. package/man/canon-policy-approve.1 +2 -2
  72. package/man/canon-policy-show.1 +2 -2
  73. package/man/canon-policy.1 +2 -2
  74. package/man/canon-prompt-add.1 +2 -2
  75. package/man/canon-prompt-show.1 +2 -2
  76. package/man/canon-prompt.1 +2 -2
  77. package/man/canon-purge.1 +2 -2
  78. package/man/canon-query.1 +2 -2
  79. package/man/canon-regime-show.1 +2 -2
  80. package/man/canon-regime.1 +2 -2
  81. package/man/canon-report-build.1 +2 -2
  82. package/man/canon-report-check.1 +2 -2
  83. package/man/canon-report-snapshot.1 +2 -2
  84. package/man/canon-report.1 +2 -2
  85. package/man/canon-retrieve.1 +2 -2
  86. package/man/canon-review-change.1 +2 -2
  87. package/man/canon-review-scenario.1 +2 -2
  88. package/man/canon-review.1 +2 -2
  89. package/man/canon-scenario-new.1 +2 -2
  90. package/man/canon-scenario.1 +2 -2
  91. package/man/canon-schema.1 +2 -2
  92. package/man/canon-selftest.1 +2 -2
  93. package/man/canon-skills-check.1 +2 -2
  94. package/man/canon-skills-doctor.1 +2 -2
  95. package/man/canon-skills-install.1 +2 -2
  96. package/man/canon-skills-show.1 +2 -2
  97. package/man/canon-skills.1 +2 -2
  98. package/man/canon-status.1 +2 -2
  99. package/man/canon-strategy-approval-payload.1 +2 -2
  100. package/man/canon-strategy-promote.1 +2 -2
  101. package/man/canon-strategy-rollback.1 +2 -2
  102. package/man/canon-strategy.1 +2 -2
  103. package/man/canon-subject-adopt.1 +2 -2
  104. package/man/canon-subject-move.1 +2 -2
  105. package/man/canon-subject-new.1 +2 -2
  106. package/man/canon-subject-show.1 +2 -2
  107. package/man/canon-subject-unadopt.1 +2 -2
  108. package/man/canon-subject.1 +2 -2
  109. package/man/canon-task-done.1 +2 -2
  110. package/man/canon-task.1 +2 -2
  111. package/man/canon-tier-age.1 +2 -2
  112. package/man/canon-tier.1 +2 -2
  113. package/man/canon.1 +2 -2
  114. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-list 1 "list 0.28.0"
3
+ .TH canon-divergence-list 1 "list 0.30.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-list \- List the current divergence burn\-down state
6
6
  .SH SYNOPSIS
@@ -53,4 +53,4 @@ Print help
53
53
  \fB\-V\fR, \fB\-\-version\fR
54
54
  Print version
55
55
  .SH VERSION
56
- v0.28.0
56
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-resolve 1 "resolve 0.28.0"
3
+ .TH canon-divergence-resolve 1 "resolve 0.30.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-resolve \- Directly record a resolved divergence
6
6
  .SH SYNOPSIS
@@ -65,4 +65,4 @@ Print version
65
65
  <\fISCENARIO_ID\fR>
66
66
  The scenario (`<area>.<surface>.<nn>`)
67
67
  .SH VERSION
68
- v0.28.0
68
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence 1 "divergence 0.28.0"
3
+ .TH canon-divergence 1 "divergence 0.30.0"
4
4
  .SH NAME
5
5
  canon\-divergence \- Stage, promote, resolve, and inspect spec divergences
6
6
  .SH SYNOPSIS
@@ -48,4 +48,4 @@ Accept a divergent scenario as a tracked known gap (a reviewer step): its latest
48
48
  canon\-divergence\-list(1)
49
49
  List the current divergence burn\-down state
50
50
  .SH VERSION
51
- v0.28.0
51
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-add 1 "add 0.28.0"
3
+ .TH canon-evidence-add 1 "add 0.30.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-add \- Record one attributed EvidenceRecord for a task or scenario (promoted in the same run under `write: { promote: auto }` or with \-\-promote; under `write.promote: manual`, commit it with `canon gate promote`)
6
6
  .SH SYNOPSIS
@@ -165,4 +165,4 @@ While a subject this record attests for (the scenario\*(Aqs @subject owner, or a
165
165
  AUDITS.
166
166
  An external evaluator\*(Aqs re\-audit is `canon evidence audit <SCENARIO_ID>`, not `\-\-kind audit`.
167
167
  .SH VERSION
168
- v0.28.0
168
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-approval-payload 1 "approval-payload 0.28.0"
3
+ .TH canon-evidence-approval-payload 1 "approval-payload 0.30.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-approval\-payload \- Emit exact bytes for external `ssh\-keygen \-Y sign \-n canon\-approval\-v1`
6
6
  .SH SYNOPSIS
@@ -62,4 +62,4 @@ Print help
62
62
  \fB\-V\fR, \fB\-\-version\fR
63
63
  Print version
64
64
  .SH VERSION
65
- v0.28.0
65
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-audit 1 "audit 0.28.0"
3
+ .TH canon-evidence-audit 1 "audit 0.30.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-audit \- Record an external evaluator\*(Aqs re\-audit of one scenario (class `audit`; the verdict follows \-\-audit\-result; canon never runs the evaluator)
6
6
  .SH SYNOPSIS
@@ -118,4 +118,4 @@ The re\-audited scenario (`<area>.<surface>.<nn>`)
118
118
  .SH EXTRA
119
119
  Records an external evaluator\*(Aqs re\-audit of one scenario: \-\-evaluator\-id, \-\-evaluator\-version, \-\-evaluator\-digest <sha256>, \-\-audit\-result confirmed|refuted|indeterminate, and optional \-\-report/\-\-artifact counterexamples, bound and stored like any report. canon never generates or runs the audit. An audit never becomes the scenario\*(Aqs declared verdict; a refuted latest audit is false\-success in canon gate check, whatever the declared verdict says.
120
120
  .SH VERSION
121
- v0.28.0
121
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence 1 "evidence 0.28.0"
3
+ .TH canon-evidence 1 "evidence 0.30.0"
4
4
  .SH NAME
5
5
  canon\-evidence \- Author a staged, attributed evidence attestation for a plan task
6
6
  .SH SYNOPSIS
@@ -54,4 +54,4 @@ each add to commit it (assigns run_seq).
54
54
 
55
55
  See `canon evidence add \-\-help` for exactly what the gate does and does not check.
56
56
  .SH VERSION
57
- v0.28.0
57
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-export 1 "export 0.28.0"
3
+ .TH canon-export 1 "export 0.30.0"
4
4
  .SH NAME
5
5
  canon\-export \- Export a redacted retention manifest without deleting records
6
6
  .SH SYNOPSIS
@@ -105,4 +105,4 @@ Print help
105
105
  \fB\-V\fR, \fB\-\-version\fR
106
106
  Print version
107
107
  .SH VERSION
108
- v0.28.0
108
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-feature-new 1 "new 0.28.0"
3
+ .TH canon-feature-new 1 "new 0.30.0"
4
4
  .SH NAME
5
5
  canon\-feature\-new \- Create a fresh .feature file for a new area.surface
6
6
  .SH SYNOPSIS
@@ -59,4 +59,4 @@ Print version
59
59
  <\fISURFACE\fR>
60
60
  <area>.<surface> the fresh .feature file scaffolds
61
61
  .SH VERSION
62
- v0.28.0
62
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-feature 1 "feature 0.28.0"
3
+ .TH canon-feature 1 "feature 0.30.0"
4
4
  .SH NAME
5
5
  canon\-feature \- Scaffold a new .feature spec file
6
6
  .SH SYNOPSIS
@@ -36,4 +36,4 @@ Print version
36
36
  canon\-feature\-new(1)
37
37
  Create a fresh .feature file for a new area.surface
38
38
  .SH VERSION
39
- v0.28.0
39
+ v0.30.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-finding-add 1 "add 0.28.0"
3
+ .TH canon-finding-add 1 "add 0.30.0"
4
4
  .SH NAME
5
5
  canon\-finding\-add \- Record one code\-review finding (promoted in the same run under `write: { promote: auto }` or with \-\-promote; under `write.promote: manual`, commit it with `canon gate promote`)
6
6
  .SH SYNOPSIS
7
- \fBcanon finding add\fR [\fB\-\-as\fR] <\fB\-\-change\-id\fR> <\fB\-\-round\fR> <\fB\-\-seq\fR> <\fB\-\-severity\fR> [\fB\-\-disposition\fR] <\fB\-\-actor\-id\fR> <\fB\-\-summary\fR> [\fB\-\-rev\fR] [\fB\-\-resolution\-rev\fR] [\fB\-\-introduced\-rev\fR] [\fB\-\-file\-ref\fR] [\fB\-\-scenario\-id\fR] [\fB\-\-role\fR] [\fB\-\-session\-id\fR] [\fB\-\-promote\fR] [\fB\-\-no\-promote\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
7
+ \fBcanon finding add\fR [\fB\-\-as\fR] <\fB\-\-change\-id\fR> <\fB\-\-round\fR> <\fB\-\-seq\fR> <\fB\-\-severity\fR> [\fB\-\-disposition\fR] <\fB\-\-actor\-id\fR> <\fB\-\-summary\fR> [\fB\-\-rev\fR] [\fB\-\-resolution\-rev\fR] [\fB\-\-introduced\-rev\fR] [\fB\-\-introduced\-unknown\fR] [\fB\-\-review\-id\fR] [\fB\-\-file\-ref\fR] [\fB\-\-scenario\-id\fR] [\fB\-\-role\fR] [\fB\-\-session\-id\fR] [\fB\-\-promote\fR] [\fB\-\-no\-promote\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
8
  .SH DESCRIPTION
9
9
  Record one code\-review finding (promoted in the same run under `write: { promote: auto }` or with \-\-promote; under `write.promote: manual`, commit it with `canon gate promote`)
10
10
  .SH OPTIONS
@@ -82,6 +82,12 @@ The commit that closed it, any git revision (resolved to the full sha, with the
82
82
  \fB\-\-introduced\-rev\fR \fI<REV>\fR
83
83
  The SOURCED introducing commit, any git revision (resolved to the full sha). No default: leave it unset when it is not known, never guess (see \-\-help). Existence only; canon never reads the commit\*(Aqs message or diff
84
84
  .TP
85
+ \fB\-\-introduced\-unknown\fR
86
+ Say the introducing commit is not known, instead of \-\-introduced\-rev. A new blocker or should\-fix needs one of the two; a note needs neither. Stored in its own field, never in the commit slot
87
+ .TP
88
+ \fB\-\-review\-id\fR \fI<REVIEW_ID>\fR
89
+ The review this finding came out of: the review id `canon review scenario` or `canon review change` printed. Refused when no review in the ledger or the archive carries it; a close copies it
90
+ .TP
85
91
  \fB\-\-file\-ref\fR \fI<TEXT>\fR
86
92
  Where in the tree, as path/to/file.rs:120\-134 (line breaks refused)
87
93
  .TP
@@ -151,8 +157,11 @@ What the record IS good for:
151
157
  \-\-introduced\-rev must be SOURCED:
152
158
  Set it only when the introducing commit was actually established — someone
153
159
  read the diff, or the fixing commit names it. Never from timing, commit
154
- adjacency, or `git blame`. Leaving it UNSET is the correct record when it is
155
- not known, not an incomplete one. Unset means UNSOURCED, never \*(Aqno cause\*(Aq; a
160
+ adjacency, or `git blame`. A new blocker or should\-fix must name the commit with \-\-introduced\-rev or
161
+ say it is not known with \-\-introduced\-unknown (a note needs neither); with
162
+ neither it is refused, and both together are refused. \-\-introduced\-unknown
163
+ is the correct record when the commit was not established, not an
164
+ incomplete one. Not naming a commit means UNSOURCED, never \*(Aqno cause\*(Aq; a
156
165
  guessed value would inflate the exact number this command exists to make
157
166
  trustworthy.
158
167
 
@@ -181,6 +190,9 @@ finding\*(Aqs identity and inflating the count. An already\-occupied
181
190
  (\-\-change\-id, \-\-round, \-\-seq) is refused, naming it.
182
191
 
183
192
  Refused before anything is staged:
193
+ \- a blocker or should\-fix with neither \-\-introduced\-rev nor
194
+ \-\-introduced\-unknown, and \-\-introduced\-rev together with \-\-introduced\-unknown
195
+ \- a \-\-review\-id that no review in the ledger or the archive carries
184
196
  \- \-\-disposition fixed with no \-\-resolution\-rev, and \-\-resolution\-rev with
185
197
  any other disposition
186
198
  \- a line separator in \-\-summary, \-\-file\-ref or \-\-actor\-id: a
@@ -193,4 +205,4 @@ The loop:
193
205
  Under `write.promote: manual` (no `write:` key), run `canon gate promote` to
194
206
  commit it.
195
207
  .SH VERSION
196
- v0.28.0
208
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-finding-close 1 "close 0.28.0"
3
+ .TH canon-finding-close 1 "close 0.30.0"
4
4
  .SH NAME
5
5
  canon\-finding\-close \- Move an already\-committed finding\*(Aqs disposition (promoted in the same run under `write: { promote: auto }` or with \-\-promote; under `write.promote: manual`, commit it with `canon gate promote`)
6
6
  .SH SYNOPSIS
@@ -114,4 +114,4 @@ Examples:
114
114
  canon finding close \-\-change\-id s44\-spec\-derived\-worklist \-\-round 1 \-\-seq 9 \\
115
115
  \-\-disposition rejected
116
116
  .SH VERSION
117
- v0.28.0
117
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-finding-list 1 "list 0.28.0"
3
+ .TH canon-finding-list 1 "list 0.30.0"
4
4
  .SH NAME
5
5
  canon\-finding\-list \- List a change\*(Aqs committed findings at their latest version: round, seq, severity, disposition, reviewer and summary
6
6
  .SH SYNOPSIS
@@ -56,4 +56,4 @@ Print help
56
56
  \fB\-V\fR, \fB\-\-version\fR
57
57
  Print version
58
58
  .SH VERSION
59
- v0.28.0
59
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-finding 1 "finding 0.28.0"
3
+ .TH canon-finding 1 "finding 0.30.0"
4
4
  .SH NAME
5
5
  canon\-finding \- Record one code\-review finding as a durable record
6
6
  .SH SYNOPSIS
@@ -64,4 +64,4 @@ RECORDED OBSERVATION, NOT PROOF — canon never verifies that the defect
64
64
  existed, that it was fixed, or that \-\-introduced\-rev is the true cause.
65
65
  See `canon finding add \-\-help` for exactly what it does and does not establish.
66
66
  .SH VERSION
67
- v0.28.0
67
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-format 1 "format 0.28.0"
3
+ .TH canon-format 1 "format 0.30.0"
4
4
  .SH NAME
5
5
  canon\-format \- Validate a spec/artifact corpus against canon\*(Aqs format
6
6
  .SH SYNOPSIS
@@ -46,4 +46,4 @@ Examples:
46
46
  canon format spec
47
47
  canon format spec \-\-repo ~/work/myrepo
48
48
  .SH VERSION
49
- v0.28.0
49
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-gate-check 1 "check 0.28.0"
3
+ .TH canon-gate-check 1 "check 0.30.0"
4
4
  .SH NAME
5
5
  canon\-gate\-check \- Run the coverage/ledger/staleness/trust checks (0 clean, 1 red, 2 usage)
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.28.0
44
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-gate-install-hooks 1 "install-hooks 0.28.0"
3
+ .TH canon-gate-install-hooks 1 "install-hooks 0.30.0"
4
4
  .SH NAME
5
5
  canon\-gate\-install\-hooks \- Install the gate hook into .claude/settings.json / .codex/hooks.json
6
6
  .SH SYNOPSIS
@@ -56,4 +56,4 @@ Print help
56
56
  \fB\-V\fR, \fB\-\-version\fR
57
57
  Print version
58
58
  .SH VERSION
59
- v0.28.0
59
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-gate-promote 1 "promote 0.28.0"
3
+ .TH canon-gate-promote 1 "promote 0.30.0"
4
4
  .SH NAME
5
5
  canon\-gate\-promote \- Promote staged records (evidence, findings, divergences) to the committed ledger
6
6
  .SH SYNOPSIS
@@ -59,4 +59,4 @@ Print help
59
59
  \fB\-V\fR, \fB\-\-version\fR
60
60
  Print version
61
61
  .SH VERSION
62
- v0.28.0
62
+ v0.30.0
package/man/canon-gate.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-gate 1 "gate 0.28.0"
3
+ .TH canon-gate 1 "gate 0.30.0"
4
4
  .SH NAME
5
5
  canon\-gate \- Run evidence gates, promote staged records, install hooks
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Examples:
47
47
  canon task done my\-change#3
48
48
  canon gate install\-hooks
49
49
  .SH VERSION
50
- v0.28.0
50
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ingest-plans 1 "plans 0.28.0"
3
+ .TH canon-ingest-plans 1 "plans 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ingest\-plans \- Import plans as Change/Task records: canon\*(Aqs own .canon/changes, then the configured external sources (openspec, superpowers)
6
6
  .SH SYNOPSIS
@@ -50,4 +50,4 @@ Print help
50
50
  \fB\-V\fR, \fB\-\-version\fR
51
51
  Print version
52
52
  .SH VERSION
53
- v0.28.0
53
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ingest-records 1 "records 0.28.0"
3
+ .TH canon-ingest-records 1 "records 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ingest\-records \- Import review/divergence/task/handoff records and derive verdicts
6
6
  .SH SYNOPSIS
@@ -53,4 +53,4 @@ Print help
53
53
  \fB\-V\fR, \fB\-\-version\fR
54
54
  Print version
55
55
  .SH VERSION
56
- v0.28.0
56
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ingest-sessions 1 "sessions 0.28.0"
3
+ .TH canon-ingest-sessions 1 "sessions 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ingest\-sessions \- Import agent CLI session transcripts (omp/pi, Claude Code, Codex, Hermes)
6
6
  .SH SYNOPSIS
@@ -59,4 +59,4 @@ Print help
59
59
  \fB\-V\fR, \fB\-\-version\fR
60
60
  Print version
61
61
  .SH VERSION
62
- v0.28.0
62
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ingest 1 "ingest 0.28.0"
3
+ .TH canon-ingest 1 "ingest 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ingest \- Import agent sessions, records, and plans into canon\*(Aqs store
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Examples:
47
47
  canon ingest records
48
48
  canon ingest plans
49
49
  .SH VERSION
50
- v0.28.0
50
+ v0.30.0
package/man/canon-init.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-init 1 "init 0.28.0"
3
+ .TH canon-init 1 "init 0.30.0"
4
4
  .SH NAME
5
5
  canon\-init \- Set up canon in a repo (canon.yaml, a starter policy, the AGENTS.md block, a plans home)
6
6
  .SH SYNOPSIS
@@ -95,4 +95,4 @@ it installs nothing and says how to choose. The answer is recorded as
95
95
  Rerunning in a repo that has canon.yaml leaves canon.yaml and .canon/policy.yaml
96
96
  alone and only refreshes the canon block in AGENTS.md.
97
97
  .SH VERSION
98
- v0.28.0
98
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-inventory-sync 1 "sync 0.28.0"
3
+ .TH canon-inventory-sync 1 "sync 0.30.0"
4
4
  .SH NAME
5
5
  canon\-inventory\-sync \- Validate each spec root, then materialize scenario index records
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Print help
47
47
  \fB\-V\fR, \fB\-\-version\fR
48
48
  Print version
49
49
  .SH VERSION
50
- v0.28.0
50
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-inventory 1 "inventory 0.28.0"
3
+ .TH canon-inventory 1 "inventory 0.30.0"
4
4
  .SH NAME
5
5
  canon\-inventory \- Index a validated .feature corpus into the scenario ledger
6
6
  .SH SYNOPSIS
@@ -36,4 +36,4 @@ Print version
36
36
  canon\-inventory\-sync(1)
37
37
  Validate each spec root, then materialize scenario index records
38
38
  .SH VERSION
39
- v0.28.0
39
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ledger-compact 1 "compact 0.28.0"
3
+ .TH canon-ledger-compact 1 "compact 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ledger\-compact \- Move superseded versions of every record out of the ledger into the archive
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Print help
47
47
  \fB\-V\fR, \fB\-\-version\fR
48
48
  Print version
49
49
  .SH VERSION
50
- v0.28.0
50
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-ledger 1 "ledger 0.28.0"
3
+ .TH canon-ledger 1 "ledger 0.30.0"
4
4
  .SH NAME
5
5
  canon\-ledger \- Keep the ledger to the current version of each record
6
6
  .SH SYNOPSIS
@@ -51,4 +51,4 @@ this is for a ledger written before 0.23, or after an interrupted move. Idempote
51
51
  `canon migrate` runs it. A record that carries a standing claim (a flagged overlay, a
52
52
  brief override, an approval at the current evidence) stays in the ledger.
53
53
  .SH VERSION
54
- v0.28.0
54
+ v0.30.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-migrate 1 "migrate 0.28.0"
3
+ .TH canon-migrate 1 "migrate 0.30.0"
4
4
  .SH NAME
5
5
  canon\-migrate \- Bring a repo from an earlier canon up to date: the 0.17 layout (specs, changes, approvals, skills, .gitignore), the 0.28 hooks, scripts and skill stub (backed up under .canon/migrate\-backup/), the 0.23 latest\-only ledger (superseded versions to .canon/archive) and 0.23 review pins
6
6
  .SH SYNOPSIS
7
- \fBcanon migrate\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-commit\fR] [\fB\-\-plan\-digest\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
7
+ \fBcanon migrate\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-commit\fR] [\fB\-\-plan\-digest\fR] [\fB\-\-revert\fR] [\fB\-\-backup\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
8
  .SH DESCRIPTION
9
9
  Bring a repo from an earlier canon up to date: the 0.17 layout (specs, changes, approvals, skills, .gitignore), the 0.28 hooks, scripts and skill stub (backed up under .canon/migrate\-backup/), the 0.23 latest\-only ledger (superseded versions to .canon/archive) and 0.23 review pins
10
10
  .SH OPTIONS
@@ -35,6 +35,12 @@ Act on the previewed plan; needs \-\-plan\-digest
35
35
  \fB\-\-plan\-digest\fR \fI<DIGEST>\fR
36
36
  The `planDigest` the preview printed; the run acts only if the plan recomputed now has this digest
37
37
  .TP
38
+ \fB\-\-revert\fR
39
+ Undo the last committed migrate (restores what it backed up, undoes its moves and its Postgres and R2 re\-keying); previews first, `\-\-commit \-\-plan\-digest` acts
40
+ .TP
41
+ \fB\-\-backup\fR \fI<DIR>\fR
42
+ With \-\-revert, the backup directory to restore (default: the newest under .canon/migrate\-backup/)
43
+ .TP
38
44
  \fB\-\-json\fR
39
45
  Output JSON instead of the human\-readable form
40
46
  .TP
@@ -50,6 +56,8 @@ Print version
50
56
  Examples:
51
57
  canon migrate
52
58
  canon migrate \-\-commit \-\-plan\-digest <DIGEST>
59
+ canon migrate \-\-revert
60
+ canon migrate \-\-revert \-\-commit \-\-plan\-digest <DIGEST>
53
61
 
54
62
  The bare run prints the plan and its planDigest and writes nothing; \-\-commit \-\-plan\-digest applies exactly that plan. Idempotent:
55
63
  a second run finds nothing to move, and a run that stopped partway is finished
@@ -81,9 +89,18 @@ by the next one.
81
89
  \- Reviews written before 0.23 are re\-pinned to what their evidence says: a
82
90
  review current under the old rule stays current, a stale one stays stale.
83
91
 
92
+ \-\-revert undoes a committed run: before it acts, \-\-commit copies everything it may touch
93
+ (canon.yaml, .gitignore, .canon/ with hot.db, the spec roots, openspec changes, hooks and
94
+ skill) and the git index entries of those paths under .canon/migrate\-backup/<timestamp>/.
95
+ \-\-revert restores that state (files moved back, files it wrote removed, the git mv\*(Aqs undone,
96
+ hot.db restored) and gives Postgres rows and R2 objects their old keys from the plan\*(Aqs
97
+ recorded ones (set the DSN variable the canon.yaml names). It restores the newest backup, or
98
+ the one \-\-backup names, previews first like the migrate, and discards anything written
99
+ under those paths since the migrate.
100
+
84
101
  Refuses (exit 2, nothing written) on uncommitted changes under a path it
85
102
  moves, on a destination that already exists, on a change directory that could
86
103
  stop halfway, and on a canon.yaml edit it cannot make with every other byte
87
104
  kept. canon.yaml is written atomically.
88
105
  .SH VERSION
89
- v0.28.0
106
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-plugin-sync 1 "sync 0.28.0"
3
+ .TH canon-plugin-sync 1 "sync 0.30.0"
4
4
  .SH NAME
5
5
  canon\-plugin\-sync \- Validate and write a plugin\*(Aqs overlay records
6
6
  .SH SYNOPSIS
@@ -50,4 +50,4 @@ Print version
50
50
  <\fIPLUGIN_ID\fR>
51
51
  A .canon/plugins/<id>/plugin.yaml manifest id (e.g. porting)
52
52
  .SH VERSION
53
- v0.28.0
53
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-plugin 1 "plugin 0.28.0"
3
+ .TH canon-plugin 1 "plugin 0.30.0"
4
4
  .SH NAME
5
5
  canon\-plugin \- Sync plugin overlay records onto the ledger
6
6
  .SH SYNOPSIS
@@ -36,4 +36,4 @@ Print version
36
36
  canon\-plugin\-sync(1)
37
37
  Validate and write a plugin\*(Aqs overlay records
38
38
  .SH VERSION
39
- v0.28.0
39
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-policy-approve 1 "approve 0.28.0"
3
+ .TH canon-policy-approve 1 "approve 0.30.0"
4
4
  .SH NAME
5
5
  canon\-policy\-approve \- Approve the current .canon/policy.yaml (written directly; nothing to promote)
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Print help
47
47
  \fB\-V\fR, \fB\-\-version\fR
48
48
  Print version
49
49
  .SH VERSION
50
- v0.28.0
50
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-policy-show 1 "show 0.28.0"
3
+ .TH canon-policy-show 1 "show 0.30.0"
4
4
  .SH NAME
5
5
  canon\-policy\-show \- Show the policy\*(Aqs digest and its approval (who, when, which bytes)
6
6
  .SH SYNOPSIS
@@ -38,4 +38,4 @@ Print help
38
38
  \fB\-V\fR, \fB\-\-version\fR
39
39
  Print version
40
40
  .SH VERSION
41
- v0.28.0
41
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-policy 1 "policy 0.28.0"
3
+ .TH canon-policy 1 "policy 0.30.0"
4
4
  .SH NAME
5
5
  canon\-policy \- Record who approved the gate\*(Aqs policy (.canon/policy.yaml) and which bytes
6
6
  .SH SYNOPSIS
@@ -49,4 +49,4 @@ approval (or whose approval cannot be read) fails closed: `gate check` exits 1
49
49
  and `subject move` refuses to ship or reopen; `\-\-override\-reason` does not
50
50
  waive it. `canon policy show` reads the approval back.
51
51
  .SH VERSION
52
- v0.28.0
52
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-prompt-add 1 "add 0.28.0"
3
+ .TH canon-prompt-add 1 "add 0.30.0"
4
4
  .SH NAME
5
5
  canon\-prompt\-add \- Add a prompt bundle from a repository\-local JSON manifest
6
6
  .SH SYNOPSIS
@@ -44,4 +44,4 @@ Print help
44
44
  <\fINAME@VERSION\fR>
45
45
  The bundle to register, `NAME@VERSION`
46
46
  .SH VERSION
47
- v0.28.0
47
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-prompt-show 1 "show 0.28.0"
3
+ .TH canon-prompt-show 1 "show 0.30.0"
4
4
  .SH NAME
5
5
  canon\-prompt\-show \- Select a registered prompt bundle version
6
6
  .SH SYNOPSIS
@@ -38,4 +38,4 @@ Print help
38
38
  <\fINAME@VERSION\fR>
39
39
  The bundle to show, `NAME@VERSION`
40
40
  .SH VERSION
41
- v0.28.0
41
+ v0.30.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-prompt 1 "prompt 0.28.0"
3
+ .TH canon-prompt 1 "prompt 0.30.0"
4
4
  .SH NAME
5
5
  canon\-prompt \- Register and select versioned prompt bundles
6
6
  .SH SYNOPSIS
@@ -40,4 +40,4 @@ Examples:
40
40
  canon prompt add reviewer@v1 \-\-manifest .canon/reviewer.json
41
41
  canon prompt show reviewer@v1 \-\-json
42
42
  .SH VERSION
43
- v0.28.0
43
+ v0.30.0
package/man/canon-purge.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-purge 1 "purge 0.28.0"
3
+ .TH canon-purge 1 "purge 0.30.0"
4
4
  .SH NAME
5
5
  canon\-purge \- Remove allowlisted records older than a cutoff: the bare run previews the removal set and its planDigest, `\-\-commit \-\-plan\-digest <DIGEST>` deletes it
6
6
  .SH SYNOPSIS
@@ -67,4 +67,4 @@ Print help
67
67
  \fB\-V\fR, \fB\-\-version\fR
68
68
  Print version
69
69
  .SH VERSION
70
- v0.28.0
70
+ v0.30.0
package/man/canon-query.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-query 1 "query 0.28.0"
3
+ .TH canon-query 1 "query 0.30.0"
4
4
  .SH NAME
5
5
  canon\-query \- Read stored records across every storage tier
6
6
  .SH SYNOPSIS
@@ -108,4 +108,4 @@ Print help
108
108
  \fB\-V\fR, \fB\-\-version\fR
109
109
  Print version
110
110
  .SH VERSION
111
- v0.28.0
111
+ v0.30.0