@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,111 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-query 1 "query 0.28.0"
4
+ .SH NAME
5
+ canon\-query \- Read stored records across every storage tier
6
+ .SH SYNOPSIS
7
+ \fBcanon query\fR [\fB\-\-as\fR] <\fB\-\-kind\fR> [\fB\-\-since\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-plugin\-id\fR] [\fB\-\-history\fR] [\fB\-\-change\-id\fR] [\fB\-\-status\fR] [\fB\-\-domain\fR] [\fB\-\-include\-sensitive\fR] [\fB\-\-limit\fR] [\fB\-\-cursor\fR] [\fB\-\-all\fR] [\fB\-\-fields\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Read stored records across every storage 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\-\-kind\fR \fI<KIND>\fR
30
+ Record kind to read (e.g. handoff, strategy_item)
31
+ .br
32
+
33
+ .br
34
+ \fIPossible values:\fR
35
+ .RS 14
36
+ .IP \(bu 2
37
+ change
38
+ .IP \(bu 2
39
+ task
40
+ .IP \(bu 2
41
+ scenario
42
+ .IP \(bu 2
43
+ session
44
+ .IP \(bu 2
45
+ run
46
+ .IP \(bu 2
47
+ event
48
+ .IP \(bu 2
49
+ handoff
50
+ .IP \(bu 2
51
+ review
52
+ .IP \(bu 2
53
+ divergence
54
+ .IP \(bu 2
55
+ trajectory
56
+ .IP \(bu 2
57
+ strategy_item
58
+ .IP \(bu 2
59
+ evidence
60
+ .IP \(bu 2
61
+ subject
62
+ .IP \(bu 2
63
+ finding
64
+ .RE
65
+ .TP
66
+ \fB\-\-since\fR \fI<TIMESTAMP>\fR
67
+ Only records with at >= <since> (RFC3339/ISO\-8601)
68
+ .TP
69
+ \fB\-\-repo\fR \fI<DIR>\fR
70
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
71
+ .TP
72
+ \fB\-\-json\fR
73
+ Output JSON instead of the human\-readable form
74
+ .TP
75
+ \fB\-\-plugin\-id\fR \fI<PLUGIN_ID>\fR
76
+ Project a plugin\*(Aqs overlay fields onto each record (fail\-soft)
77
+ .TP
78
+ \fB\-\-history\fR
79
+ Every version of the kind, the ledger\*(Aqs and the archive\*(Aqs, oldest first, instead of the current records
80
+ .TP
81
+ \fB\-\-change\-id\fR \fI<CHANGE_ID>\fR
82
+ Scope \-\-kind change/task to one ChangeId (other kinds exit 2)
83
+ .TP
84
+ \fB\-\-status\fR \fI<STATUS>\fR
85
+ Scope \-\-kind change/task by status field (other kinds exit 2)
86
+ .TP
87
+ \fB\-\-domain\fR \fI<NAME>\fR
88
+ Scope \-\-kind subject by domain (other kinds exit 2)
89
+ .TP
90
+ \fB\-\-include\-sensitive\fR
91
+ Permit sensitive query output only when policy explicitly allows it
92
+ .TP
93
+ \fB\-\-limit\fR \fI<N>\fR
94
+ Return at most this many records (default 100)
95
+ .TP
96
+ \fB\-\-cursor\fR \fI<CURSOR>\fR
97
+ Resume after the last record of the previous page (the `nextCursor` it reported)
98
+ .TP
99
+ \fB\-\-all\fR
100
+ Return every record from the cursor on, not one page
101
+ .TP
102
+ \fB\-\-fields\fR \fI<FIELDS>\fR
103
+ With \-\-json, keep only these top\-level record fields (comma\-separated); an unknown field is refused (camelCase and snake_case both match)
104
+ .TP
105
+ \fB\-h\fR, \fB\-\-help\fR
106
+ Print help
107
+ .TP
108
+ \fB\-V\fR, \fB\-\-version\fR
109
+ Print version
110
+ .SH VERSION
111
+ v0.28.0
@@ -0,0 +1,50 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-regime-show 1 "show 0.28.0"
4
+ .SH NAME
5
+ canon\-regime\-show \- Build a canonical regime key for hook scripts
6
+ .SH SYNOPSIS
7
+ \fBcanon regime show\fR [\fB\-\-as\fR] <\fB\-\-role\-segment\fR> <\fB\-\-repo\-name\fR> <\fB\-\-area\fR> <\fB\-\-hash\fR> [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Build a canonical regime key for hook scripts
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\-\-role\-segment\fR \fI<NAME>\fR
30
+ The <role> segment (canonicalized)
31
+ .TP
32
+ \fB\-\-repo\-name\fR \fI<NAME>\fR
33
+ The <repo> segment (canonicalized)
34
+ .TP
35
+ \fB\-\-area\fR \fI<NAME>\fR
36
+ The <area> segment (canonicalized)
37
+ .TP
38
+ \fB\-\-hash\fR \fI<HASH>\fR
39
+ The <hash> segment (6\-64\-char lowercase hex; passed through, never re\-hashed)
40
+ .TP
41
+ \fB\-\-json\fR
42
+ Output JSON instead of the human\-readable form
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,39 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-regime 1 "regime 0.28.0"
4
+ .SH NAME
5
+ canon\-regime \- Build a canonical regime key for hook scripts
6
+ .SH SYNOPSIS
7
+ \fBcanon regime\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Build a canonical regime key for hook scripts
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\-regime\-show(1)
37
+ Build a canonical regime key for hook scripts
38
+ .SH VERSION
39
+ v0.28.0
@@ -0,0 +1,44 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-report-build 1 "build 0.28.0"
4
+ .SH NAME
5
+ canon\-report\-build \- Write the status report (.canon/REPORT.md)
6
+ .SH SYNOPSIS
7
+ \fBcanon report build\fR [\fB\-\-as\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
+ Write the status report (.canon/REPORT.md)
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\-\-input\fR \fI<JSON|FILE|\->\fR
36
+ 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
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 VERSION
44
+ v0.28.0
@@ -0,0 +1,41 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-report-check 1 "check 0.28.0"
4
+ .SH NAME
5
+ canon\-report\-check \- Byte\-diff .canon/REPORT.md against a fresh build (0 fresh, 1 missing or drifted); writes nothing
6
+ .SH SYNOPSIS
7
+ \fBcanon report check\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
+ Byte\-diff .canon/REPORT.md against a fresh build (0 fresh, 1 missing or drifted); writes nothing
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,47 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-report-snapshot 1 "snapshot 0.28.0"
4
+ .SH NAME
5
+ canon\-report\-snapshot \- Export the panel marts to <DIR>/*.parquet plus manifest.json
6
+ .SH SYNOPSIS
7
+ \fBcanon report snapshot\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIDIR\fR>
8
+ .SH DESCRIPTION
9
+ Export the panel marts to <DIR>/*.parquet plus manifest.json
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\-\-input\fR \fI<JSON|FILE|\->\fR
36
+ 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
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
+ .TP
44
+ <\fIDIR\fR>
45
+ The output directory (created if absent)
46
+ .SH VERSION
47
+ v0.28.0
@@ -0,0 +1,45 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-report 1 "report 0.28.0"
4
+ .SH NAME
5
+ canon\-report \- Build, check, or snapshot the status report
6
+ .SH SYNOPSIS
7
+ \fBcanon report\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Build, check, or snapshot the status report
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\-report\-build(1)
37
+ Write the status report (.canon/REPORT.md)
38
+ .TP
39
+ canon\-report\-check(1)
40
+ Byte\-diff .canon/REPORT.md against a fresh build (0 fresh, 1 missing or drifted); writes nothing
41
+ .TP
42
+ canon\-report\-snapshot(1)
43
+ Export the panel marts to <DIR>/*.parquet plus manifest.json
44
+ .SH VERSION
45
+ v0.28.0
@@ -0,0 +1,56 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-retrieve 1 "retrieve 0.28.0"
4
+ .SH NAME
5
+ canon\-retrieve \- Fetch role\-scoped strategy guidance
6
+ .SH SYNOPSIS
7
+ \fBcanon retrieve\fR [\fB\-\-as\fR] <\fB\-\-for\-role\fR> [\fB\-\-regime\fR] [\fB\-\-domain\fR] [\fB\-\-subject\-id\fR] [\fB\-\-limit\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR]
8
+ .SH DESCRIPTION
9
+ Fetch role\-scoped strategy guidance
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\-\-for\-role\fR \fI<ROLE>\fR
30
+ Role scope; with \-\-regime must equal its leading segment
31
+ .TP
32
+ \fB\-\-regime\fR \fI<KEY>\fR
33
+ Full regime key (<role>/<repo>/<area>/<hash>); mutually exclusive with \-\-domain/\-\-subject\-id
34
+ .TP
35
+ \fB\-\-domain\fR \fI<NAME>\fR
36
+ Derive the regime from a domain slug; mutually exclusive with \-\-regime
37
+ .TP
38
+ \fB\-\-subject\-id\fR \fI<SUBJECT_ID>\fR
39
+ Narrow \-\-domain to one subject_id; requires \-\-domain, mutually exclusive with \-\-regime
40
+ .TP
41
+ \fB\-\-limit\fR \fI<N>\fR [default: 5]
42
+ Cap on the guidance items returned (default: 5)
43
+ .TP
44
+ \fB\-\-repo\fR \fI<DIR>\fR
45
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
46
+ .TP
47
+ \fB\-\-json\fR
48
+ Output JSON instead of the human\-readable form
49
+ .TP
50
+ \fB\-h\fR, \fB\-\-help\fR
51
+ Print help
52
+ .TP
53
+ \fB\-V\fR, \fB\-\-version\fR
54
+ Print version
55
+ .SH VERSION
56
+ v0.28.0
@@ -0,0 +1,98 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-review-change 1 "change 0.28.0"
4
+ .SH NAME
5
+ canon\-review\-change \- Write one attributed Review record for a chore change directly to the ledger (exactly one provenance ref required). The review signs the chore\*(Aqs invariants and checks against the diff and pins the change\*(Aqs brief; an edit to the brief stales it. A chore needs exactly this one review before `subject move \-\-to shipped`
6
+ .SH SYNOPSIS
7
+ \fBcanon review change\fR [\fB\-\-as\fR] [\fB\-\-project\-id\fR] <\fB\-\-actor\-id\fR> [\fB\-\-rev\fR] [\fB\-\-upstream\-ref\fR] [\fB\-\-original\-spec\-ref\fR] [\fB\-\-role\fR] [\fB\-\-session\-id\fR] [\fB\-\-review\-outcome\fR] [\fB\-\-reviewer\-provider\fR] [\fB\-\-reviewer\-model\fR] [\fB\-\-reviewer\-harness\fR] [\fB\-\-artifact\fR] [\fB\-\-max\-artifact\-mib\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 one attributed Review record for a chore change directly to the ledger (exactly one provenance ref required). The review signs the chore\*(Aqs invariants and checks against the diff and pins the change\*(Aqs brief; an edit to the brief stales it. A chore needs exactly this one review before `subject move \-\-to shipped`
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\-\-project\-id\fR \fI<PROJECT_ID>\fR
30
+ Spec corpus id of the scenarios. Required only when canon.yaml configures more than one spec root
31
+ .TP
32
+ \fB\-\-actor\-id\fR \fI<ACTOR_ID>\fR
33
+ The reviewer\*(Aqs id (recorded as the review\*(Aqs author and as its reviewer; line breaks refused)
34
+ .TP
35
+ \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
36
+ The commit this record is about: any git revision (`HEAD~1`, a branch, a tag, a short sha); the full sha is recorded with the code tree it saw. The default HEAD records the working tree as it stands (uncommitted code included), and a commit made from it has the same code tree. Outside git, or with no commit, the command refuses (NO_COMMIT)
37
+ .TP
38
+ \fB\-\-upstream\-ref\fR \fI<TEXT>\fR
39
+ Provenance ref (mutually exclusive with \-\-original\-spec\-ref; exactly one required)
40
+ .TP
41
+ \fB\-\-original\-spec\-ref\fR \fI<TEXT>\fR
42
+ Provenance ref (mutually exclusive with \-\-upstream\-ref; exactly one required)
43
+ .TP
44
+ \fB\-\-role\fR \fI<ROLE>\fR
45
+ The reviewer\*(Aqs role. Required unless the declared role (\-\-as / CANON_ROLE) is implementer or reviewer, which it then defaults to
46
+ .TP
47
+ \fB\-\-session\-id\fR \fI<SESSION_ID>\fR
48
+ The reviewing session (recorded as actor.session_id). Under require_review.distinct_actor a review whose session also attested the scenario\*(Aqs evidence does not count
49
+ .TP
50
+ \fB\-\-review\-outcome\fR \fI<REVIEW_OUTCOME>\fR [default: signed]
51
+ How the reviewer\*(Aqs run ended: signed (an approval), indeterminate (ran, reached no verdict) or unavailable (could not run). Only signed counts; the others are recorded as review gaps
52
+ .br
53
+
54
+ .br
55
+ \fIPossible values:\fR
56
+ .RS 14
57
+ .IP \(bu 2
58
+ signed
59
+ .IP \(bu 2
60
+ indeterminate
61
+ .IP \(bu 2
62
+ unavailable
63
+ .RE
64
+ .TP
65
+ \fB\-\-reviewer\-provider\fR \fI<NAME>\fR
66
+ The reviewer runtime\*(Aqs provider (e.g. anthropic, openai)
67
+ .TP
68
+ \fB\-\-reviewer\-model\fR \fI<NAME>\fR
69
+ The reviewer runtime\*(Aqs model id
70
+ .TP
71
+ \fB\-\-reviewer\-harness\fR \fI<NAME>\fR
72
+ The harness that ran the reviewer (e.g. omp, codex, claude)
73
+ .TP
74
+ \fB\-\-artifact\fR \fI<PATH>\fR
75
+ A file the reviewer looked at (screenshot, recording); repeatable; must be inside the repo. Stored in .canon/artifacts/sha256/ and re\-hashed by `canon gate check`
76
+ .TP
77
+ \fB\-\-max\-artifact\-mib\fR \fI<N>\fR [default: 25]
78
+ Per\-file size limit for the artifact store (.canon/artifacts/sha256/), in MiB; a larger file is refused
79
+ .TP
80
+ \fB\-\-repo\fR \fI<DIR>\fR
81
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
82
+ .TP
83
+ \fB\-\-json\fR
84
+ Output JSON instead of the human\-readable form
85
+ .TP
86
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
87
+ 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
88
+ .TP
89
+ \fB\-h\fR, \fB\-\-help\fR
90
+ Print help
91
+ .TP
92
+ \fB\-V\fR, \fB\-\-version\fR
93
+ Print version
94
+ .TP
95
+ <\fICHANGE_ID\fR>
96
+ The chore change to review
97
+ .SH VERSION
98
+ v0.28.0
@@ -0,0 +1,98 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-review-scenario 1 "scenario 0.28.0"
4
+ .SH NAME
5
+ canon\-review\-scenario \- Write one attributed Review record per scenario directly to the ledger, nothing to promote (exactly one provenance ref required). A review pins the scenario\*(Aqs digest and what its latest evidence says (verdict and checks); it counts only while both are unchanged. Each scenario must be indexed, or nothing is written (exit 2)
6
+ .SH SYNOPSIS
7
+ \fBcanon review scenario\fR [\fB\-\-as\fR] [\fB\-\-project\-id\fR] <\fB\-\-actor\-id\fR> [\fB\-\-rev\fR] [\fB\-\-upstream\-ref\fR] [\fB\-\-original\-spec\-ref\fR] [\fB\-\-role\fR] [\fB\-\-session\-id\fR] [\fB\-\-review\-outcome\fR] [\fB\-\-reviewer\-provider\fR] [\fB\-\-reviewer\-model\fR] [\fB\-\-reviewer\-harness\fR] [\fB\-\-artifact\fR] [\fB\-\-max\-artifact\-mib\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISCENARIO_ID\fR>
8
+ .SH DESCRIPTION
9
+ Write one attributed Review record per scenario directly to the ledger, nothing to promote (exactly one provenance ref required). A review pins the scenario\*(Aqs digest and what its latest evidence says (verdict and checks); it counts only while both are unchanged. Each scenario must be indexed, or nothing is written (exit 2)
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\-\-project\-id\fR \fI<PROJECT_ID>\fR
30
+ Spec corpus id of the scenarios. Required only when canon.yaml configures more than one spec root
31
+ .TP
32
+ \fB\-\-actor\-id\fR \fI<ACTOR_ID>\fR
33
+ The reviewer\*(Aqs id (recorded as the review\*(Aqs author and as its reviewer; line breaks refused)
34
+ .TP
35
+ \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
36
+ The commit this record is about: any git revision (`HEAD~1`, a branch, a tag, a short sha); the full sha is recorded with the code tree it saw. The default HEAD records the working tree as it stands (uncommitted code included), and a commit made from it has the same code tree. Outside git, or with no commit, the command refuses (NO_COMMIT)
37
+ .TP
38
+ \fB\-\-upstream\-ref\fR \fI<TEXT>\fR
39
+ Provenance ref (mutually exclusive with \-\-original\-spec\-ref; exactly one required)
40
+ .TP
41
+ \fB\-\-original\-spec\-ref\fR \fI<TEXT>\fR
42
+ Provenance ref (mutually exclusive with \-\-upstream\-ref; exactly one required)
43
+ .TP
44
+ \fB\-\-role\fR \fI<ROLE>\fR
45
+ The reviewer\*(Aqs role. Required unless the declared role (\-\-as / CANON_ROLE) is implementer or reviewer, which it then defaults to
46
+ .TP
47
+ \fB\-\-session\-id\fR \fI<SESSION_ID>\fR
48
+ The reviewing session (recorded as actor.session_id). Under require_review.distinct_actor a review whose session also attested the scenario\*(Aqs evidence does not count
49
+ .TP
50
+ \fB\-\-review\-outcome\fR \fI<REVIEW_OUTCOME>\fR [default: signed]
51
+ How the reviewer\*(Aqs run ended: signed (an approval), indeterminate (ran, reached no verdict) or unavailable (could not run). Only signed counts; the others are recorded as review gaps
52
+ .br
53
+
54
+ .br
55
+ \fIPossible values:\fR
56
+ .RS 14
57
+ .IP \(bu 2
58
+ signed
59
+ .IP \(bu 2
60
+ indeterminate
61
+ .IP \(bu 2
62
+ unavailable
63
+ .RE
64
+ .TP
65
+ \fB\-\-reviewer\-provider\fR \fI<NAME>\fR
66
+ The reviewer runtime\*(Aqs provider (e.g. anthropic, openai)
67
+ .TP
68
+ \fB\-\-reviewer\-model\fR \fI<NAME>\fR
69
+ The reviewer runtime\*(Aqs model id
70
+ .TP
71
+ \fB\-\-reviewer\-harness\fR \fI<NAME>\fR
72
+ The harness that ran the reviewer (e.g. omp, codex, claude)
73
+ .TP
74
+ \fB\-\-artifact\fR \fI<PATH>\fR
75
+ A file the reviewer looked at (screenshot, recording); repeatable; must be inside the repo. Stored in .canon/artifacts/sha256/ and re\-hashed by `canon gate check`
76
+ .TP
77
+ \fB\-\-max\-artifact\-mib\fR \fI<N>\fR [default: 25]
78
+ Per\-file size limit for the artifact store (.canon/artifacts/sha256/), in MiB; a larger file is refused
79
+ .TP
80
+ \fB\-\-repo\fR \fI<DIR>\fR
81
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
82
+ .TP
83
+ \fB\-\-json\fR
84
+ Output JSON instead of the human\-readable form
85
+ .TP
86
+ \fB\-\-input\fR \fI<JSON|FILE|\->\fR
87
+ 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
88
+ .TP
89
+ \fB\-h\fR, \fB\-\-help\fR
90
+ Print help
91
+ .TP
92
+ \fB\-V\fR, \fB\-\-version\fR
93
+ Print version
94
+ .TP
95
+ <\fISCENARIO_ID\fR>
96
+ The reviewed scenarios (`<area>.<surface>.<nn>`), one review each, all or nothing. Each must have a record (`canon inventory sync`), or nothing is written (exit 2)
97
+ .SH VERSION
98
+ v0.28.0
@@ -0,0 +1,42 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-review 1 "review 0.28.0"
4
+ .SH NAME
5
+ canon\-review \- Record an attributed review verdict
6
+ .SH SYNOPSIS
7
+ \fBcanon review\fR [\fB\-\-as\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIsubcommands\fR>
8
+ .SH DESCRIPTION
9
+ Record an attributed review verdict
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\-review\-scenario(1)
37
+ Write one attributed Review record per scenario directly to the ledger, nothing to promote (exactly one provenance ref required). A review pins the scenario\*(Aqs digest and what its latest evidence says (verdict and checks); it counts only while both are unchanged. Each scenario must be indexed, or nothing is written (exit 2)
38
+ .TP
39
+ canon\-review\-change(1)
40
+ Write one attributed Review record for a chore change directly to the ledger (exactly one provenance ref required). The review signs the chore\*(Aqs invariants and checks against the diff and pins the change\*(Aqs brief; an edit to the brief stales it. A chore needs exactly this one review before `subject move \-\-to shipped`
41
+ .SH VERSION
42
+ v0.28.0