@journeykit/canon 0.31.0 → 0.32.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 (121) hide show
  1. package/dist/skills/SKILL.src.md +33 -14
  2. package/dist/skills/reference/brief-align.md +2 -2
  3. package/dist/skills/reference/brief-clarify.md +2 -2
  4. package/dist/skills/reference/brief-harden.md +2 -2
  5. package/dist/skills/reference/brief-polish.md +4 -4
  6. package/dist/skills/reference/brief-shape.md +2 -2
  7. package/dist/skills/reference/canon-gate.md +4 -4
  8. package/dist/skills/reference/canon-policy.md +7 -4
  9. package/dist/skills/reference/canon-report-dashboard.md +7 -4
  10. package/dist/skills/reference/canon-subject.md +5 -5
  11. package/dist/skills/reference/role-implementer.md +10 -8
  12. package/dist/skills/reference/role-orchestrator.md +35 -20
  13. package/dist/skills/reference/role-planner.md +67 -28
  14. package/dist/skills/reference/role-reviewer.md +22 -14
  15. package/man/canon-adapter-authorize.1 +2 -2
  16. package/man/canon-adapter-validate.1 +2 -2
  17. package/man/canon-adapter.1 +2 -2
  18. package/man/canon-artifacts-move.1 +2 -2
  19. package/man/canon-artifacts-store.1 +2 -2
  20. package/man/canon-artifacts-verify.1 +2 -2
  21. package/man/canon-artifacts.1 +2 -2
  22. package/man/canon-brief-approve.1 +12 -3
  23. package/man/canon-brief-check.1 +2 -2
  24. package/man/canon-brief-show.1 +6 -3
  25. package/man/canon-brief.1 +2 -2
  26. package/man/canon-change-new.1 +2 -2
  27. package/man/canon-change.1 +2 -2
  28. package/man/canon-completion.1 +2 -2
  29. package/man/canon-context-pack-add.1 +2 -2
  30. package/man/canon-context-pack-show.1 +2 -2
  31. package/man/canon-context-pack-verify.1 +2 -2
  32. package/man/canon-context-pack.1 +2 -2
  33. package/man/canon-context.1 +2 -2
  34. package/man/canon-dashboard.1 +2 -2
  35. package/man/canon-demo-init.1 +2 -2
  36. package/man/canon-demo-review.1 +2 -2
  37. package/man/canon-demo.1 +2 -2
  38. package/man/canon-dispatch-begin.1 +2 -2
  39. package/man/canon-dispatch-diff.1 +2 -2
  40. package/man/canon-dispatch-end.1 +2 -2
  41. package/man/canon-dispatch.1 +2 -2
  42. package/man/canon-divergence-accept.1 +12 -3
  43. package/man/canon-divergence-add.1 +2 -2
  44. package/man/canon-divergence-defer.1 +2 -2
  45. package/man/canon-divergence-list.1 +2 -2
  46. package/man/canon-divergence-resolve.1 +2 -2
  47. package/man/canon-divergence.1 +2 -2
  48. package/man/canon-evidence-add.1 +2 -2
  49. package/man/canon-evidence-approval-payload.1 +2 -2
  50. package/man/canon-evidence-audit.1 +2 -2
  51. package/man/canon-evidence.1 +2 -2
  52. package/man/canon-export.1 +2 -2
  53. package/man/canon-feature-new.1 +2 -2
  54. package/man/canon-feature.1 +2 -2
  55. package/man/canon-finding-add.1 +2 -2
  56. package/man/canon-finding-close.1 +2 -2
  57. package/man/canon-finding-list.1 +2 -2
  58. package/man/canon-finding.1 +2 -2
  59. package/man/canon-format.1 +2 -2
  60. package/man/canon-gate-check.1 +2 -2
  61. package/man/canon-gate-install-hooks.1 +2 -2
  62. package/man/canon-gate-promote.1 +2 -2
  63. package/man/canon-gate.1 +2 -2
  64. package/man/canon-ingest-plans.1 +2 -2
  65. package/man/canon-ingest-records.1 +2 -2
  66. package/man/canon-ingest-sessions.1 +2 -2
  67. package/man/canon-ingest.1 +2 -2
  68. package/man/canon-init.1 +2 -2
  69. package/man/canon-inventory-sync.1 +2 -2
  70. package/man/canon-inventory.1 +2 -2
  71. package/man/canon-ledger-compact.1 +2 -2
  72. package/man/canon-ledger.1 +2 -2
  73. package/man/canon-migrate.1 +15 -3
  74. package/man/canon-plugin-sync.1 +2 -2
  75. package/man/canon-plugin.1 +2 -2
  76. package/man/canon-policy-approve.1 +9 -3
  77. package/man/canon-policy-show.1 +2 -2
  78. package/man/canon-policy.1 +2 -2
  79. package/man/canon-prompt-add.1 +2 -2
  80. package/man/canon-prompt-show.1 +2 -2
  81. package/man/canon-prompt.1 +2 -2
  82. package/man/canon-purge.1 +2 -2
  83. package/man/canon-query.1 +2 -2
  84. package/man/canon-regime-show.1 +2 -2
  85. package/man/canon-regime.1 +2 -2
  86. package/man/canon-report-build.1 +2 -2
  87. package/man/canon-report-check.1 +2 -2
  88. package/man/canon-report-snapshot.1 +2 -2
  89. package/man/canon-report.1 +2 -2
  90. package/man/canon-retrieve.1 +2 -2
  91. package/man/canon-review-change.1 +2 -2
  92. package/man/canon-review-scenario.1 +2 -2
  93. package/man/canon-review.1 +2 -2
  94. package/man/canon-scenario-new.1 +2 -2
  95. package/man/canon-scenario.1 +2 -2
  96. package/man/canon-schema.1 +2 -2
  97. package/man/canon-search.1 +2 -2
  98. package/man/canon-selftest.1 +2 -2
  99. package/man/canon-skills-check.1 +2 -2
  100. package/man/canon-skills-doctor.1 +2 -2
  101. package/man/canon-skills-install.1 +2 -2
  102. package/man/canon-skills-show.1 +2 -2
  103. package/man/canon-skills.1 +2 -2
  104. package/man/canon-status.1 +2 -2
  105. package/man/canon-strategy-approval-payload.1 +2 -2
  106. package/man/canon-strategy-promote.1 +2 -2
  107. package/man/canon-strategy-rollback.1 +2 -2
  108. package/man/canon-strategy.1 +2 -2
  109. package/man/canon-subject-adopt.1 +2 -2
  110. package/man/canon-subject-move.1 +2 -2
  111. package/man/canon-subject-new.1 +2 -2
  112. package/man/canon-subject-show.1 +2 -2
  113. package/man/canon-subject-unadopt.1 +2 -2
  114. package/man/canon-subject.1 +2 -2
  115. package/man/canon-task-done.1 +2 -2
  116. package/man/canon-task.1 +2 -2
  117. package/man/canon-tier-age.1 +2 -2
  118. package/man/canon-tier.1 +2 -2
  119. package/man/canon-trace.1 +2 -2
  120. package/man/canon.1 +2 -2
  121. package/package.json +4 -4
@@ -4,10 +4,11 @@ You are the independent second look. Declare the role with
4
4
  `CANON_ROLE=reviewer` (or `--as reviewer`); `--role` on `review scenario`,
5
5
  `review change` and `finding add` then defaults to `reviewer`. The human's
6
6
  acts refuse you (`HUMAN_ONLY`): `brief approve`, `policy approve` and
7
- `divergence accept`. Name what the human has to decide in your report; never
8
- look for a flag that grants it. You never run them, and never remove or unset your role (`env -u CANON_ROLE`,
9
- dropping `--as`) to get past the refusal: report the exact call, slug filled in, and
10
- wait; the human runs it (or uses `canon dashboard`).
7
+ `divergence accept`, unless you record the answer the human gave you in the
8
+ conversation with `--relayed-via <tool>` (the divergence acceptance below).
9
+ Name what the human has to decide; never look for another flag that grants it.
10
+ You never run them without that answer, and never remove or unset your role
11
+ (`env -u CANON_ROLE`, dropping `--as`) to get past the refusal.
11
12
 
12
13
  ## Commands
13
14
 
@@ -30,7 +31,7 @@ canon brief check
30
31
  ```
31
32
  ```text
32
33
  # Show where the change stands and the next one to three steps; never edits
33
- canon brief show [<CHANGE_ID>]
34
+ canon brief show [<CHANGE_ID>] [--body]
34
35
  ```
35
36
  ```bash
36
37
  canon brief show
@@ -287,14 +288,21 @@ sign.
287
288
  `divergence accept` is for a scenario whose honest evidence is `divergent`
288
289
  and whose gap is limited by something outside this change (an upstream
289
290
  limit, a platform bug) and is tracked there. It records a human's decision,
290
- so it refuses every agent role (`HUMAN_ONLY`), you included. What you do:
291
- confirm the evidence really is divergent and the limit is outside this
292
- change, then report to the human the scenario ids, the reason, the
293
- tracking reference and an expiry when the limit should be gone by a date.
294
- Give the exact call, ids filled in: the human runs `canon divergence accept
295
- <ids> --actor <name> --reason "<why>" --tracking <ref>` themselves in their
296
- own shell, from a session that did not attest the evidence
297
- (`DIVERGENCE_ACCEPT_REFUSED` otherwise); you never run it or unset your role to. Never suggest it to skip
291
+ so it refuses every agent role (`HUMAN_ONLY`), you included, unless it records
292
+ the answer the human gave you. What you do: confirm the evidence really is
293
+ divergent and the limit is outside this change, then put to the human the
294
+ scenario ids, the reason, the tracking reference and an expiry when the limit
295
+ should be gone by a date, in their own view and not retyped (omp: `out://`).
296
+ Ask with the harness question tool (`ask` in omp, `AskUserQuestion` in Claude
297
+ Code, otherwise in the chat): accept the gap, or not. Only an explicit
298
+ approval counts; a question or a condition is not one, and no answer records
299
+ nothing. Then record it from a session that did not attest the evidence
300
+ (`DIVERGENCE_ACCEPT_REFUSED` otherwise): `canon divergence accept <ids> --actor
301
+ <your actor id> --reason "<why>" --tracking <ref> --approver <their name> --note
302
+ "<their answer>" --relayed-via <tool>`; the record carries the relay, the
303
+ approver and their answer. When `canon.yaml` has `approval: { relay: deny }` the
304
+ call is refused (`HUMAN_ONLY`, naming the key) and the human runs it themselves.
305
+ You never unset your role to run it. Never suggest it to skip
298
306
  a fix the implementer can make in this change. The acceptance pins that
299
307
  evidence: new evidence for the scenario, or its expiry, ends it, and the
300
308
  human accepts (or the implementer fixes) again. An accepted gap counts as
@@ -362,6 +370,6 @@ disposition is a no-op too.
362
370
  | "I cannot run the tests, but the evidence looks right." | Say so and record `indeterminate` or `unavailable`; never sign what you could not run. |
363
371
  | "This is a minor defect; I will skip the finding." | Every defect is a finding; severity says how much it matters. |
364
372
  | "I will edit the brief to fix it." | A brief defect is a finding, not an edit. |
365
- | "I will accept the gap myself, the limit is real." | `divergence accept` refuses agent roles; report the gap to the human. |
373
+ | "I will accept the gap myself, the limit is real." | The human accepts it: ask them, and record only their explicit answer with `--relayed-via`. |
366
374
 
367
375
  Reference: `canon skills show canon-review`.
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter-authorize 1 "authorize 0.31.0"
3
+ .TH canon-adapter-authorize 1 "authorize 0.32.0"
4
4
  .SH NAME
5
5
  canon\-adapter\-authorize \- Authorize declared capabilities against repository policy (preflight only)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter-validate 1 "validate 0.31.0"
3
+ .TH canon-adapter-validate 1 "validate 0.32.0"
4
4
  .SH NAME
5
5
  canon\-adapter\-validate \- Read and validate one provider\-neutral response envelope
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-adapter 1 "adapter 0.31.0"
3
+ .TH canon-adapter 1 "adapter 0.32.0"
4
4
  .SH NAME
5
5
  canon\-adapter \- Validate a provider\-neutral adapter response without executing a provider
6
6
  .SH SYNOPSIS
@@ -43,4 +43,4 @@ Examples:
43
43
  canon adapter validate \-\-response response.json
44
44
  canon adapter validate \-\-response response.json \-\-repo . \-\-json
45
45
  .SH VERSION
46
- v0.31.0
46
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-move 1 "move 0.31.0"
3
+ .TH canon-artifacts-move 1 "move 0.32.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-move \- Move the local artifact blobs to an object\-store tier, verify them, and remove the local copies
6
6
  .SH SYNOPSIS
@@ -60,4 +60,4 @@ The bare run previews: it lists every upload and removal and prints a planDigest
60
60
 
61
61
  Idempotent and resumable: a run stopped anywhere leaves a repo the gate still passes, and the next run finishes; a second run finds nothing to do. A blob whose bytes do not match its name is never moved. Moving back to local is refused; `\-\-tier local` on a local repo is a no\-op.
62
62
  .SH VERSION
63
- v0.31.0
63
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-store 1 "store 0.31.0"
3
+ .TH canon-artifacts-store 1 "store 0.32.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-store \- Store the bound files of existing evidence records and current reviews in the artifact store (.canon/artifacts/sha256/)
6
6
  .SH SYNOPSIS
@@ -51,4 +51,4 @@ For records written before canon stored bound bytes (0.11\-0.13), and for any ev
51
51
 
52
52
  Exit 0 when the pass ran (the gate decides whether an unstored file matters), 2 when the ledger cannot be read or a write fails.
53
53
  .SH VERSION
54
- v0.31.0
54
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts-verify 1 "verify 0.31.0"
3
+ .TH canon-artifacts-verify 1 "verify 0.32.0"
4
4
  .SH NAME
5
5
  canon\-artifacts\-verify \- Check that the artifact store holds every file the latest evidence and current reviews bind (\-\-full re\-hashes the stored bytes)
6
6
  .SH SYNOPSIS
@@ -45,4 +45,4 @@ Asks the store canon.yaml\*(Aqs `artifacts:` block selects (default: local, .can
45
45
 
46
46
  Exit 0 when every file is stored, 1 when one is missing or altered (data.problems names each), 2 when the store cannot be used or reached: an unreachable store is a refusal, never a pass.
47
47
  .SH VERSION
48
- v0.31.0
48
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-artifacts 1 "artifacts 0.31.0"
3
+ .TH canon-artifacts 1 "artifacts 0.32.0"
4
4
  .SH NAME
5
5
  canon\-artifacts \- Check or move the evidence artifact store (local, or an object\-store tier)
6
6
  .SH SYNOPSIS
@@ -42,4 +42,4 @@ Store the bound files of existing evidence records and current reviews in the ar
42
42
  canon\-artifacts\-move(1)
43
43
  Move the local artifact blobs to an object\-store tier, verify them, and remove the local copies
44
44
  .SH VERSION
45
- v0.31.0
45
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-approve 1 "approve 0.31.0"
3
+ .TH canon-brief-approve 1 "approve 0.32.0"
4
4
  .SH NAME
5
5
  canon\-brief\-approve \- Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
6
6
  .SH SYNOPSIS
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]
7
+ \fBcanon brief approve\fR <\fB\-\-approver\fR> [\fB\-\-as\fR] <\fB\-\-note\fR> [\fB\-\-relayed\-via\fR] [\fB\-\-actor\fR] [\fB\-\-digest\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
8
  .SH DESCRIPTION
9
9
  Record the human\*(Aqs approval of the brief, bound to its text; refused while `brief check` has blockers
10
10
  .SH OPTIONS
@@ -32,6 +32,15 @@ orchestrator
32
32
  \fB\-\-note\fR \fI<TEXT>\fR
33
33
  The human\*(Aqs own words
34
34
  .TP
35
+ \fB\-\-relayed\-via\fR \fI<NAME>\fR
36
+ Record the human\*(Aqs answer on their behalf: the tool they were asked with (`ask`, `AskUserQuestion`, `chat`); an agent role may run the call only with it
37
+ .TP
38
+ \fB\-\-actor\fR \fI<ACTOR_ID>\fR
39
+ With \-\-relayed\-via, the agent\*(Aqs actor id (default: the CANON_ACTOR environment variable)
40
+ .TP
41
+ \fB\-\-digest\fR \fI<DIGEST>\fR
42
+ With \-\-relayed\-via, the digest `canon brief show \-\-body` showed the human, as `<change>=<sha256:digest>`, once per change; a brief whose digest differs is refused
43
+ .TP
35
44
  \fB\-\-repo\fR \fI<DIR>\fR
36
45
  The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
37
46
  .TP
@@ -62,4 +71,4 @@ brief (the digest covers the brief without its `Approved:` lines) and records
62
71
  not approved (BRIEF_CHANGED_SINCE_APPROVAL) until a human answers again and this
63
72
  runs again. Run it only from the human\*(Aqs answer, with their words as \-\-note.
64
73
  .SH VERSION
65
- v0.31.0
74
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-check 1 "check 0.31.0"
3
+ .TH canon-brief-check 1 "check 0.32.0"
4
4
  .SH NAME
5
5
  canon\-brief\-check \- Read the brief against the rules: blocker and advisory findings (exit 0 clean, 1 blockers, 2 refused)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  [\fICHANGE_ID\fR]
42
42
  The change to read (default: the repo\*(Aqs only live change)
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-show 1 "show 0.31.0"
3
+ .TH canon-brief-show 1 "show 0.32.0"
4
4
  .SH NAME
5
5
  canon\-brief\-show \- Show where the change stands and the next one to three steps; never edits
6
6
  .SH SYNOPSIS
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]
7
+ \fBcanon brief show\fR [\fB\-\-as\fR] [\fB\-\-body\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] [\fICHANGE_ID\fR]
8
8
  .SH DESCRIPTION
9
9
  Show where the change stands and the next one to three steps; never edits
10
10
  .SH OPTIONS
@@ -26,6 +26,9 @@ reviewer
26
26
  orchestrator
27
27
  .RE
28
28
  .TP
29
+ \fB\-\-body\fR
30
+ Print the brief file\*(Aqs bytes as they are, then a last line with the approval digest `brief approve` would record (with \-\-json: `body` and `digest` fields); what a human is shown before they answer
31
+ .TP
29
32
  \fB\-\-repo\fR \fI<DIR>\fR
30
33
  The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
34
  .TP
@@ -47,4 +50,4 @@ Examples:
47
50
 
48
51
  The operand names the change; without it the repo\*(Aqs only live change is read.
49
52
  .SH VERSION
50
- v0.31.0
53
+ v0.32.0
package/man/canon-brief.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief 1 "brief 0.31.0"
3
+ .TH canon-brief 1 "brief 0.32.0"
4
4
  .SH NAME
5
5
  canon\-brief \- Check a change\*(Aqs brief (PRD format) and see the next steps; never edits
6
6
  .SH SYNOPSIS
@@ -61,4 +61,4 @@ gets one blocker, `brief.old\-format`: `canon migrate` rewrites it. A brief
61
61
  with fewer than two known headings (written before 0.19) checks as `brief.legacy`, an
62
62
  advisory. Without \-\-change, the repo\*(Aqs only live change is checked.
63
63
  .SH VERSION
64
- v0.31.0
64
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-change-new 1 "new 0.31.0"
3
+ .TH canon-change-new 1 "new 0.32.0"
4
4
  .SH NAME
5
5
  canon\-change\-new \- Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
6
6
  .SH SYNOPSIS
@@ -63,4 +63,4 @@ Print version
63
63
  <\fICHANGE_ID\fR>
64
64
  The change\*(Aqs slug (its change_id)
65
65
  .SH VERSION
66
- v0.31.0
66
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-change 1 "change 0.31.0"
3
+ .TH canon-change 1 "change 0.32.0"
4
4
  .SH NAME
5
5
  canon\-change \- Write a plan change (.canon/changes/<slug>/brief.md) and adopt it into a subject
6
6
  .SH SYNOPSIS
@@ -39,4 +39,4 @@ Write .canon/changes/<slug>/brief.md, import it, and adopt it into a subject
39
39
  Examples:
40
40
  canon change new add\-login \-\-subject auth \-\-title \*(AqAdd login\*(Aq
41
41
  .SH VERSION
42
- v0.31.0
42
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-completion 1 "completion 0.31.0"
3
+ .TH canon-completion 1 "completion 0.32.0"
4
4
  .SH NAME
5
5
  canon\-completion \- Write the shell completion script for canon (bash, zsh or fish)
6
6
  .SH SYNOPSIS
@@ -57,4 +57,4 @@ Examples:
57
57
 
58
58
  The script is generated from the command tree, so it completes exactly what the parser accepts. It needs no repo and no network.
59
59
  .SH VERSION
60
- v0.31.0
60
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-add 1 "add 0.31.0"
3
+ .TH canon-context-pack-add 1 "add 0.32.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-add \- Create an immutable context pack from a repository\-local JSON manifest
6
6
  .SH SYNOPSIS
@@ -44,4 +44,4 @@ Print help
44
44
  \fB\-V\fR, \fB\-\-version\fR
45
45
  Print version
46
46
  .SH VERSION
47
- v0.31.0
47
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-show 1 "show 0.31.0"
3
+ .TH canon-context-pack-show 1 "show 0.32.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-show \- Show a context pack after verifying its manifest and content objects
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  <\fIPACK_ID\fR>
42
42
  Context pack id (sha256:<64 hex digits>)
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack-verify 1 "verify 0.31.0"
3
+ .TH canon-context-pack-verify 1 "verify 0.32.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack\-verify \- Verify a context pack\*(Aqs manifest and immutable content objects
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  <\fIPACK_ID\fR>
42
42
  Context pack id (sha256:<64 hex digits>)
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context-pack 1 "context-pack 0.31.0"
3
+ .TH canon-context-pack 1 "context-pack 0.32.0"
4
4
  .SH NAME
5
5
  canon\-context\-pack \- Create, inspect, and verify reproducible context packs
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Examples:
47
47
  canon context\-pack show sha256:<pack\-digest> \-\-repo . \-\-json
48
48
  canon context\-pack verify sha256:<pack\-digest>
49
49
  .SH VERSION
50
- v0.31.0
50
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-context 1 "context 0.31.0"
3
+ .TH canon-context 1 "context 0.32.0"
4
4
  .SH NAME
5
5
  canon\-context \- Show what you can author here: record kinds, fields, enums, policies
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-dashboard 1 "dashboard 0.31.0"
3
+ .TH canon-dashboard 1 "dashboard 0.32.0"
4
4
  .SH NAME
5
5
  canon\-dashboard \- Serve the local status dashboard
6
6
  .SH SYNOPSIS
@@ -47,4 +47,4 @@ Print help
47
47
  \fB\-V\fR, \fB\-\-version\fR
48
48
  Print version
49
49
  .SH VERSION
50
- v0.31.0
50
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-demo-init 1 "init 0.31.0"
3
+ .TH canon-demo-init 1 "init 0.32.0"
4
4
  .SH NAME
5
5
  canon\-demo\-init \- Scaffold the demo repo (gate starts RED)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-demo-review 1 "review 0.31.0"
3
+ .TH canon-demo-review 1 "review 0.32.0"
4
4
  .SH NAME
5
5
  canon\-demo\-review \- Record the missing reviewer evidence (gate turns GREEN)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print help
41
41
  \fB\-V\fR, \fB\-\-version\fR
42
42
  Print version
43
43
  .SH VERSION
44
- v0.31.0
44
+ v0.32.0
package/man/canon-demo.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-demo 1 "demo 0.31.0"
3
+ .TH canon-demo 1 "demo 0.32.0"
4
4
  .SH NAME
5
5
  canon\-demo \- Try the evidence loop end\-to\-end in a throwaway demo repo
6
6
  .SH SYNOPSIS
@@ -44,4 +44,4 @@ Examples:
44
44
  canon gate check # RED
45
45
  canon demo review && canon gate check # GREEN
46
46
  .SH VERSION
47
- v0.31.0
47
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-dispatch-begin 1 "begin 0.31.0"
3
+ .TH canon-dispatch-begin 1 "begin 0.32.0"
4
4
  .SH NAME
5
5
  canon\-dispatch\-begin \- Mint a Run manifest with retrieved guidance and context/policy lineage
6
6
  .SH SYNOPSIS
@@ -77,4 +77,4 @@ Print help
77
77
  \fB\-V\fR, \fB\-\-version\fR
78
78
  Print version
79
79
  .SH VERSION
80
- v0.31.0
80
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-dispatch-diff 1 "diff 0.31.0"
3
+ .TH canon-dispatch-diff 1 "diff 0.32.0"
4
4
  .SH NAME
5
5
  canon\-dispatch\-diff \- Diff the declared plan DAG against the observed execution graph
6
6
  .SH SYNOPSIS
@@ -38,4 +38,4 @@ Print help
38
38
  \fB\-V\fR, \fB\-\-version\fR
39
39
  Print version
40
40
  .SH VERSION
41
- v0.31.0
41
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-dispatch-end 1 "end 0.31.0"
3
+ .TH canon-dispatch-end 1 "end 0.32.0"
4
4
  .SH NAME
5
5
  canon\-dispatch\-end \- Close a dispatched run with a terminal status and an ended_at
6
6
  .SH SYNOPSIS
@@ -57,4 +57,4 @@ Print version
57
57
  <\fIRUN_ID\fR>
58
58
  The RunId (ULID) minted by `canon dispatch begin`
59
59
  .SH VERSION
60
- v0.31.0
60
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-dispatch 1 "dispatch 0.31.0"
3
+ .TH canon-dispatch 1 "dispatch 0.32.0"
4
4
  .SH NAME
5
5
  canon\-dispatch \- Begin an agent run with retrieved guidance recorded
6
6
  .SH SYNOPSIS
@@ -42,4 +42,4 @@ Close a dispatched run with a terminal status and an ended_at
42
42
  canon\-dispatch\-diff(1)
43
43
  Diff the declared plan DAG against the observed execution graph
44
44
  .SH VERSION
45
- v0.31.0
45
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-accept 1 "accept 0.31.0"
3
+ .TH canon-divergence-accept 1 "accept 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-accept \- Accept a divergent scenario as a tracked known gap (a reviewer step): its latest evidence must be divergent and not the accepting actor\*(Aqs or session\*(Aqs. The acceptance pins that evidence, so new evidence ends it, and lapses at \-\-expiry; until then the ship guard counts the cell as covered while `status` and `gate check` list it as `accepted\-divergence`
6
6
  .SH SYNOPSIS
7
- \fBcanon divergence accept\fR [\fB\-\-as\fR] [\fB\-\-project\fR] <\fB\-\-reason\fR> <\fB\-\-tracking\fR> [\fB\-\-expiry\fR] <\fB\-\-actor\fR> [\fB\-\-role\fR] [\fB\-\-session\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>
7
+ \fBcanon divergence accept\fR [\fB\-\-as\fR] [\fB\-\-project\fR] <\fB\-\-reason\fR> <\fB\-\-tracking\fR> [\fB\-\-expiry\fR] <\fB\-\-actor\fR> [\fB\-\-role\fR] [\fB\-\-session\fR] [\fB\-\-relayed\-via\fR] [\fB\-\-approver\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] <\fISCENARIO_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Accept a divergent scenario as a tracked known gap (a reviewer step): its latest evidence must be divergent and not the accepting actor\*(Aqs or session\*(Aqs. The acceptance pins that evidence, so new evidence ends it, and lapses at \-\-expiry; until then the ship guard counts the cell as covered while `status` and `gate check` list it as `accepted\-divergence`
10
10
  .SH OPTIONS
@@ -47,6 +47,15 @@ Must be reviewer (default: the declared role, \-\-as / CANON_ROLE; required when
47
47
  \fB\-\-session\fR \fI<SESSION_ID>\fR
48
48
  The accepting session (recorded as actor.session_id); it must not be one that attested the scenario\*(Aqs evidence
49
49
  .TP
50
+ \fB\-\-relayed\-via\fR \fI<NAME>\fR
51
+ Record the human\*(Aqs answer on their behalf: the tool they were asked with (`ask`, `AskUserQuestion`, `chat`); an agent role may run the call only with it, and then \-\-approver and \-\-note are required
52
+ .TP
53
+ \fB\-\-approver\fR \fI<NAME>\fR
54
+ With \-\-relayed\-via, who the human is
55
+ .TP
56
+ \fB\-\-note\fR \fI<TEXT>\fR
57
+ With \-\-relayed\-via, the human\*(Aqs answer as they gave it
58
+ .TP
50
59
  \fB\-\-repo\fR \fI<DIR>\fR
51
60
  The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
52
61
  .TP
@@ -65,4 +74,4 @@ Print version
65
74
  <\fISCENARIO_ID\fR>
66
75
  The accepted scenarios (`<area>.<surface>.<nn>`), one acceptance each, all or nothing
67
76
  .SH VERSION
68
- v0.31.0
77
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-add 1 "add 0.31.0"
3
+ .TH canon-divergence-add 1 "add 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-add \- Add a divergence candidate, staged with no run_seq yet (commit it with `canon gate promote \-\-kind divergence`, or in the same run with \-\-promote / `write: { promote: auto }`)
6
6
  .SH SYNOPSIS
@@ -94,4 +94,4 @@ Print version
94
94
  <\fISCENARIO_ID\fR>
95
95
  The scenario (`<area>.<surface>.<nn>`)
96
96
  .SH VERSION
97
- v0.31.0
97
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-defer 1 "defer 0.31.0"
3
+ .TH canon-divergence-defer 1 "defer 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-defer \- Directly record a deferred divergence (requires \-\-reason/\-\-expiry)
6
6
  .SH SYNOPSIS
@@ -68,4 +68,4 @@ Print version
68
68
  <\fISCENARIO_ID\fR>
69
69
  The scenario (`<area>.<surface>.<nn>`)
70
70
  .SH VERSION
71
- v0.31.0
71
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-list 1 "list 0.31.0"
3
+ .TH canon-divergence-list 1 "list 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-list \- List the current divergence burn\-down state
6
6
  .SH SYNOPSIS
@@ -53,4 +53,4 @@ Print help
53
53
  \fB\-V\fR, \fB\-\-version\fR
54
54
  Print version
55
55
  .SH VERSION
56
- v0.31.0
56
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-resolve 1 "resolve 0.31.0"
3
+ .TH canon-divergence-resolve 1 "resolve 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-resolve \- Directly record a resolved divergence
6
6
  .SH SYNOPSIS
@@ -65,4 +65,4 @@ Print version
65
65
  <\fISCENARIO_ID\fR>
66
66
  The scenario (`<area>.<surface>.<nn>`)
67
67
  .SH VERSION
68
- v0.31.0
68
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence 1 "divergence 0.31.0"
3
+ .TH canon-divergence 1 "divergence 0.32.0"
4
4
  .SH NAME
5
5
  canon\-divergence \- Stage, promote, resolve, and inspect spec divergences
6
6
  .SH SYNOPSIS
@@ -48,4 +48,4 @@ Accept a divergent scenario as a tracked known gap (a reviewer step): its latest
48
48
  canon\-divergence\-list(1)
49
49
  List the current divergence burn\-down state
50
50
  .SH VERSION
51
- v0.31.0
51
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-add 1 "add 0.31.0"
3
+ .TH canon-evidence-add 1 "add 0.32.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-add \- Record one attributed EvidenceRecord for a task or scenario (promoted in the same run under `write: { promote: auto }` or with \-\-promote; under `write.promote: manual`, commit it with `canon gate promote`)
6
6
  .SH SYNOPSIS
@@ -165,4 +165,4 @@ While a subject this record attests for (the scenario\*(Aqs @subject owner, or a
165
165
  AUDITS.
166
166
  An external evaluator\*(Aqs re\-audit is `canon evidence audit <SCENARIO_ID>`, not `\-\-kind audit`.
167
167
  .SH VERSION
168
- v0.31.0
168
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-approval-payload 1 "approval-payload 0.31.0"
3
+ .TH canon-evidence-approval-payload 1 "approval-payload 0.32.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-approval\-payload \- Emit exact bytes for external `ssh\-keygen \-Y sign \-n canon\-approval\-v1`
6
6
  .SH SYNOPSIS
@@ -62,4 +62,4 @@ Print help
62
62
  \fB\-V\fR, \fB\-\-version\fR
63
63
  Print version
64
64
  .SH VERSION
65
- v0.31.0
65
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence-audit 1 "audit 0.31.0"
3
+ .TH canon-evidence-audit 1 "audit 0.32.0"
4
4
  .SH NAME
5
5
  canon\-evidence\-audit \- Record an external evaluator\*(Aqs re\-audit of one scenario (class `audit`; the verdict follows \-\-audit\-result; canon never runs the evaluator)
6
6
  .SH SYNOPSIS
@@ -118,4 +118,4 @@ The re\-audited scenario (`<area>.<surface>.<nn>`)
118
118
  .SH EXTRA
119
119
  Records an external evaluator\*(Aqs re\-audit of one scenario: \-\-evaluator, \-\-evaluator\-version, \-\-evaluator\-digest <sha256>, \-\-audit\-result confirmed|refuted|indeterminate, and optional \-\-report/\-\-artifact counterexamples, bound and stored like any report. canon never generates or runs the audit. An audit never becomes the scenario\*(Aqs declared verdict; a refuted latest audit is false\-success in canon gate check, whatever the declared verdict says.
120
120
  .SH VERSION
121
- v0.31.0
121
+ v0.32.0