@journeykit/canon 0.26.0 → 0.28.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 (133) hide show
  1. package/dist/skills/SKILL.src.md +245 -89
  2. package/dist/skills/reference/brief-align.md +4 -2
  3. package/dist/skills/reference/brief-clarify.md +7 -5
  4. package/dist/skills/reference/brief-harden.md +4 -2
  5. package/dist/skills/reference/brief-polish.md +7 -5
  6. package/dist/skills/reference/brief-shape.md +4 -2
  7. package/dist/skills/reference/canon-artifact-ingest.md +11 -7
  8. package/dist/skills/reference/canon-authoring.md +16 -2
  9. package/dist/skills/reference/canon-context.md +21 -11
  10. package/dist/skills/reference/canon-fmt.md +10 -2
  11. package/dist/skills/reference/canon-gate.md +119 -83
  12. package/dist/skills/reference/canon-inventory.md +34 -22
  13. package/dist/skills/reference/canon-learn.md +23 -19
  14. package/dist/skills/reference/canon-plan-import.md +10 -7
  15. package/dist/skills/reference/canon-plugins.md +15 -8
  16. package/dist/skills/reference/canon-policy.md +20 -16
  17. package/dist/skills/reference/canon-report-dashboard.md +30 -19
  18. package/dist/skills/reference/canon-retrieve.md +13 -10
  19. package/dist/skills/reference/canon-review.md +96 -68
  20. package/dist/skills/reference/canon-session-ingest.md +7 -3
  21. package/dist/skills/reference/canon-storage.md +82 -51
  22. package/dist/skills/reference/canon-subject.md +123 -84
  23. package/dist/skills/reference/canon-vocab.md +1 -1
  24. package/dist/skills/reference/role-implementer.md +295 -64
  25. package/dist/skills/reference/role-orchestrator.md +547 -55
  26. package/dist/skills/reference/role-planner.md +189 -32
  27. package/dist/skills/reference/role-reviewer.md +257 -58
  28. package/dist/skills/scripts/canon-retrieve-pre-dispatch.sh +10 -5
  29. package/man/canon-adapter-authorize.1 +44 -0
  30. package/man/canon-adapter-validate.1 +44 -0
  31. package/man/canon-adapter.1 +46 -0
  32. package/man/canon-artifacts-move.1 +63 -0
  33. package/man/canon-artifacts-store.1 +54 -0
  34. package/man/canon-artifacts-verify.1 +48 -0
  35. package/man/canon-artifacts.1 +45 -0
  36. package/man/canon-brief-approve.1 +62 -0
  37. package/man/canon-brief-check.1 +44 -0
  38. package/man/canon-brief-show.1 +50 -0
  39. package/man/canon-brief.1 +63 -0
  40. package/man/canon-change-new.1 +66 -0
  41. package/man/canon-change.1 +42 -0
  42. package/man/canon-completion.1 +60 -0
  43. package/man/canon-context-pack-add.1 +47 -0
  44. package/man/canon-context-pack-show.1 +44 -0
  45. package/man/canon-context-pack-verify.1 +44 -0
  46. package/man/canon-context-pack.1 +50 -0
  47. package/man/canon-context.1 +44 -0
  48. package/man/canon-dashboard.1 +50 -0
  49. package/man/canon-demo-init.1 +44 -0
  50. package/man/canon-demo-review.1 +44 -0
  51. package/man/canon-demo.1 +47 -0
  52. package/man/canon-dispatch-begin.1 +80 -0
  53. package/man/canon-dispatch-diff.1 +41 -0
  54. package/man/canon-dispatch-end.1 +60 -0
  55. package/man/canon-dispatch.1 +45 -0
  56. package/man/canon-divergence-accept.1 +68 -0
  57. package/man/canon-divergence-add.1 +97 -0
  58. package/man/canon-divergence-defer.1 +71 -0
  59. package/man/canon-divergence-list.1 +56 -0
  60. package/man/canon-divergence-resolve.1 +68 -0
  61. package/man/canon-divergence.1 +51 -0
  62. package/man/canon-evidence-add.1 +168 -0
  63. package/man/canon-evidence-approval-payload.1 +65 -0
  64. package/man/canon-evidence-audit.1 +121 -0
  65. package/man/canon-evidence.1 +57 -0
  66. package/man/canon-export.1 +108 -0
  67. package/man/canon-feature-new.1 +62 -0
  68. package/man/canon-feature.1 +39 -0
  69. package/man/canon-finding-add.1 +196 -0
  70. package/man/canon-finding-close.1 +117 -0
  71. package/man/canon-finding-list.1 +59 -0
  72. package/man/canon-finding.1 +67 -0
  73. package/man/canon-format.1 +49 -0
  74. package/man/canon-gate-check.1 +44 -0
  75. package/man/canon-gate-install-hooks.1 +59 -0
  76. package/man/canon-gate-promote.1 +62 -0
  77. package/man/canon-gate.1 +50 -0
  78. package/man/canon-ingest-plans.1 +53 -0
  79. package/man/canon-ingest-records.1 +56 -0
  80. package/man/canon-ingest-sessions.1 +62 -0
  81. package/man/canon-ingest.1 +50 -0
  82. package/man/canon-init.1 +98 -0
  83. package/man/canon-inventory-sync.1 +50 -0
  84. package/man/canon-inventory.1 +39 -0
  85. package/man/canon-ledger-compact.1 +50 -0
  86. package/man/canon-ledger.1 +54 -0
  87. package/man/canon-migrate.1 +89 -0
  88. package/man/canon-plugin-sync.1 +53 -0
  89. package/man/canon-plugin.1 +39 -0
  90. package/man/canon-policy-approve.1 +50 -0
  91. package/man/canon-policy-show.1 +41 -0
  92. package/man/canon-policy.1 +52 -0
  93. package/man/canon-prompt-add.1 +47 -0
  94. package/man/canon-prompt-show.1 +41 -0
  95. package/man/canon-prompt.1 +43 -0
  96. package/man/canon-purge.1 +70 -0
  97. package/man/canon-query.1 +111 -0
  98. package/man/canon-regime-show.1 +50 -0
  99. package/man/canon-regime.1 +39 -0
  100. package/man/canon-report-build.1 +44 -0
  101. package/man/canon-report-check.1 +41 -0
  102. package/man/canon-report-snapshot.1 +47 -0
  103. package/man/canon-report.1 +45 -0
  104. package/man/canon-retrieve.1 +56 -0
  105. package/man/canon-review-change.1 +98 -0
  106. package/man/canon-review-scenario.1 +98 -0
  107. package/man/canon-review.1 +42 -0
  108. package/man/canon-scenario-new.1 +80 -0
  109. package/man/canon-scenario.1 +39 -0
  110. package/man/canon-schema.1 +63 -0
  111. package/man/canon-selftest.1 +69 -0
  112. package/man/canon-skills-check.1 +47 -0
  113. package/man/canon-skills-doctor.1 +47 -0
  114. package/man/canon-skills-install.1 +53 -0
  115. package/man/canon-skills-show.1 +104 -0
  116. package/man/canon-skills.1 +48 -0
  117. package/man/canon-status.1 +51 -0
  118. package/man/canon-strategy-approval-payload.1 +53 -0
  119. package/man/canon-strategy-promote.1 +59 -0
  120. package/man/canon-strategy-rollback.1 +62 -0
  121. package/man/canon-strategy.1 +45 -0
  122. package/man/canon-subject-adopt.1 +53 -0
  123. package/man/canon-subject-move.1 +80 -0
  124. package/man/canon-subject-new.1 +65 -0
  125. package/man/canon-subject-show.1 +44 -0
  126. package/man/canon-subject-unadopt.1 +63 -0
  127. package/man/canon-subject.1 +51 -0
  128. package/man/canon-task-done.1 +47 -0
  129. package/man/canon-task.1 +42 -0
  130. package/man/canon-tier-age.1 +50 -0
  131. package/man/canon-tier.1 +39 -0
  132. package/man/canon.1 +169 -0
  133. package/package.json +9 -5
@@ -0,0 +1,50 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-ledger-compact 1 "compact 0.28.0"
4
+ .SH NAME
5
+ canon\-ledger\-compact \- Move superseded versions of every record out of the ledger into the archive
6
+ .SH SYNOPSIS
7
+ \fBcanon ledger compact\fR [\fB\-\-as\fR] [\fB\-\-commit\fR] [\fB\-\-plan\-digest\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Move superseded versions of every record out of the ledger into the archive
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-commit\fR
30
+ Act on the previewed plan; needs \-\-plan\-digest
31
+ .TP
32
+ \fB\-\-plan\-digest\fR \fI<DIGEST>\fR
33
+ The `planDigest` the preview printed; the run acts only if the plan recomputed now has this digest
34
+ .TP
35
+ \fB\-\-repo\fR \fI<DIR>\fR
36
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
37
+ .TP
38
+ \fB\-\-json\fR
39
+ Output JSON instead of the human\-readable form
40
+ .TP
41
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
42
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
43
+ .TP
44
+ \fB\-h\fR, \fB\-\-help\fR
45
+ Print help
46
+ .TP
47
+ \fB\-V\fR, \fB\-\-version\fR
48
+ Print version
49
+ .SH VERSION
50
+ v0.28.0
@@ -0,0 +1,54 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-ledger 1 "ledger 0.28.0"
4
+ .SH NAME
5
+ canon\-ledger \- Keep the ledger to the current version of each record
6
+ .SH SYNOPSIS
7
+ \fBcanon ledger\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Keep the ledger to the current version of each record
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-h\fR, \fB\-\-help\fR
30
+ Print help
31
+ .TP
32
+ \fB\-V\fR, \fB\-\-version\fR
33
+ Print version
34
+ .SH SUBCOMMANDS
35
+ .TP
36
+ canon\-ledger\-compact(1)
37
+ Move superseded versions of every record out of the ledger into the archive
38
+ .SH EXTRA
39
+ Examples:
40
+ canon ledger compact
41
+ canon ledger compact \-\-commit \-\-plan\-digest <DIGEST>
42
+
43
+ The bare run previews the move and prints its planDigest.
44
+
45
+ Moves every superseded version of a record (an evidence record a newer one replaced, a
46
+ scenario or finding rewritten since) from .canon/ledger to .canon/archive, once. The
47
+ ledger then holds the current decision per key, and every default read (status, gate
48
+ check, guards, query) reads only that; `canon query \-\-kind <kind> \-\-history` reads the
49
+ archive too. Appending a new version moves the versions it supersedes on its own, so
50
+ this is for a ledger written before 0.23, or after an interrupted move. Idempotent;
51
+ `canon migrate` runs it. A record that carries a standing claim (a flagged overlay, a
52
+ brief override, an approval at the current evidence) stays in the ledger.
53
+ .SH VERSION
54
+ v0.28.0
@@ -0,0 +1,89 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-migrate 1 "migrate 0.28.0"
4
+ .SH NAME
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
+ .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]
8
+ .SH DESCRIPTION
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
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-repo\fR \fI<DIR>\fR
30
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
+ .TP
32
+ \fB\-\-commit\fR
33
+ Act on the previewed plan; needs \-\-plan\-digest
34
+ .TP
35
+ \fB\-\-plan\-digest\fR \fI<DIGEST>\fR
36
+ The `planDigest` the preview printed; the run acts only if the plan recomputed now has this digest
37
+ .TP
38
+ \fB\-\-json\fR
39
+ Output JSON instead of the human\-readable form
40
+ .TP
41
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
42
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
43
+ .TP
44
+ \fB\-h\fR, \fB\-\-help\fR
45
+ Print help
46
+ .TP
47
+ \fB\-V\fR, \fB\-\-version\fR
48
+ Print version
49
+ .SH EXTRA
50
+ Examples:
51
+ canon migrate
52
+ canon migrate \-\-commit \-\-plan\-digest <DIGEST>
53
+
54
+ The bare run prints the plan and its planDigest and writes nothing; \-\-commit \-\-plan\-digest applies exactly that plan. Idempotent:
55
+ a second run finds nothing to move, and a run that stopped partway is finished
56
+ by the next one.
57
+
58
+ \- A spec root\*(Aqs features/kind=feature/ moves to <root>/kind=feature/ (git mv in a
59
+ git work tree). A root at the repo\-level `specs` moves to .canon/specs, and
60
+ canon.yaml records `former_roots: [specs]` so reviews pinned before the move
61
+ still find their scenarios.
62
+ \- Changes `canon change new` wrote under openspec/changes move to
63
+ .canon/changes/<slug>/ (proposal.md \-> brief.md, tasks.md alongside); every
64
+ other change stays and is named. A change counts as canon\*(Aqs when its files are
65
+ still that command\*(Aqs scaffold and its first stored version was already adopted:
66
+ 0.16 kept no durable provenance. A false positive keeps its content and ids and
67
+ is one `git mv` to undo; \-\-dry\-run shows exactly which changes move.
68
+ canon init\*(Aqs `{ dialect: openspec, root: . }` source goes once nothing unread is
69
+ left under it.
70
+ \- An external proposal.md\*(Aqs Approved: line is copied into a canon pointer
71
+ brief, .canon/changes/<change>/brief.md, with a Source: line.
72
+ \- skills.providers is written from the install lock; missing canon .gitignore
73
+ lines are added; the scenario index is rebuilt (full sync).
74
+ \- 0.27 hooks, scripts and skill (0.28 D9): a hook command `canon gate task` (any removed
75
+ command spelling) becomes `canon task done`; a canon\-owned script that calls a removed
76
+ spelling is regenerated; a full skill projection is replaced by the stub that points to
77
+ `canon skills show canon`. Every file it rewrites is first copied under
78
+ .canon/migrate\-backup/<timestamp>/.
79
+ \- Superseded ledger versions move to .canon/archive (`canon ledger compact`);
80
+ `canon query \-\-history` still reads them.
81
+ \- Reviews written before 0.23 are re\-pinned to what their evidence says: a
82
+ review current under the old rule stays current, a stale one stays stale.
83
+
84
+ Refuses (exit 2, nothing written) on uncommitted changes under a path it
85
+ moves, on a destination that already exists, on a change directory that could
86
+ stop halfway, and on a canon.yaml edit it cannot make with every other byte
87
+ kept. canon.yaml is written atomically.
88
+ .SH VERSION
89
+ v0.28.0
@@ -0,0 +1,53 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-plugin-sync 1 "sync 0.28.0"
4
+ .SH NAME
5
+ canon\-plugin\-sync \- Validate and write a plugin\*(Aqs overlay records
6
+ .SH SYNOPSIS
7
+ \fBcanon plugin sync\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-spec\-root\fR] [\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIPLUGIN_ID\fR>
8
+ .SH DESCRIPTION
9
+ Validate and write a plugin\*(Aqs overlay records
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-repo\fR \fI<DIR>\fR
30
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
+ .TP
32
+ \fB\-\-spec\-root\fR \fI<DIR>\fR
33
+ Sync exactly one ad hoc root, overriding canon.yaml\*(Aqs specs.roots[]
34
+ .TP
35
+ \fB\-\-dry\-run\fR
36
+ Validate fully and report what would be written, without writing anything
37
+ .TP
38
+ \fB\-\-json\fR
39
+ Output JSON instead of the human\-readable form
40
+ .TP
41
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
42
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
43
+ .TP
44
+ \fB\-h\fR, \fB\-\-help\fR
45
+ Print help
46
+ .TP
47
+ \fB\-V\fR, \fB\-\-version\fR
48
+ Print version
49
+ .TP
50
+ <\fIPLUGIN_ID\fR>
51
+ A .canon/plugins/<id>/plugin.yaml manifest id (e.g. porting)
52
+ .SH VERSION
53
+ v0.28.0
@@ -0,0 +1,39 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-plugin 1 "plugin 0.28.0"
4
+ .SH NAME
5
+ canon\-plugin \- Sync plugin overlay records onto the ledger
6
+ .SH SYNOPSIS
7
+ \fBcanon plugin\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Sync plugin overlay records onto the ledger
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-h\fR, \fB\-\-help\fR
30
+ Print help
31
+ .TP
32
+ \fB\-V\fR, \fB\-\-version\fR
33
+ Print version
34
+ .SH SUBCOMMANDS
35
+ .TP
36
+ canon\-plugin\-sync(1)
37
+ Validate and write a plugin\*(Aqs overlay records
38
+ .SH VERSION
39
+ v0.28.0
@@ -0,0 +1,50 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-policy-approve 1 "approve 0.28.0"
4
+ .SH NAME
5
+ canon\-policy\-approve \- Approve the current .canon/policy.yaml (written directly; nothing to promote)
6
+ .SH SYNOPSIS
7
+ \fBcanon policy approve\fR <\fB\-\-approver\fR> [\fB\-\-as\fR] [\fB\-\-note\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Approve the current .canon/policy.yaml (written directly; nothing to promote)
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-approver\fR \fI<NAME>\fR
13
+ Who approved it (a human\*(Aqs name or id)
14
+ .TP
15
+ \fB\-\-as\fR \fI<ROLE>\fR
16
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
17
+ .br
18
+
19
+ .br
20
+ \fIPossible values:\fR
21
+ .RS 14
22
+ .IP \(bu 2
23
+ planner
24
+ .IP \(bu 2
25
+ implementer
26
+ .IP \(bu 2
27
+ reviewer
28
+ .IP \(bu 2
29
+ orchestrator
30
+ .RE
31
+ .TP
32
+ \fB\-\-note\fR \fI<TEXT>\fR
33
+ Why, or what was reviewed
34
+ .TP
35
+ \fB\-\-repo\fR \fI<DIR>\fR
36
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
37
+ .TP
38
+ \fB\-\-json\fR
39
+ Output JSON instead of the human\-readable form
40
+ .TP
41
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
42
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
43
+ .TP
44
+ \fB\-h\fR, \fB\-\-help\fR
45
+ Print help
46
+ .TP
47
+ \fB\-V\fR, \fB\-\-version\fR
48
+ Print version
49
+ .SH VERSION
50
+ v0.28.0
@@ -0,0 +1,41 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-policy-show 1 "show 0.28.0"
4
+ .SH NAME
5
+ canon\-policy\-show \- Show the policy\*(Aqs digest and its approval (who, when, which bytes)
6
+ .SH SYNOPSIS
7
+ \fBcanon policy show\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Show the policy\*(Aqs digest and its approval (who, when, which bytes)
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-repo\fR \fI<DIR>\fR
30
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
+ .TP
32
+ \fB\-\-json\fR
33
+ Output JSON instead of the human\-readable form
34
+ .TP
35
+ \fB\-h\fR, \fB\-\-help\fR
36
+ Print help
37
+ .TP
38
+ \fB\-V\fR, \fB\-\-version\fR
39
+ Print version
40
+ .SH VERSION
41
+ v0.28.0
@@ -0,0 +1,52 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-policy 1 "policy 0.28.0"
4
+ .SH NAME
5
+ canon\-policy \- Record who approved the gate\*(Aqs policy (.canon/policy.yaml) and which bytes
6
+ .SH SYNOPSIS
7
+ \fBcanon policy\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Record who approved the gate\*(Aqs policy (.canon/policy.yaml) and which bytes
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-h\fR, \fB\-\-help\fR
30
+ Print help
31
+ .TP
32
+ \fB\-V\fR, \fB\-\-version\fR
33
+ Print version
34
+ .SH SUBCOMMANDS
35
+ .TP
36
+ canon\-policy\-approve(1)
37
+ Approve the current .canon/policy.yaml (written directly; nothing to promote)
38
+ .TP
39
+ canon\-policy\-show(1)
40
+ Show the policy\*(Aqs digest and its approval (who, when, which bytes)
41
+ .SH EXTRA
42
+ Examples:
43
+ canon policy approve \-\-approver alice \-\-note \*(Aqreviewed the starter policy\*(Aq
44
+
45
+ Writes .canon/policy.approval.json (commit it): the policy\*(Aqs sha256, who
46
+ approved it, when, and the note. `canon gate check` and `canon status` print an
47
+ advisory while the policy was never approved. A policy that changed since its
48
+ approval (or whose approval cannot be read) fails closed: `gate check` exits 1
49
+ and `subject move` refuses to ship or reopen; `\-\-override\-reason` does not
50
+ waive it. `canon policy show` reads the approval back.
51
+ .SH VERSION
52
+ v0.28.0
@@ -0,0 +1,47 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-prompt-add 1 "add 0.28.0"
4
+ .SH NAME
5
+ canon\-prompt\-add \- Add a prompt bundle from a repository\-local JSON manifest
6
+ .SH SYNOPSIS
7
+ \fBcanon prompt add\fR [\fB\-\-as\fR] <\fB\-\-manifest\fR> [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fINAME@VERSION\fR>
8
+ .SH DESCRIPTION
9
+ Add a prompt bundle from a repository\-local JSON manifest
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-manifest\fR \fI<FILE>\fR
30
+ Repository\-relative input manifest
31
+ .TP
32
+ \fB\-\-repo\fR \fI<DIR>\fR
33
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
34
+ .TP
35
+ \fB\-\-json\fR
36
+ Output the complete bundle manifest as JSON
37
+ .TP
38
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
39
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
40
+ .TP
41
+ \fB\-h\fR, \fB\-\-help\fR
42
+ Print help
43
+ .TP
44
+ <\fINAME@VERSION\fR>
45
+ The bundle to register, `NAME@VERSION`
46
+ .SH VERSION
47
+ v0.28.0
@@ -0,0 +1,41 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-prompt-show 1 "show 0.28.0"
4
+ .SH NAME
5
+ canon\-prompt\-show \- Select a registered prompt bundle version
6
+ .SH SYNOPSIS
7
+ \fBcanon prompt show\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fINAME@VERSION\fR>
8
+ .SH DESCRIPTION
9
+ Select a registered prompt bundle version
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-repo\fR \fI<DIR>\fR
30
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
+ .TP
32
+ \fB\-\-json\fR
33
+ Output the complete bundle manifest as JSON
34
+ .TP
35
+ \fB\-h\fR, \fB\-\-help\fR
36
+ Print help
37
+ .TP
38
+ <\fINAME@VERSION\fR>
39
+ The bundle to show, `NAME@VERSION`
40
+ .SH VERSION
41
+ v0.28.0
@@ -0,0 +1,43 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-prompt 1 "prompt 0.28.0"
4
+ .SH NAME
5
+ canon\-prompt \- Register and select versioned prompt bundles
6
+ .SH SYNOPSIS
7
+ \fBcanon prompt\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Register and select versioned prompt bundles
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-h\fR, \fB\-\-help\fR
30
+ Print help
31
+ .SH SUBCOMMANDS
32
+ .TP
33
+ canon\-prompt\-add(1)
34
+ Add a prompt bundle from a repository\-local JSON manifest
35
+ .TP
36
+ canon\-prompt\-show(1)
37
+ Select a registered prompt bundle version
38
+ .SH EXTRA
39
+ Examples:
40
+ canon prompt add reviewer@v1 \-\-manifest .canon/reviewer.json
41
+ canon prompt show reviewer@v1 \-\-json
42
+ .SH VERSION
43
+ v0.28.0
@@ -0,0 +1,70 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-purge 1 "purge 0.28.0"
4
+ .SH NAME
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
+ .SH SYNOPSIS
7
+ \fBcanon purge\fR [\fB\-\-as\fR] <\fB\-\-kind\fR> <\fB\-\-before\fR> [\fB\-\-commit\fR] [\fB\-\-plan\-digest\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Remove allowlisted records older than a cutoff: the bare run previews the removal set and its planDigest, `\-\-commit \-\-plan\-digest <DIGEST>` deletes it
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-kind\fR \fI<KIND>\fR
30
+ The record kind to purge (session, run, event or trajectory)
31
+ .br
32
+
33
+ .br
34
+ \fIPossible values:\fR
35
+ .RS 14
36
+ .IP \(bu 2
37
+ session
38
+ .IP \(bu 2
39
+ run
40
+ .IP \(bu 2
41
+ event
42
+ .IP \(bu 2
43
+ trajectory
44
+ .RE
45
+ .TP
46
+ \fB\-\-before\fR \fI<TIMESTAMP>\fR
47
+ Remove records strictly before this time (RFC3339 or YYYY\-MM\-DD, UTC)
48
+ .TP
49
+ \fB\-\-commit\fR
50
+ Act on the previewed plan; needs \-\-plan\-digest
51
+ .TP
52
+ \fB\-\-plan\-digest\fR \fI<DIGEST>\fR
53
+ The `planDigest` the preview printed; the run acts only if the plan recomputed now has this digest
54
+ .TP
55
+ \fB\-\-repo\fR \fI<DIR>\fR
56
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
57
+ .TP
58
+ \fB\-\-json\fR
59
+ Output JSON instead of the human\-readable form
60
+ .TP
61
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
62
+ The arguments as JSON: an object (one run) or an array / NDJSON file or `\-` (a batch); keys are the option names in camelCase, `operands` an array
63
+ .TP
64
+ \fB\-h\fR, \fB\-\-help\fR
65
+ Print help
66
+ .TP
67
+ \fB\-V\fR, \fB\-\-version\fR
68
+ Print version
69
+ .SH VERSION
70
+ v0.28.0