@journeykit/canon 0.35.0 → 0.37.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 +41 -20
  2. package/dist/skills/reference/canon-authoring.md +3 -2
  3. package/dist/skills/reference/canon-gate.md +29 -14
  4. package/dist/skills/reference/canon-inventory.md +3 -1
  5. package/dist/skills/reference/canon-learn.md +7 -2
  6. package/dist/skills/reference/canon-policy.md +3 -3
  7. package/dist/skills/reference/canon-report-dashboard.md +5 -5
  8. package/dist/skills/reference/canon-review.md +12 -9
  9. package/dist/skills/reference/canon-storage.md +4 -4
  10. package/dist/skills/reference/canon-subject.md +25 -23
  11. package/dist/skills/reference/role-implementer.md +8 -6
  12. package/dist/skills/reference/role-orchestrator.md +22 -21
  13. package/dist/skills/reference/role-planner.md +7 -7
  14. package/dist/skills/reference/role-reviewer.md +8 -8
  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 +6 -6
  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 +9 -6
  23. package/man/canon-brief-check.1 +2 -2
  24. package/man/canon-brief-show.1 +2 -2
  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 +3 -3
  43. package/man/canon-divergence-add.1 +4 -4
  44. package/man/canon-divergence-defer.1 +4 -4
  45. package/man/canon-divergence-list.1 +3 -3
  46. package/man/canon-divergence-resolve.1 +3 -3
  47. package/man/canon-divergence.1 +2 -2
  48. package/man/canon-evidence-add.1 +9 -9
  49. package/man/canon-evidence-approval-payload.1 +4 -4
  50. package/man/canon-evidence-audit.1 +7 -7
  51. package/man/canon-evidence.1 +2 -2
  52. package/man/canon-export.1 +4 -4
  53. package/man/canon-feature-new.1 +2 -2
  54. package/man/canon-feature.1 +2 -2
  55. package/man/canon-finding-add.1 +5 -5
  56. package/man/canon-finding-close.1 +4 -6
  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 +5 -4
  69. package/man/canon-inventory-sync.1 +2 -2
  70. package/man/canon-inventory.1 +2 -2
  71. package/man/canon-ledger-compact.1 +5 -5
  72. package/man/canon-ledger.1 +3 -3
  73. package/man/canon-migrate.1 +8 -8
  74. package/man/canon-plugin-sync.1 +2 -2
  75. package/man/canon-plugin.1 +2 -2
  76. package/man/canon-policy-approve.1 +2 -2
  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 +8 -8
  83. package/man/canon-query.1 +3 -3
  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 +4 -4
  92. package/man/canon-review-scenario.1 +4 -4
  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 +10 -4
  97. package/man/canon-search.1 +2 -2
  98. package/man/canon-selftest.1 +2 -2
  99. package/man/canon-skills-check.1 +3 -3
  100. package/man/canon-skills-doctor.1 +3 -3
  101. package/man/canon-skills-install.1 +3 -3
  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 +3 -3
  106. package/man/canon-strategy-promote.1 +2 -2
  107. package/man/canon-strategy-rollback.1 +3 -3
  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 +3 -3
  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 +5 -5
  118. package/man/canon-tier.1 +2 -2
  119. package/man/canon-trace.1 +2 -2
  120. package/man/canon.1 +3 -3
  121. package/package.json +4 -4
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-approve 1 "approve 0.35.0"
3
+ .TH canon-brief-approve 1 "approve 0.37.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
@@ -64,11 +64,14 @@ Examples:
64
64
  canon brief approve add\-login add\-search fix\-sync \-\-approver Ana \-\-note \*(AqAll three, go.\*(Aq
65
65
 
66
66
  Several ids take one name, one answer and one timestamp. Every id is checked
67
- first; one refused id refuses the call (BRIEF_APPROVE_REFUSED) and nothing is
68
- written. Writes `Approved: <who> <when> — "<words>" (brief sha256:<digest>)` into the
69
- brief (the digest covers the brief without its `Approved:` lines) and records
67
+ first; one refused id refuses the call (the first refused id\*(Aqs code, with a
68
+ detail for each) and nothing is
69
+ written. Writes `Approved: <who> <when> — "<words>" (code tree <id>) (brief sha256:<digest>)` into the
70
+ brief (the digest covers the brief without its `Approved:` lines; the code tree is the work
71
+ tree\*(Aqs as it is now, uncommitted code included, and is left out outside git or with no commit: a
72
+ chore whose approval saw the code tree that is still the current one asks for no evidence) and records
70
73
  `canon policy approve` in the same call. Edit the brief afterwards and it reads as
71
- not approved (BRIEF_CHANGED_SINCE_APPROVAL) until a human answers again and this
74
+ not approved (BRIEF_APPROVAL_STALE) until a human answers again and this
72
75
  runs again. Run it only from the human\*(Aqs answer, with their words as \-\-note.
73
76
  .SH VERSION
74
- v0.35.0
77
+ v0.37.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.35.0"
3
+ .TH canon-brief-check 1 "check 0.37.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.35.0
44
+ v0.37.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-brief-show 1 "show 0.35.0"
3
+ .TH canon-brief-show 1 "show 0.37.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
@@ -50,4 +50,4 @@ Examples:
50
50
 
51
51
  The operand names the change; without it the repo\*(Aqs only live change is read.
52
52
  .SH VERSION
53
- v0.35.0
53
+ v0.37.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.35.0"
3
+ .TH canon-brief 1 "brief 0.37.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.35.0
64
+ v0.37.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.35.0"
3
+ .TH canon-change-new 1 "new 0.37.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.35.0
66
+ v0.37.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.35.0"
3
+ .TH canon-change 1 "change 0.37.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.35.0
42
+ v0.37.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.35.0"
3
+ .TH canon-completion 1 "completion 0.37.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.35.0
60
+ v0.37.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.35.0"
3
+ .TH canon-context-pack-add 1 "add 0.37.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.35.0
47
+ v0.37.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.35.0"
3
+ .TH canon-context-pack-show 1 "show 0.37.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.35.0
44
+ v0.37.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.35.0"
3
+ .TH canon-context-pack-verify 1 "verify 0.37.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.35.0
44
+ v0.37.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.35.0"
3
+ .TH canon-context-pack 1 "context-pack 0.37.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.35.0
50
+ v0.37.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.35.0"
3
+ .TH canon-context 1 "context 0.37.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.35.0
44
+ v0.37.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.35.0"
3
+ .TH canon-dashboard 1 "dashboard 0.37.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.35.0
50
+ v0.37.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.35.0"
3
+ .TH canon-demo-init 1 "init 0.37.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.35.0
44
+ v0.37.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.35.0"
3
+ .TH canon-demo-review 1 "review 0.37.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.35.0
44
+ v0.37.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.35.0"
3
+ .TH canon-demo 1 "demo 0.37.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.35.0
47
+ v0.37.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.35.0"
3
+ .TH canon-dispatch-begin 1 "begin 0.37.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.35.0
80
+ v0.37.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.35.0"
3
+ .TH canon-dispatch-diff 1 "diff 0.37.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.35.0
41
+ v0.37.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.35.0"
3
+ .TH canon-dispatch-end 1 "end 0.37.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.35.0
60
+ v0.37.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.35.0"
3
+ .TH canon-dispatch 1 "dispatch 0.37.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.35.0
45
+ v0.37.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-divergence-accept 1 "accept 0.35.0"
3
+ .TH canon-divergence-accept 1 "accept 0.37.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
@@ -36,7 +36,7 @@ Why the gap is accepted
36
36
  Where the gap is tracked: an issue URL or reference
37
37
  .TP
38
38
  \fB\-\-expiry\fR \fI<TIMESTAMP>\fR
39
- The date (YYYY\-MM\-DD, UTC) the acceptance stops holding; none means it holds until new evidence
39
+ When the acceptance stops holding: an RFC 3339 date (`2030\-01\-01`, UTC midnight) or date\-time (`2030\-01\-01T10:00:00Z`); none means it holds until new evidence
40
40
  .TP
41
41
  \fB\-\-actor\fR \fI<ACTOR_ID>\fR
42
42
  The reviewer recording this (recorded as the divergence\*(Aqs reviewer and actor)
@@ -74,4 +74,4 @@ Print version
74
74
  <\fISCENARIO_ID\fR>
75
75
  The accepted scenarios (`<area>.<surface>.<nn>`), one acceptance each, all or nothing
76
76
  .SH VERSION
77
- v0.35.0
77
+ v0.37.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.35.0"
3
+ .TH canon-divergence-add 1 "add 0.37.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
@@ -30,7 +30,7 @@ orchestrator
30
30
  Spec corpus id of the scenario. Required only when canon.yaml configures more than one spec root
31
31
  .TP
32
32
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
33
- 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)
33
+ 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 (COMMIT_REQUIRED)
34
34
  .TP
35
35
  \fB\-\-state\fR \fI<STATE>\fR [default: open]
36
36
  The divergence state to record (deferred needs \-\-reason and \-\-expiry)
@@ -53,7 +53,7 @@ deferred
53
53
  Why the divergence is recorded; required with `\-\-state deferred`
54
54
  .TP
55
55
  \fB\-\-expiry\fR \fI<TIMESTAMP>\fR
56
- When a deferral lapses (RFC3339 or YYYY\-MM\-DD, UTC); required with `\-\-state deferred`
56
+ When a deferral lapses: an RFC 3339 date (`2030\-01\-01`, UTC midnight) or date\-time (`2030\-01\-01T10:00:00Z`); required with `\-\-state deferred`
57
57
  .TP
58
58
  \fB\-\-round\fR \fI<N>\fR [default: 1]
59
59
  The review round this version belongs to (1\-based)
@@ -94,4 +94,4 @@ Print version
94
94
  <\fISCENARIO_ID\fR>
95
95
  The scenario (`<area>.<surface>.<nn>`)
96
96
  .SH VERSION
97
- v0.35.0
97
+ v0.37.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.35.0"
3
+ .TH canon-divergence-defer 1 "defer 0.37.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-defer \- Directly record a deferred divergence (requires \-\-reason/\-\-expiry)
6
6
  .SH SYNOPSIS
@@ -30,7 +30,7 @@ orchestrator
30
30
  Spec corpus id of the scenario. Required only when canon.yaml configures more than one spec root
31
31
  .TP
32
32
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
33
- 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)
33
+ 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 (COMMIT_REQUIRED)
34
34
  .TP
35
35
  \fB\-\-round\fR \fI<N>\fR [default: 1]
36
36
  The review round this version belongs to (1\-based)
@@ -45,7 +45,7 @@ The acting session (recorded as actor.session_id); optional
45
45
  Why the divergence is deferred
46
46
  .TP
47
47
  \fB\-\-expiry\fR \fI<TIMESTAMP>\fR
48
- When the deferral lapses (RFC3339 or YYYY\-MM\-DD, UTC)
48
+ When the deferral lapses: an RFC 3339 date (`2030\-01\-01`, UTC midnight) or date\-time (`2030\-01\-01T10:00:00Z`)
49
49
  .TP
50
50
  \fB\-\-role\fR \fI<ROLE>\fR
51
51
  The role this record is attributed to (default: the role declared with \-\-as / CANON_ROLE)
@@ -68,4 +68,4 @@ Print version
68
68
  <\fISCENARIO_ID\fR>
69
69
  The scenario (`<area>.<surface>.<nn>`)
70
70
  .SH VERSION
71
- v0.35.0
71
+ v0.37.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.35.0"
3
+ .TH canon-divergence-list 1 "list 0.37.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-list \- List the current divergence burn\-down state
6
6
  .SH SYNOPSIS
@@ -30,7 +30,7 @@ orchestrator
30
30
  The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
31
  .TP
32
32
  \fB\-\-as\-of\fR \fI<TIMESTAMP>\fR
33
- Governs Deferred expiry; defaults to now
33
+ Governs Deferred expiry; an RFC 3339 date (`2030\-01\-01`, UTC midnight) or date\-time (`2030\-01\-01T10:00:00Z`); defaults to now
34
34
  .TP
35
35
  \fB\-\-json\fR
36
36
  Print `{data, meta}` as JSON
@@ -53,4 +53,4 @@ Print help
53
53
  \fB\-V\fR, \fB\-\-version\fR
54
54
  Print version
55
55
  .SH VERSION
56
- v0.35.0
56
+ v0.37.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.35.0"
3
+ .TH canon-divergence-resolve 1 "resolve 0.37.0"
4
4
  .SH NAME
5
5
  canon\-divergence\-resolve \- Directly record a resolved divergence
6
6
  .SH SYNOPSIS
@@ -30,7 +30,7 @@ orchestrator
30
30
  Spec corpus id of the scenario. Required only when canon.yaml configures more than one spec root
31
31
  .TP
32
32
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
33
- 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)
33
+ 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 (COMMIT_REQUIRED)
34
34
  .TP
35
35
  \fB\-\-round\fR \fI<N>\fR [default: 1]
36
36
  The review round this version belongs to (1\-based)
@@ -65,4 +65,4 @@ Print version
65
65
  <\fISCENARIO_ID\fR>
66
66
  The scenario (`<area>.<surface>.<nn>`)
67
67
  .SH VERSION
68
- v0.35.0
68
+ v0.37.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.35.0"
3
+ .TH canon-divergence 1 "divergence 0.37.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.35.0
51
+ v0.37.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.35.0"
3
+ .TH canon-evidence-add 1 "add 0.37.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
@@ -30,7 +30,7 @@ orchestrator
30
30
  Plan task this evidence attests to (<change_id>#<n>); required unless \-\-scenario is given
31
31
  .TP
32
32
  \fB\-\-project\fR \fI<PROJECT_ID>\fR
33
- Spec corpus id for \-\-scenario (canon keys a scenario by the composite (project_id, scenario_id)). Must name a spec root configured in canon.yaml, or the add is refused (UNKNOWN_SPEC_ROOT) before anything is written
33
+ Spec corpus id for \-\-scenario (canon keys a scenario by the composite (project_id, scenario_id)). Must name a spec root configured in canon.yaml, or the add is refused (SPEC_ROOT_NOT_FOUND) before anything is written
34
34
  .TP
35
35
  \fB\-\-class\fR \fI<CLASS>\fR
36
36
  What CLASS of evidence is attested to (test\-run, review, ...); default `test\-run` when a \-\-report is given. `audit` is refused: an external evaluator\*(Aqs re\-audit is `canon evidence audit`
@@ -54,7 +54,7 @@ divergent
54
54
  .RE
55
55
  .TP
56
56
  \fB\-\-summary\fR \fI<TEXT>\fR
57
- One\-line note, with or without \-\-task; a task\*(Aqs flipped row shows it as the latest summary (scanned for fabrication markers; line breaks refused)
57
+ One line of text, with or without \-\-task; a task\*(Aqs flipped row shows it as the latest summary (scanned for fabrication markers). The white space around it is trimmed; a control character or line break inside it is refused
58
58
  .TP
59
59
  \fB\-\-command\-result\fR \fI<TEXT>\fR
60
60
  The real captured output backing \-\-summary (requires \-\-summary; scanned for fabrication markers)
@@ -69,7 +69,7 @@ RunId (ULID) of the run that produced this evidence
69
69
  Explicit risk binding: repository\-relative path or effect:<kebab\-slug>; persisted as surface_ref
70
70
  .TP
71
71
  \fB\-\-actor\fR \fI<ACTOR_ID>\fR [default: canon]
72
- The attesting actor\*(Aqs id (recorded as the attestation\*(Aqs author; line breaks refused)
72
+ The attesting actor\*(Aqs id (recorded as the attestation\*(Aqs author). One line of text: the white space around it is trimmed; a control character or line break inside it is refused
73
73
  .TP
74
74
  \fB\-\-role\fR \fI<ROLE>\fR
75
75
  The attesting role; `canon gate promote` derives its run_seq partition key from it. Default: the declared role (\-\-as / CANON_ROLE); required when none is declared
@@ -95,10 +95,10 @@ human
95
95
  Armored SSH detached signature file. Canon never signs on the user\*(Aqs behalf
96
96
  .TP
97
97
  \fB\-\-approval\-at\fR \fI<TIMESTAMP>\fR
98
- Timestamp (RFC3339 or YYYY\-MM\-DD) included in the signed approval payload
98
+ The approval time included in the signed approval payload: an RFC 3339 date\-time (`2030\-01\-01T10:00:00Z`; a date alone is refused), the value the signature was made over
99
99
  .TP
100
100
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
101
- 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)
101
+ 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 (COMMIT_REQUIRED)
102
102
  .TP
103
103
  \fB\-\-artifact\fR \fI<PATH>\fR
104
104
  EXPERIMENTAL: bind any file (trace, screenshots, agent QA log, report) by sha256; repeatable; must be inside the repo; with \-\-all\-scenarios only as <scenario\-id>=<path>, bound to that scenario\*(Aqs record alone
@@ -116,7 +116,7 @@ One record per indexed scenario of \-\-project that owns a case in the \-\-repor
116
116
  Per\-file size limit for the artifact store (.canon/artifacts/sha256/), in MiB; a larger bound file is refused
117
117
  .TP
118
118
  \fB\-\-override\-reason\fR \fI<TEXT>\fR
119
- Attest anyway while a subject this record attests for has a brief awaiting the human\*(Aqs answer (one line, recorded on the record with \-\-actor)
119
+ Attest anyway while a subject this record attests for has a brief awaiting the human\*(Aqs answer (one line of text, recorded on the record with \-\-actor)
120
120
  .TP
121
121
  \fB\-\-promote\fR
122
122
  Promote the record this run staged, in the same run; records others staged stay staged (the default under canon.yaml `write: { promote: auto }`)
@@ -160,9 +160,9 @@ RE\-ATTESTING NEVER DROPS A BINDING SILENTLY (\-\-drop\-attachment).
160
160
  For a scenario, a record that leaves out a file the scenario\*(Aqs latest record binds is refused (exit 2) until it re\-binds the file (new bytes at the same path are fine) or names it with \-\-drop\-attachment <path> (repeatable) \-\-drop\-reason <text>. The drop is recorded on the record and listed by canon status. Task\-only evidence has no drop guard.
161
161
 
162
162
  NOTHING IS ATTESTED BEFORE THE BRIEF IS APPROVED (\-\-override\-reason).
163
- While a subject this record attests for (the scenario\*(Aqs @subject owner, or any subject adopting the task\*(Aqs change) has an unapproved brief the record answers to, the add is refused. A scenario tagged @flow:<change>.<F\-id> answers to the changes its tags name; an untagged one to every adopted change whose brief has an `Approved:` line (an edit since refuses it), or, with none, to its subject\*(Aqs newest tagged change or newest adopted change; a task to its own change; an unapproved chore or a pending draft never blocks evidence (exit 1, nothing staged): stop, report the brief and wait for the human\*(Aqs answer. \-\-override\-reason <text> attests anyway; the reason, the waived subjects and \-\-actor are recorded on the record and listed by canon status and canon gate check. A subject with no proposal.md to answer is unaffected; review scenario and finding add are never refused.
163
+ While a subject this record attests for (the scenario\*(Aqs @subject owner, or any subject adopting the task\*(Aqs change) has an unapproved brief the record answers to, the add is refused. A scenario tagged @flow:<change>.<F\-id> answers to the changes its tags name; an untagged one to every adopted change whose brief has an `Approved:` line (an edit since refuses it), or, with none, to its subject\*(Aqs newest tagged change or newest adopted change; a task to its own change; an unapproved chore or a pending draft never blocks evidence (exit 2, nothing staged): stop, report the brief and wait for the human\*(Aqs answer. \-\-override\-reason <text> attests anyway; the reason, the waived subjects and \-\-actor are recorded on the record and listed by canon status and canon gate check. A subject with no proposal.md to answer is unaffected; review scenario and finding add are never refused.
164
164
 
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.35.0
168
+ v0.37.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.35.0"
3
+ .TH canon-evidence-approval-payload 1 "approval-payload 0.37.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
@@ -39,7 +39,7 @@ The scenario the approval is for; give this or \-\-task
39
39
  The dispatch run the approved work belongs to
40
40
  .TP
41
41
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
42
- 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)
42
+ 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 (COMMIT_REQUIRED)
43
43
  .TP
44
44
  \fB\-\-surface\-ref\fR \fI<PATH_OR_EFFECT>\fR
45
45
  The risk surface being approved: a repository\-relative path or `effect:<kebab\-slug>` (repeatable)
@@ -48,7 +48,7 @@ The risk surface being approved: a repository\-relative path or `effect:<kebab\-
48
48
  Who approved (the human whose detached signature the payload is for)
49
49
  .TP
50
50
  \fB\-\-approval\-at\fR \fI<TIMESTAMP>\fR
51
- The approval time that is signed into the payload: RFC3339, or YYYY\-MM\-DD (UTC midnight)
51
+ The approval time that is signed into the payload: an RFC 3339 date\-time (`2030\-01\-01T10:00:00Z`; a date alone is refused). Fix it once and give the same value to the signature and to `evidence add`
52
52
  .TP
53
53
  \fB\-\-repo\fR \fI<DIR>\fR
54
54
  The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
@@ -62,4 +62,4 @@ Print help
62
62
  \fB\-V\fR, \fB\-\-version\fR
63
63
  Print version
64
64
  .SH VERSION
65
- v0.35.0
65
+ v0.37.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.35.0"
3
+ .TH canon-evidence-audit 1 "audit 0.37.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
@@ -27,13 +27,13 @@ orchestrator
27
27
  .RE
28
28
  .TP
29
29
  \fB\-\-project\fR \fI<PROJECT_ID>\fR
30
- Spec corpus id of the scenario. Required only when canon.yaml configures more than one spec root; refused (UNKNOWN_SPEC_ROOT) when it names none
30
+ Spec corpus id of the scenario. Required only when canon.yaml configures more than one spec root; refused (SPEC_ROOT_NOT_FOUND) when it names none
31
31
  .TP
32
32
  \fB\-\-ref\fR \fI<TEXT>\fR
33
33
  The reference a reader can resolve: a command line, commit sha, or report path. NEVER run or resolved by canon
34
34
  .TP
35
35
  \fB\-\-summary\fR \fI<TEXT>\fR
36
- One\-line note (scanned for fabrication markers; line breaks refused)
36
+ One line of text (scanned for fabrication markers). The white space around it is trimmed; a control character or line break inside it is refused
37
37
  .TP
38
38
  \fB\-\-command\-result\fR \fI<TEXT>\fR
39
39
  The real captured output backing \-\-summary (requires \-\-summary; scanned for fabrication markers)
@@ -42,7 +42,7 @@ The real captured output backing \-\-summary (requires \-\-summary; scanned for
42
42
  RunId (ULID) of the run that produced this evidence
43
43
  .TP
44
44
  \fB\-\-actor\fR \fI<ACTOR_ID>\fR [default: canon]
45
- The attesting actor\*(Aqs id (recorded as the attestation\*(Aqs author; line breaks refused)
45
+ The attesting actor\*(Aqs id (recorded as the attestation\*(Aqs author). One line of text: the white space around it is trimmed; a control character or line break inside it is refused
46
46
  .TP
47
47
  \fB\-\-role\fR \fI<ROLE>\fR
48
48
  The attesting role; `canon gate promote` derives its run_seq partition key from it. Default: the declared role (\-\-as / CANON_ROLE); required when none is declared
@@ -51,7 +51,7 @@ The attesting role; `canon gate promote` derives its run_seq partition key from
51
51
  The attesting session (recorded as actor.session_id)
52
52
  .TP
53
53
  \fB\-\-rev\fR \fI<REV>\fR [default: HEAD]
54
- 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)
54
+ 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 (COMMIT_REQUIRED)
55
55
  .TP
56
56
  \fB\-\-artifact\fR \fI<PATH>\fR
57
57
  EXPERIMENTAL: bind any file (trace, log, report) by sha256; repeatable; must be inside the repo
@@ -90,7 +90,7 @@ indeterminate
90
90
  .RE
91
91
  .TP
92
92
  \fB\-\-override\-reason\fR \fI<TEXT>\fR
93
- Attest anyway while a subject this record attests for has a brief awaiting the human\*(Aqs answer (one line, recorded on the record with \-\-actor)
93
+ Attest anyway while a subject this record attests for has a brief awaiting the human\*(Aqs answer (one line of text, recorded on the record with \-\-actor)
94
94
  .TP
95
95
  \fB\-\-promote\fR
96
96
  Promote the record this run staged, in the same run; records others staged stay staged (the default under canon.yaml `write: { promote: auto }`)
@@ -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.35.0
121
+ v0.37.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-evidence 1 "evidence 0.35.0"
3
+ .TH canon-evidence 1 "evidence 0.37.0"
4
4
  .SH NAME
5
5
  canon\-evidence \- Author a staged, attributed evidence attestation for a plan task
6
6
  .SH SYNOPSIS
@@ -54,4 +54,4 @@ each add to commit it (assigns run_seq).
54
54
 
55
55
  See `canon evidence add \-\-help` for exactly what the gate does and does not check.
56
56
  .SH VERSION
57
- v0.35.0
57
+ v0.37.0