@journeykit/canon 0.27.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 +107 -69
  12. package/dist/skills/reference/canon-inventory.md +23 -15
  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 +65 -39
  22. package/dist/skills/reference/canon-subject.md +116 -79
  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,54 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-artifacts-store 1 "store 0.28.0"
4
+ .SH NAME
5
+ canon\-artifacts\-store \- Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
6
+ .SH SYNOPSIS
7
+ \fBcanon artifacts store\fR [\fB\-\-as\fR] [\fB\-\-max\-artifact\-mib\fR] [\fB\-\-dry\-run\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
+ Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
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\-\-max\-artifact\-mib\fR \fI<N>\fR [default: 25]
30
+ Per\-file size limit for the artifact store, in MiB
31
+ .TP
32
+ \fB\-\-dry\-run\fR
33
+ Validate fully and report what would be written, without writing anything
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 EXTRA
50
+ For records written before canon stored bound bytes (0.11\-0.13), and for any evidence file, or file of a current review, whose stored blob was lost. Each attachment whose working\-tree file still hashes to the recorded digest is copied into .canon/artifacts/sha256/<hex> (or uploaded to the object store); everything else is listed as not stored, with why. A superseded review\*(Aqs files are not stored, as the gate does not check them. Commit the store with the ledger.
51
+
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
+ .SH VERSION
54
+ v0.28.0
@@ -0,0 +1,48 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-artifacts-verify 1 "verify 0.28.0"
4
+ .SH NAME
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
+ .SH SYNOPSIS
7
+ \fBcanon artifacts verify\fR [\fB\-\-as\fR] [\fB\-\-full\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Check that the artifact store holds every file the latest evidence and current reviews bind (\-\-full re\-hashes the stored 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\-\-full\fR
30
+ Download every blob and re\-hash it, instead of trusting the store\*(Aqs size and digest metadata
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 JSON instead of the human\-readable form
37
+ .TP
38
+ \fB\-h\fR, \fB\-\-help\fR
39
+ Print help
40
+ .TP
41
+ \fB\-V\fR, \fB\-\-version\fR
42
+ Print version
43
+ .SH EXTRA
44
+ Asks the store canon.yaml\*(Aqs `artifacts:` block selects (default: local, .canon/artifacts/sha256) about each bound file, the way `canon gate check` does. For an object store that is one HEAD per distinct digest plus the size and sha256 metadata written at upload; \-\-full downloads each blob and re\-hashes it.
45
+
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
+ .SH VERSION
48
+ v0.28.0
@@ -0,0 +1,45 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-artifacts 1 "artifacts 0.28.0"
4
+ .SH NAME
5
+ canon\-artifacts \- Check or move the evidence artifact store (local, or an object\-store tier)
6
+ .SH SYNOPSIS
7
+ \fBcanon artifacts\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Check or move the evidence artifact store (local, or an object\-store tier)
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\-artifacts\-verify(1)
37
+ Check that the artifact store holds every file the latest evidence and current reviews bind (\-\-full re\-hashes the stored bytes)
38
+ .TP
39
+ canon\-artifacts\-store(1)
40
+ Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
41
+ .TP
42
+ canon\-artifacts\-move(1)
43
+ Move the local artifact blobs to an object\-store tier, verify them, and remove the local copies
44
+ .SH VERSION
45
+ v0.28.0
@@ -0,0 +1,62 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-brief-approve 1 "approve 0.28.0"
4
+ .SH NAME
5
+ canon\-brief\-approve \- Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
6
+ .SH SYNOPSIS
7
+ \fBcanon brief 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] [\fICHANGE_ID\fR]
8
+ .SH DESCRIPTION
9
+ Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-approver\fR \fI<NAME>\fR
13
+ Who approved (the human, not the agent)
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
+ The human\*(Aqs own words
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
+ .TP
50
+ [\fICHANGE_ID\fR]
51
+ The change to read (default: the repo\*(Aqs only live change)
52
+ .SH EXTRA
53
+ Examples:
54
+ canon brief approve add\-login \-\-approver Ana \-\-note \*(AqGo. Ship the failure flow too.\*(Aq
55
+
56
+ Writes `Approved: <who> <when> — "<words>" (brief sha256:<digest>)` into the
57
+ brief (the digest covers the brief without its `Approved:` lines) and records
58
+ `canon policy approve` in the same call. Edit the brief afterwards and it reads as
59
+ not approved (BRIEF_CHANGED_SINCE_APPROVAL) until a human answers again and this
60
+ runs again. Run it only from the human\*(Aqs answer, with their words as \-\-note.
61
+ .SH VERSION
62
+ v0.28.0
@@ -0,0 +1,44 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-brief-check 1 "check 0.28.0"
4
+ .SH NAME
5
+ canon\-brief\-check \- Read the brief against the rules: blocker and advisory findings (exit 0 clean, 1 blockers, 2 refused)
6
+ .SH SYNOPSIS
7
+ \fBcanon brief check\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fICHANGE_ID\fR]
8
+ .SH DESCRIPTION
9
+ Read the brief against the rules: blocker and advisory findings (exit 0 clean, 1 blockers, 2 refused)
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
+ .TP
41
+ [\fICHANGE_ID\fR]
42
+ The change to read (default: the repo\*(Aqs only live change)
43
+ .SH VERSION
44
+ v0.28.0
@@ -0,0 +1,50 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-brief-show 1 "show 0.28.0"
4
+ .SH NAME
5
+ canon\-brief\-show \- Show where the change stands and the next one to three steps; never edits
6
+ .SH SYNOPSIS
7
+ \fBcanon brief show\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fICHANGE_ID\fR]
8
+ .SH DESCRIPTION
9
+ Show where the change stands and the next one to three steps; never edits
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
+ .TP
41
+ [\fICHANGE_ID\fR]
42
+ The change to read (default: the repo\*(Aqs only live change)
43
+ .SH EXTRA
44
+ Examples:
45
+ canon brief show
46
+ canon brief show add\-login \-\-json
47
+
48
+ The operand names the change; without it the repo\*(Aqs only live change is read.
49
+ .SH VERSION
50
+ v0.28.0
@@ -0,0 +1,63 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-brief 1 "brief 0.28.0"
4
+ .SH NAME
5
+ canon\-brief \- Check a change\*(Aqs brief (PRD format) and see the next steps; never edits
6
+ .SH SYNOPSIS
7
+ \fBcanon brief\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Check a change\*(Aqs brief (PRD format) and see the next steps; never edits
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\-brief\-show(1)
37
+ Show where the change stands and the next one to three steps; never edits
38
+ .TP
39
+ canon\-brief\-check(1)
40
+ Read the brief against the rules: blocker and advisory findings (exit 0 clean, 1 blockers, 2 refused)
41
+ .TP
42
+ canon\-brief\-approve(1)
43
+ Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
44
+ .SH EXTRA
45
+ Examples:
46
+ canon brief show State and the next one to three steps
47
+ canon brief check Findings; exit 0 clean, 1 blockers, 2 refused
48
+ canon brief check add\-login \-\-json
49
+
50
+ The brief is the PRD `canon change new` writes: sections are found by their
51
+ `<!\-\- canon:section <key> role=… \-\->` marker, never by heading text. Blockers
52
+ (structure) are a missing or out\-of\-order section, a duplicate flow id, step
53
+ detail that does not match the flow ids, leftover placeholders, and, once the
54
+ subject is building, a flow step with no scenario or no failure scenario.
55
+ Advisories (prose) apply to normative sections, Intent and Questions, in the
56
+ language each is written in (`language:` in canon.yaml overrides); only en and
57
+ ko have rule lists.
58
+ Waive one rule in one section with
59
+ <!\-\- canon:waive <rule\-id> <section\-key> "<reason>" \-\->
60
+ A brief without markers (written before 0.19) checks as `brief.legacy`, an
61
+ advisory. Without \-\-change\-id, the repo\*(Aqs only live change is checked.
62
+ .SH VERSION
63
+ v0.28.0
@@ -0,0 +1,66 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-change-new 1 "new 0.28.0"
4
+ .SH NAME
5
+ canon\-change\-new \- Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
6
+ .SH SYNOPSIS
7
+ \fBcanon change new\fR [\fB\-\-as\fR] <\fB\-\-subject\-id\fR> [\fB\-\-change\-kind\fR] <\fB\-\-title\fR> [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fICHANGE_ID\fR>
8
+ .SH DESCRIPTION
9
+ Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
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\-\-subject\-id\fR \fI<SUBJECT_ID>\fR
30
+ The existing subject to adopt the change under
31
+ .TP
32
+ \fB\-\-change\-kind\fR \fI<CHANGE_KIND>\fR [default: feature]
33
+ `feature` (default): the PRD brief. `chore`: a short brief for work that changes how the subject is built or kept, never what it does
34
+ .br
35
+
36
+ .br
37
+ \fIPossible values:\fR
38
+ .RS 14
39
+ .IP \(bu 2
40
+ feature
41
+ .IP \(bu 2
42
+ chore
43
+ .RE
44
+ .TP
45
+ \fB\-\-title\fR \fI<TEXT>\fR
46
+ The change\*(Aqs title (also its brief\*(Aqs summary)
47
+ .TP
48
+ \fB\-\-repo\fR \fI<DIR>\fR
49
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
50
+ .TP
51
+ \fB\-\-json\fR
52
+ Output JSON instead of the human\-readable form
53
+ .TP
54
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
55
+ 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
56
+ .TP
57
+ \fB\-h\fR, \fB\-\-help\fR
58
+ Print help
59
+ .TP
60
+ \fB\-V\fR, \fB\-\-version\fR
61
+ Print version
62
+ .TP
63
+ <\fICHANGE_ID\fR>
64
+ The change\*(Aqs slug (its change_id)
65
+ .SH VERSION
66
+ v0.28.0
@@ -0,0 +1,42 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-change 1 "change 0.28.0"
4
+ .SH NAME
5
+ canon\-change \- Write a plan change (.canon/changes/<slug>/brief.md) and adopt it into a subject
6
+ .SH SYNOPSIS
7
+ \fBcanon change\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Write a plan change (.canon/changes/<slug>/brief.md) and adopt it into a subject
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\-change\-new(1)
37
+ Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
38
+ .SH EXTRA
39
+ Examples:
40
+ canon change new add\-login \-\-subject\-id auth \-\-title \*(AqAdd login\*(Aq
41
+ .SH VERSION
42
+ v0.28.0
@@ -0,0 +1,60 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-completion 1 "completion 0.28.0"
4
+ .SH NAME
5
+ canon\-completion \- Write the shell completion script for canon (bash, zsh or fish)
6
+ .SH SYNOPSIS
7
+ \fBcanon completion\fR [\fB\-\-as\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISHELL\fR>
8
+ .SH DESCRIPTION
9
+ Write the shell completion script for canon (bash, zsh or fish)
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\-\-json\fR
30
+ Output JSON instead of the human\-readable form
31
+ .TP
32
+ \fB\-h\fR, \fB\-\-help\fR
33
+ Print help
34
+ .TP
35
+ \fB\-V\fR, \fB\-\-version\fR
36
+ Print version
37
+ .TP
38
+ <\fISHELL\fR>
39
+ Shell to write the completion script for
40
+ .br
41
+
42
+ .br
43
+ \fIPossible values:\fR
44
+ .RS 14
45
+ .IP \(bu 2
46
+ bash
47
+ .IP \(bu 2
48
+ zsh
49
+ .IP \(bu 2
50
+ fish
51
+ .RE
52
+ .SH EXTRA
53
+ Examples:
54
+ canon completion zsh > ~/.zfunc/_canon
55
+ canon completion bash > /etc/bash_completion.d/canon
56
+ canon completion fish > ~/.config/fish/completions/canon.fish
57
+
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
+ .SH VERSION
60
+ v0.28.0
@@ -0,0 +1,47 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-context-pack-add 1 "add 0.28.0"
4
+ .SH NAME
5
+ canon\-context\-pack\-add \- Create an immutable context pack from a repository\-local JSON manifest
6
+ .SH SYNOPSIS
7
+ \fBcanon context\-pack add\fR [\fB\-\-as\fR] <\fB\-\-manifest\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
+ Create an immutable context pack 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 pack 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
+ \fB\-V\fR, \fB\-\-version\fR
45
+ Print version
46
+ .SH VERSION
47
+ v0.28.0
@@ -0,0 +1,44 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-context-pack-show 1 "show 0.28.0"
4
+ .SH NAME
5
+ canon\-context\-pack\-show \- Show a context pack after verifying its manifest and content objects
6
+ .SH SYNOPSIS
7
+ \fBcanon context\-pack show\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIPACK_ID\fR>
8
+ .SH DESCRIPTION
9
+ Show a context pack after verifying its manifest and content objects
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 pack manifest as JSON
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
+ .TP
41
+ <\fIPACK_ID\fR>
42
+ Context pack id (sha256:<64 hex digits>)
43
+ .SH VERSION
44
+ v0.28.0
@@ -0,0 +1,44 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-context-pack-verify 1 "verify 0.28.0"
4
+ .SH NAME
5
+ canon\-context\-pack\-verify \- Verify a context pack\*(Aqs manifest and immutable content objects
6
+ .SH SYNOPSIS
7
+ \fBcanon context\-pack verify\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIPACK_ID\fR>
8
+ .SH DESCRIPTION
9
+ Verify a context pack\*(Aqs manifest and immutable content objects
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 a JSON verification result
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
+ .TP
41
+ <\fIPACK_ID\fR>
42
+ Context pack id (sha256:<64 hex digits>)
43
+ .SH VERSION
44
+ v0.28.0