@journeykit/canon 0.30.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 (127) hide show
  1. package/dist/skills/SKILL.src.md +77 -32
  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 +8 -8
  6. package/dist/skills/reference/brief-shape.md +40 -9
  7. package/dist/skills/reference/canon-authoring.md +6 -6
  8. package/dist/skills/reference/canon-gate.md +45 -36
  9. package/dist/skills/reference/canon-learn.md +2 -2
  10. package/dist/skills/reference/canon-plan-import.md +2 -2
  11. package/dist/skills/reference/canon-plugins.md +6 -6
  12. package/dist/skills/reference/canon-policy.md +7 -4
  13. package/dist/skills/reference/canon-report-dashboard.md +17 -10
  14. package/dist/skills/reference/canon-review.md +24 -24
  15. package/dist/skills/reference/canon-storage.md +2 -2
  16. package/dist/skills/reference/canon-subject.md +137 -103
  17. package/dist/skills/reference/role-implementer.md +52 -36
  18. package/dist/skills/reference/role-orchestrator.md +68 -38
  19. package/dist/skills/reference/role-planner.md +99 -45
  20. package/dist/skills/reference/role-reviewer.md +69 -43
  21. package/man/canon-adapter-authorize.1 +2 -2
  22. package/man/canon-adapter-validate.1 +2 -2
  23. package/man/canon-adapter.1 +2 -2
  24. package/man/canon-artifacts-move.1 +2 -2
  25. package/man/canon-artifacts-store.1 +2 -2
  26. package/man/canon-artifacts-verify.1 +2 -2
  27. package/man/canon-artifacts.1 +2 -2
  28. package/man/canon-brief-approve.1 +17 -5
  29. package/man/canon-brief-check.1 +2 -2
  30. package/man/canon-brief-show.1 +6 -3
  31. package/man/canon-brief.1 +8 -7
  32. package/man/canon-change-new.1 +4 -4
  33. package/man/canon-change.1 +3 -3
  34. package/man/canon-completion.1 +2 -2
  35. package/man/canon-context-pack-add.1 +2 -2
  36. package/man/canon-context-pack-show.1 +2 -2
  37. package/man/canon-context-pack-verify.1 +2 -2
  38. package/man/canon-context-pack.1 +2 -2
  39. package/man/canon-context.1 +2 -2
  40. package/man/canon-dashboard.1 +2 -2
  41. package/man/canon-demo-init.1 +2 -2
  42. package/man/canon-demo-review.1 +2 -2
  43. package/man/canon-demo.1 +2 -2
  44. package/man/canon-dispatch-begin.1 +10 -10
  45. package/man/canon-dispatch-diff.1 +2 -2
  46. package/man/canon-dispatch-end.1 +2 -2
  47. package/man/canon-dispatch.1 +2 -2
  48. package/man/canon-divergence-accept.1 +15 -6
  49. package/man/canon-divergence-add.1 +6 -6
  50. package/man/canon-divergence-defer.1 +6 -6
  51. package/man/canon-divergence-list.1 +2 -2
  52. package/man/canon-divergence-resolve.1 +6 -6
  53. package/man/canon-divergence.1 +2 -2
  54. package/man/canon-evidence-add.1 +16 -16
  55. package/man/canon-evidence-approval-payload.1 +10 -10
  56. package/man/canon-evidence-audit.1 +10 -10
  57. package/man/canon-evidence.1 +3 -3
  58. package/man/canon-export.1 +2 -2
  59. package/man/canon-feature-new.1 +6 -6
  60. package/man/canon-feature.1 +2 -2
  61. package/man/canon-finding-add.1 +11 -11
  62. package/man/canon-finding-close.1 +8 -8
  63. package/man/canon-finding-list.1 +4 -4
  64. package/man/canon-finding.1 +4 -4
  65. package/man/canon-format.1 +2 -2
  66. package/man/canon-gate-check.1 +2 -2
  67. package/man/canon-gate-install-hooks.1 +2 -2
  68. package/man/canon-gate-promote.1 +2 -2
  69. package/man/canon-gate.1 +2 -2
  70. package/man/canon-ingest-plans.1 +2 -2
  71. package/man/canon-ingest-records.1 +4 -4
  72. package/man/canon-ingest-sessions.1 +2 -2
  73. package/man/canon-ingest.1 +2 -2
  74. package/man/canon-init.1 +2 -2
  75. package/man/canon-inventory-sync.1 +2 -2
  76. package/man/canon-inventory.1 +2 -2
  77. package/man/canon-ledger-compact.1 +2 -2
  78. package/man/canon-ledger.1 +2 -2
  79. package/man/canon-migrate.1 +20 -3
  80. package/man/canon-plugin-sync.1 +2 -2
  81. package/man/canon-plugin.1 +2 -2
  82. package/man/canon-policy-approve.1 +9 -3
  83. package/man/canon-policy-show.1 +2 -2
  84. package/man/canon-policy.1 +2 -2
  85. package/man/canon-prompt-add.1 +2 -2
  86. package/man/canon-prompt-show.1 +2 -2
  87. package/man/canon-prompt.1 +2 -2
  88. package/man/canon-purge.1 +2 -2
  89. package/man/canon-query.1 +5 -5
  90. package/man/canon-regime-show.1 +2 -2
  91. package/man/canon-regime.1 +2 -2
  92. package/man/canon-report-build.1 +2 -2
  93. package/man/canon-report-check.1 +2 -2
  94. package/man/canon-report-snapshot.1 +2 -2
  95. package/man/canon-report.1 +2 -2
  96. package/man/canon-retrieve.1 +5 -5
  97. package/man/canon-review-change.1 +6 -6
  98. package/man/canon-review-scenario.1 +6 -6
  99. package/man/canon-review.1 +2 -2
  100. package/man/canon-scenario-new.1 +10 -10
  101. package/man/canon-scenario.1 +2 -2
  102. package/man/canon-schema.1 +2 -2
  103. package/man/canon-search.1 +104 -0
  104. package/man/canon-selftest.1 +2 -2
  105. package/man/canon-skills-check.1 +2 -2
  106. package/man/canon-skills-doctor.1 +2 -2
  107. package/man/canon-skills-install.1 +2 -2
  108. package/man/canon-skills-show.1 +2 -2
  109. package/man/canon-skills.1 +2 -2
  110. package/man/canon-status.1 +7 -2
  111. package/man/canon-strategy-approval-payload.1 +2 -2
  112. package/man/canon-strategy-promote.1 +2 -2
  113. package/man/canon-strategy-rollback.1 +5 -5
  114. package/man/canon-strategy.1 +2 -2
  115. package/man/canon-subject-adopt.1 +4 -4
  116. package/man/canon-subject-move.1 +5 -5
  117. package/man/canon-subject-new.1 +5 -5
  118. package/man/canon-subject-show.1 +2 -2
  119. package/man/canon-subject-unadopt.1 +5 -5
  120. package/man/canon-subject.1 +2 -2
  121. package/man/canon-task-done.1 +2 -2
  122. package/man/canon-task.1 +2 -2
  123. package/man/canon-tier-age.1 +2 -2
  124. package/man/canon-tier.1 +2 -2
  125. package/man/canon-trace.1 +56 -0
  126. package/man/canon.1 +8 -2
  127. package/package.json +4 -4
@@ -0,0 +1,104 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-search 1 "search 0.32.0"
4
+ .SH NAME
5
+ canon\-search \- Search records, brief sections and scenario text, with each hit\*(Aqs neighbors in the record graph
6
+ .SH SYNOPSIS
7
+ \fBcanon search\fR [\fB\-\-as\fR] [\fB\-\-kind\fR] [\fB\-\-expand\fR] [\fB\-\-limit\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fITEXT\fR>
8
+ .SH DESCRIPTION
9
+ Search records, brief sections and scenario text, with each hit\*(Aqs neighbors in the record graph
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
+ Keep only nodes of this kind among the hits (repeatable): a record kind, or `brief` for a brief section or flow step; the neighbors of the hits are of any kind
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
+ .IP \(bu 2
65
+ brief
66
+ .RE
67
+ .TP
68
+ \fB\-\-expand\fR \fI<N>\fR [default: 1]
69
+ How many edges away from a hit its neighbors are listed (0: none)
70
+ .TP
71
+ \fB\-\-limit\fR \fI<N>\fR [default: 20]
72
+ The most hits to list, best first (there is no next page)
73
+ .TP
74
+ \fB\-\-repo\fR \fI<DIR>\fR
75
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
76
+ .TP
77
+ \fB\-\-json\fR
78
+ Output JSON instead of the human\-readable form
79
+ .TP
80
+ \fB\-h\fR, \fB\-\-help\fR
81
+ Print help
82
+ .TP
83
+ \fB\-V\fR, \fB\-\-version\fR
84
+ Print version
85
+ .TP
86
+ <\fITEXT\fR>
87
+ The text to find in records, brief sections and scenario text: read as it is typed, so quotes and words such as AND are not syntax. Korean and any other text is found from three characters; a shorter text is found as a part of a node\*(Aqs text, in id order
88
+ .SH EXTRA
89
+ Examples:
90
+ canon search timeout
91
+ canon search "token is logged" \-\-kind finding \-\-json
92
+ canon search 한글 \-\-expand 2 \-\-limit 5
93
+
94
+ Finds the nodes whose text holds the text typed (a record, a brief section or flow step, a
95
+ scenario\*(Aqs title, steps and tables) and lists each hit with its neighbors: the records it
96
+ names or that name it, the review loop around a finding, the brief step a scenario covers. A
97
+ reference no committed source holds is a neighbor marked `placeholder`. Hits are ranked by
98
+ full\-text score (ties by id) and only current versions are hits.
99
+
100
+ A read that first brings a derived index up to date: .canon/index/search.db, gitignored and
101
+ rebuilt in full when any input changed; deleting it changes nothing but data.index.rebuilt.
102
+ Exit 0 with empty hits when nothing matches; exit 2 for an empty text.
103
+ .SH VERSION
104
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-selftest 1 "selftest 0.30.0"
3
+ .TH canon-selftest 1 "selftest 0.32.0"
4
4
  .SH NAME
5
5
  canon\-selftest \- Run canon\*(Aqs built\-in fixture self\-tests
6
6
  .SH SYNOPSIS
@@ -66,4 +66,4 @@ Print help
66
66
  \fB\-V\fR, \fB\-\-version\fR
67
67
  Print version
68
68
  .SH VERSION
69
- v0.30.0
69
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-skills-check 1 "check 0.30.0"
3
+ .TH canon-skills-check 1 "check 0.32.0"
4
4
  .SH NAME
5
5
  canon\-skills\-check \- Check canonical projections without writing; exit 1 on drift, a legacy remnant, or a lock another canon version wrote
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.30.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-skills-doctor 1 "doctor 0.30.0"
3
+ .TH canon-skills-doctor 1 "doctor 0.32.0"
4
4
  .SH NAME
5
5
  canon\-skills\-doctor \- Print diagnostics for canonical projections, the install lock\*(Aqs canon version, legacy remnants, canon projections for a provider that is not selected, and other skills whose description claims build work; reports only, never edits
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.30.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-skills-install 1 "install 0.30.0"
3
+ .TH canon-skills-install 1 "install 0.32.0"
4
4
  .SH NAME
5
5
  canon\-skills\-install \- Install the canonical `canon` bundle or legacy developer skills
6
6
  .SH SYNOPSIS
@@ -50,4 +50,4 @@ Print help
50
50
  \fB\-V\fR, \fB\-\-version\fR
51
51
  Print version
52
52
  .SH VERSION
53
- v0.30.0
53
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-skills-show 1 "show 0.30.0"
3
+ .TH canon-skills-show 1 "show 0.32.0"
4
4
  .SH NAME
5
5
  canon\-skills\-show \- Print a guide built into this binary (markdown on stdout); the installed SKILL.md is a stub that points here
6
6
  .SH SYNOPSIS
@@ -101,4 +101,4 @@ role\-planner
101
101
  role\-reviewer
102
102
  .RE
103
103
  .SH VERSION
104
- v0.30.0
104
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-skills 1 "skills 0.30.0"
3
+ .TH canon-skills 1 "skills 0.32.0"
4
4
  .SH NAME
5
5
  canon\-skills \- Install canon\*(Aqs agent guides into a repo
6
6
  .SH SYNOPSIS
@@ -45,4 +45,4 @@ Print diagnostics for canonical projections, the install lock\*(Aqs canon versio
45
45
  canon\-skills\-show(1)
46
46
  Print a guide built into this binary (markdown on stdout); the installed SKILL.md is a stub that points here
47
47
  .SH VERSION
48
- v0.30.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-status 1 "status 0.30.0"
3
+ .TH canon-status 1 "status 0.32.0"
4
4
  .SH NAME
5
5
  canon\-status \- Show where this repo stands: subjects by status, their gaps, and the next commands
6
6
  .SH SYNOPSIS
@@ -47,5 +47,10 @@ Examples:
47
47
 
48
48
  A read: exits 0 whatever it finds, and writes nothing. The counts come from the
49
49
  same joins `canon gate check` and `canon subject move` use.
50
+
51
+ `briefs` lists one entry per change the subject answers for: tagged by one of its
52
+ scenarios, with an `Approved:` line, or a chore; each has a status (approved,
53
+ unapproved, changed) and a reason. A never\-approved untagged feature change is a
54
+ pending draft (`pendingDrafts`) and blocks nothing. `statusVersion` is 4.
50
55
  .SH VERSION
51
- v0.30.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-strategy-approval-payload 1 "approval-payload 0.30.0"
3
+ .TH canon-strategy-approval-payload 1 "approval-payload 0.32.0"
4
4
  .SH NAME
5
5
  canon\-strategy\-approval\-payload \- The unsigned approval payload bytes an external signer signs (a read: identical arguments give identical bytes)
6
6
  .SH SYNOPSIS
@@ -50,4 +50,4 @@ Print version
50
50
  <\fISTRATEGY_ID\fR>
51
51
  The StrategyId (ULID) whose approval payload to print
52
52
  .SH VERSION
53
- v0.30.0
53
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-strategy-promote 1 "promote 0.30.0"
3
+ .TH canon-strategy-promote 1 "promote 0.32.0"
4
4
  .SH NAME
5
5
  canon\-strategy\-promote \- Promote a strategy after paired evaluation and signed approval
6
6
  .SH SYNOPSIS
@@ -56,4 +56,4 @@ Print version
56
56
  <\fISTRATEGY_ID\fR>
57
57
  The StrategyId (ULID) to promote
58
58
  .SH VERSION
59
- v0.30.0
59
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-strategy-rollback 1 "rollback 0.30.0"
3
+ .TH canon-strategy-rollback 1 "rollback 0.32.0"
4
4
  .SH NAME
5
5
  canon\-strategy\-rollback \- Disable an active strategy with durable rollback provenance
6
6
  .SH SYNOPSIS
7
- \fBcanon strategy rollback\fR [\fB\-\-as\fR] <\fB\-\-reason\fR> <\fB\-\-actor\-id\fR> <\fB\-\-signature\-file\fR> <\fB\-\-approval\-at\fR> [\fB\-\-contradicting\-trajectory\-id\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISTRATEGY_ID\fR>
7
+ \fBcanon strategy rollback\fR [\fB\-\-as\fR] <\fB\-\-reason\fR> <\fB\-\-actor\fR> <\fB\-\-signature\-file\fR> <\fB\-\-approval\-at\fR> [\fB\-\-contradicting\-trajectory\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISTRATEGY_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Disable an active strategy with durable rollback provenance
10
10
  .SH OPTIONS
@@ -29,7 +29,7 @@ orchestrator
29
29
  \fB\-\-reason\fR \fI<TEXT>\fR
30
30
  Why the strategy is rolled back (signed: `strategy:<id>:rollback:<sha256(reason)>`)
31
31
  .TP
32
- \fB\-\-actor\-id\fR \fI<ACTOR_ID>\fR
32
+ \fB\-\-actor\fR \fI<ACTOR_ID>\fR
33
33
  The approver; must be a policy\-pinned approver
34
34
  .TP
35
35
  \fB\-\-signature\-file\fR \fI<FILE>\fR
@@ -38,7 +38,7 @@ Detached signature file over the rollback payload
38
38
  \fB\-\-approval\-at\fR \fI<TIMESTAMP>\fR
39
39
  When the approver signed: RFC3339, or YYYY\-MM\-DD (UTC midnight)
40
40
  .TP
41
- \fB\-\-contradicting\-trajectory\-id\fR \fI<ID>\fR
41
+ \fB\-\-contradicting\-trajectory\fR \fI<ID>\fR
42
42
  A trajectory that contradicts the strategy (must exist in the trajectory store)
43
43
  .TP
44
44
  \fB\-\-repo\fR \fI<DIR>\fR
@@ -59,4 +59,4 @@ Print version
59
59
  <\fISTRATEGY_ID\fR>
60
60
  The StrategyId (ULID) to roll back
61
61
  .SH VERSION
62
- v0.30.0
62
+ v0.32.0
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-strategy 1 "strategy 0.30.0"
3
+ .TH canon-strategy 1 "strategy 0.32.0"
4
4
  .SH NAME
5
5
  canon\-strategy \- Promote a proven strategy into the git\-tracked tier
6
6
  .SH SYNOPSIS
@@ -42,4 +42,4 @@ The unsigned approval payload bytes an external signer signs (a read: identical
42
42
  canon\-strategy\-rollback(1)
43
43
  Disable an active strategy with durable rollback provenance
44
44
  .SH VERSION
45
- v0.30.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-subject-adopt 1 "adopt 0.30.0"
3
+ .TH canon-subject-adopt 1 "adopt 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject\-adopt \- Link an imported plan change to a subject (adopting it under another subject adds that subject; a change may belong to several)
6
6
  .SH SYNOPSIS
7
- \fBcanon subject adopt\fR [\fB\-\-as\fR] <\fB\-\-change\-id\fR> [\fB\-\-repo\fR] [\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
7
+ \fBcanon subject adopt\fR [\fB\-\-as\fR] <\fB\-\-change\fR> [\fB\-\-repo\fR] [\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Link an imported plan change to a subject (adopting it under another subject adds that subject; a change may belong to several)
10
10
  .SH OPTIONS
@@ -26,7 +26,7 @@ reviewer
26
26
  orchestrator
27
27
  .RE
28
28
  .TP
29
- \fB\-\-change\-id\fR \fI<CHANGE_ID>\fR
29
+ \fB\-\-change\fR \fI<CHANGE_ID>\fR
30
30
  The imported Change\*(Aqs id
31
31
  .TP
32
32
  \fB\-\-repo\fR \fI<DIR>\fR
@@ -50,4 +50,4 @@ Print version
50
50
  <\fISUBJECT_ID\fR>
51
51
  The subject to adopt the change under
52
52
  .SH VERSION
53
- v0.30.0
53
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-subject-move 1 "move 0.30.0"
3
+ .TH canon-subject-move 1 "move 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject\-move \- Move a subject to another lifecycle state (shipping is evidence\-gated; with spec_coverage.require_review, entering its scope is review\-gated; shipped → verifying reopens with \-\-reason)
6
6
  .SH SYNOPSIS
7
- \fBcanon subject move\fR [\fB\-\-as\fR] <\fB\-\-to\fR> [\fB\-\-override\-reason\fR] [\fB\-\-reason\fR] [\fB\-\-actor\-id\fR] [\fB\-\-session\-id\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
7
+ \fBcanon subject move\fR [\fB\-\-as\fR] <\fB\-\-to\fR> [\fB\-\-override\-reason\fR] [\fB\-\-reason\fR] [\fB\-\-actor\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] <\fISUBJECT_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Move a subject to another lifecycle state (shipping is evidence\-gated; with spec_coverage.require_review, entering its scope is review\-gated; shipped → verifying reopens with \-\-reason)
10
10
  .SH OPTIONS
@@ -53,10 +53,10 @@ Move anyway when only the require_review checks (unreviewed\-promotion, open\-bl
53
53
  \fB\-\-reason\fR \fI<TEXT>\fR
54
54
  Why the subject moves (required for shipped → verifying, optional on every other transition); recorded on the subject with the actor
55
55
  .TP
56
- \fB\-\-actor\-id\fR \fI<ACTOR_ID>\fR [default: canon]
56
+ \fB\-\-actor\fR \fI<ACTOR_ID>\fR [default: canon]
57
57
  The invoking actor\*(Aqs id, recorded with an \-\-override\-reason waiver or a \-\-reason
58
58
  .TP
59
- \fB\-\-session\-id\fR \fI<SESSION_ID>\fR
59
+ \fB\-\-session\fR \fI<SESSION_ID>\fR
60
60
  The acting session (recorded as actor.session_id); optional
61
61
  .TP
62
62
  \fB\-\-repo\fR \fI<DIR>\fR
@@ -77,4 +77,4 @@ Print version
77
77
  <\fISUBJECT_ID\fR>
78
78
  The subject to move
79
79
  .SH VERSION
80
- v0.30.0
80
+ v0.32.0
@@ -1,10 +1,10 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-subject-new 1 "new 0.30.0"
3
+ .TH canon-subject-new 1 "new 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject\-new \- Author a new subject at status `proposed`
6
6
  .SH SYNOPSIS
7
- \fBcanon subject new\fR [\fB\-\-as\fR] <\fB\-\-domain\fR> <\fB\-\-title\fR> [\fB\-\-summary\fR] [\fB\-\-owner\-role\fR] [\fB\-\-actor\-id\fR] [\fB\-\-session\-id\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
7
+ \fBcanon subject new\fR [\fB\-\-as\fR] <\fB\-\-domain\fR> <\fB\-\-title\fR> [\fB\-\-summary\fR] [\fB\-\-owner\-role\fR] [\fB\-\-actor\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] <\fISUBJECT_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Author a new subject at status `proposed`
10
10
  .SH OPTIONS
@@ -38,10 +38,10 @@ The subject\*(Aqs summary (optional)
38
38
  \fB\-\-owner\-role\fR \fI<ROLE>\fR [default: implementer]
39
39
  The accountable owning role (default: implementer)
40
40
  .TP
41
- \fB\-\-actor\-id\fR \fI<ACTOR_ID>\fR [default: canon]
41
+ \fB\-\-actor\fR \fI<ACTOR_ID>\fR [default: canon]
42
42
  The invoking actor\*(Aqs id
43
43
  .TP
44
- \fB\-\-session\-id\fR \fI<SESSION_ID>\fR
44
+ \fB\-\-session\fR \fI<SESSION_ID>\fR
45
45
  The acting session (recorded as actor.session_id); optional
46
46
  .TP
47
47
  \fB\-\-repo\fR \fI<DIR>\fR
@@ -62,4 +62,4 @@ Print version
62
62
  <\fISUBJECT_ID\fR>
63
63
  The subject\*(Aqs kebab\-slug id
64
64
  .SH VERSION
65
- v0.30.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-subject-show 1 "show 0.30.0"
3
+ .TH canon-subject-show 1 "show 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject\-show \- Show a subject (read\-only)
6
6
  .SH SYNOPSIS
@@ -41,4 +41,4 @@ Print version
41
41
  <\fISUBJECT_ID\fR>
42
42
  The subject to show
43
43
  .SH VERSION
44
- v0.30.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-subject-unadopt 1 "unadopt 0.30.0"
3
+ .TH canon-subject-unadopt 1 "unadopt 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject\-unadopt \- Take a change back out of a subject (the mirror of adopt; refused for a change whose brief is approved)
6
6
  .SH SYNOPSIS
7
- \fBcanon subject unadopt\fR [\fB\-\-as\fR] <\fB\-\-change\-id\fR> [\fB\-\-repo\fR] [\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
7
+ \fBcanon subject unadopt\fR [\fB\-\-as\fR] <\fB\-\-change\fR> [\fB\-\-repo\fR] [\fB\-\-dry\-run\fR] [\fB\-\-json\fR] [\fB\-\-input\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fISUBJECT_ID\fR>
8
8
  .SH DESCRIPTION
9
9
  Take a change back out of a subject (the mirror of adopt; refused for a change whose brief is approved)
10
10
  .SH OPTIONS
@@ -26,7 +26,7 @@ reviewer
26
26
  orchestrator
27
27
  .RE
28
28
  .TP
29
- \fB\-\-change\-id\fR \fI<CHANGE_ID>\fR
29
+ \fB\-\-change\fR \fI<CHANGE_ID>\fR
30
30
  The change to take out of the subject
31
31
  .TP
32
32
  \fB\-\-repo\fR \fI<DIR>\fR
@@ -51,7 +51,7 @@ Print version
51
51
  The subject to take the change out of
52
52
  .SH EXTRA
53
53
  Examples:
54
- canon subject unadopt demo \-\-change\-id add\-login
54
+ canon subject unadopt demo \-\-change add\-login
55
55
 
56
56
  Removes the link on both sides (the subject\*(Aqs change list and the change\*(Aqs
57
57
  subject list). The change and its brief stay and can be adopted elsewhere, for
@@ -60,4 +60,4 @@ change whose brief carries an `Approved:` line: it is the subject\*(Aqs approved
60
60
  scope, and for a change a scenario the subject owns is tagged
61
61
  `@flow:<change>.*` for (remove or retag it first). A pair that is not linked writes nothing and exits 0.
62
62
  .SH VERSION
63
- v0.30.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-subject 1 "subject 0.30.0"
3
+ .TH canon-subject 1 "subject 0.32.0"
4
4
  .SH NAME
5
5
  canon\-subject \- Create and manage subjects (durable product units)
6
6
  .SH SYNOPSIS
@@ -48,4 +48,4 @@ Show a subject (read\-only)
48
48
  canon\-subject\-move(1)
49
49
  Move a subject to another lifecycle state (shipping is evidence\-gated; with spec_coverage.require_review, entering its scope is review\-gated; shipped → verifying reopens with \-\-reason)
50
50
  .SH VERSION
51
- v0.30.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-task-done 1 "done 0.30.0"
3
+ .TH canon-task-done 1 "done 0.32.0"
4
4
  .SH NAME
5
5
  canon\-task\-done \- Flip one task checkbox, gated on real evidence (fails closed)
6
6
  .SH SYNOPSIS
@@ -44,4 +44,4 @@ Print version
44
44
  <\fITASK_ID\fR>
45
45
  The task id (<change_id>#<n>)
46
46
  .SH VERSION
47
- v0.30.0
47
+ v0.32.0
package/man/canon-task.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-task 1 "task 0.30.0"
3
+ .TH canon-task 1 "task 0.32.0"
4
4
  .SH NAME
5
5
  canon\-task \- Flip a plan task\*(Aqs checkbox once committed evidence supports it
6
6
  .SH SYNOPSIS
@@ -39,4 +39,4 @@ Flip one task checkbox, gated on real evidence (fails closed)
39
39
  Examples:
40
40
  canon task done my\-change#3
41
41
  .SH VERSION
42
- v0.30.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-tier-age 1 "age 0.30.0"
3
+ .TH canon-tier-age 1 "age 0.32.0"
4
4
  .SH NAME
5
5
  canon\-tier\-age \- Apply canon.yaml aging rules, moving old records to their destination tier
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.30.0
50
+ v0.32.0
package/man/canon-tier.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon-tier 1 "tier 0.30.0"
3
+ .TH canon-tier 1 "tier 0.32.0"
4
4
  .SH NAME
5
5
  canon\-tier \- Age records between storage tiers
6
6
  .SH SYNOPSIS
@@ -36,4 +36,4 @@ Print version
36
36
  canon\-tier\-age(1)
37
37
  Apply canon.yaml aging rules, moving old records to their destination tier
38
38
  .SH VERSION
39
- v0.30.0
39
+ v0.32.0
@@ -0,0 +1,56 @@
1
+ .ie \n(.g .ds Aq \(aq
2
+ .el .ds Aq '
3
+ .TH canon-trace 1 "trace 0.32.0"
4
+ .SH NAME
5
+ canon\-trace \- Follow a finding\*(Aqs review loop in time order: review, finding, fix, re\-review, evidence
6
+ .SH SYNOPSIS
7
+ \fBcanon trace\fR [\fB\-\-as\fR] [\fB\-\-repo\fR] [\fB\-\-json\fR] [\fB\-h\fR|\fB\-\-help\fR] [\fB\-V\fR|\fB\-\-version\fR] <\fIID\fR>
8
+ .SH DESCRIPTION
9
+ Follow a finding\*(Aqs review loop in time order: review, finding, fix, re\-review, evidence
10
+ .SH OPTIONS
11
+ .TP
12
+ \fB\-\-as\fR \fI<ROLE>\fR
13
+ The role you act as: planner, implementer, reviewer or orchestrator. Overrides `CANON_ROLE`. `schema` and `context` list only the role\*(Aqs commands, `status` keeps its steps, and `\-\-role` on `evidence add` / `evidence audit` / `review scenario` / `review change` defaults to it
14
+ .br
15
+
16
+ .br
17
+ \fIPossible values:\fR
18
+ .RS 14
19
+ .IP \(bu 2
20
+ planner
21
+ .IP \(bu 2
22
+ implementer
23
+ .IP \(bu 2
24
+ reviewer
25
+ .IP \(bu 2
26
+ orchestrator
27
+ .RE
28
+ .TP
29
+ \fB\-\-repo\fR \fI<DIR>\fR
30
+ The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
31
+ .TP
32
+ \fB\-\-json\fR
33
+ Output JSON instead of the human\-readable form
34
+ .TP
35
+ \fB\-h\fR, \fB\-\-help\fR
36
+ Print help
37
+ .TP
38
+ \fB\-V\fR, \fB\-\-version\fR
39
+ Print version
40
+ .TP
41
+ <\fIID\fR>
42
+ A review id (26 characters), a commit sha (7 to 40 hex digits, the first characters are enough) or a finding key (`<change>_<round>_<seq>`, as `canon query \-\-kind finding` shows it)
43
+ .SH EXTRA
44
+ Examples:
45
+ canon trace s43\-findings\-are\-records_1_2
46
+ canon trace 5fa1e16 \-\-json
47
+ canon trace 01J9ZXQ4M2K7V8R3T5W6Y0N1PA
48
+
49
+ The operand is a finding key, a commit sha (the first 7 or more characters) or a review id. The
50
+ chain holds every record joined to it by the review loop (the review that raised a finding, the
51
+ refix commit, the re\-review pinned at it, the evidence at those commits), one entry per version,
52
+ the ledger archive\*(Aqs old versions included, oldest first. Reads the same derived index as
53
+ `canon search`. Exit 2 for an id no record says, an ambiguous sha prefix or an operand of none
54
+ of the three shapes.
55
+ .SH VERSION
56
+ v0.32.0
package/man/canon.1 CHANGED
@@ -1,6 +1,6 @@
1
1
  .ie \n(.g .ds Aq \(aq
2
2
  .el .ds Aq '
3
- .TH canon 1 "canon 0.30.0"
3
+ .TH canon 1 "canon 0.32.0"
4
4
  .SH NAME
5
5
  canon \- Specs, evidence gates, and agent memory for your repo
6
6
  .SH SYNOPSIS
@@ -120,6 +120,12 @@ Build a canonical regime key for hook scripts
120
120
  canon\-query(1)
121
121
  Read stored records across every storage tier
122
122
  .TP
123
+ canon\-search(1)
124
+ Search records, brief sections and scenario text, with each hit\*(Aqs neighbors in the record graph
125
+ .TP
126
+ canon\-trace(1)
127
+ Follow a finding\*(Aqs review loop in time order: review, finding, fix, re\-review, evidence
128
+ .TP
123
129
  canon\-export(1)
124
130
  Export a redacted retention manifest without deleting records
125
131
  .TP
@@ -166,4 +172,4 @@ Learn more:
166
172
  plus the script sidecar; `skills check` and `skills doctor` inspect the
167
173
  target without deleting user files.
168
174
  .SH VERSION
169
- v0.30.0
175
+ v0.32.0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@journeykit/canon",
3
- "version": "0.30.0",
3
+ "version": "0.32.0",
4
4
  "description": "canon — harness knowledge substrate. JS launcher: platform detection + native binary resolution.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -34,9 +34,9 @@
34
34
  },
35
35
  "dependencies": {},
36
36
  "optionalDependencies": {
37
- "@journeykit/canon-core-darwin-arm64": "0.30.0",
38
- "@journeykit/canon-core-linux-x64": "0.30.0",
39
- "@journeykit/canon-core-win32-x64": "0.30.0"
37
+ "@journeykit/canon-core-darwin-arm64": "0.32.0",
38
+ "@journeykit/canon-core-linux-x64": "0.32.0",
39
+ "@journeykit/canon-core-win32-x64": "0.32.0"
40
40
  },
41
41
  "devDependencies": {
42
42
  "@types/node": "^20.0.0",