@journeykit/canon 0.35.0 → 0.36.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.
- package/dist/skills/SKILL.src.md +29 -19
- package/dist/skills/reference/canon-authoring.md +3 -2
- package/dist/skills/reference/canon-gate.md +18 -14
- package/dist/skills/reference/canon-inventory.md +3 -1
- package/dist/skills/reference/canon-policy.md +3 -3
- package/dist/skills/reference/canon-report-dashboard.md +5 -5
- package/dist/skills/reference/canon-review.md +7 -6
- package/dist/skills/reference/canon-storage.md +2 -2
- package/dist/skills/reference/canon-subject.md +20 -19
- package/dist/skills/reference/role-implementer.md +5 -5
- package/dist/skills/reference/role-orchestrator.md +22 -21
- package/dist/skills/reference/role-planner.md +7 -7
- package/dist/skills/reference/role-reviewer.md +7 -7
- package/man/canon-adapter-authorize.1 +2 -2
- package/man/canon-adapter-validate.1 +2 -2
- package/man/canon-adapter.1 +2 -2
- package/man/canon-artifacts-move.1 +6 -6
- package/man/canon-artifacts-store.1 +2 -2
- package/man/canon-artifacts-verify.1 +2 -2
- package/man/canon-artifacts.1 +2 -2
- package/man/canon-brief-approve.1 +5 -4
- package/man/canon-brief-check.1 +2 -2
- package/man/canon-brief-show.1 +2 -2
- package/man/canon-brief.1 +2 -2
- package/man/canon-change-new.1 +2 -2
- package/man/canon-change.1 +2 -2
- package/man/canon-completion.1 +2 -2
- package/man/canon-context-pack-add.1 +2 -2
- package/man/canon-context-pack-show.1 +2 -2
- package/man/canon-context-pack-verify.1 +2 -2
- package/man/canon-context-pack.1 +2 -2
- package/man/canon-context.1 +2 -2
- package/man/canon-dashboard.1 +2 -2
- package/man/canon-demo-init.1 +2 -2
- package/man/canon-demo-review.1 +2 -2
- package/man/canon-demo.1 +2 -2
- package/man/canon-dispatch-begin.1 +2 -2
- package/man/canon-dispatch-diff.1 +2 -2
- package/man/canon-dispatch-end.1 +2 -2
- package/man/canon-dispatch.1 +2 -2
- package/man/canon-divergence-accept.1 +2 -2
- package/man/canon-divergence-add.1 +3 -3
- package/man/canon-divergence-defer.1 +3 -3
- package/man/canon-divergence-list.1 +2 -2
- package/man/canon-divergence-resolve.1 +3 -3
- package/man/canon-divergence.1 +2 -2
- package/man/canon-evidence-add.1 +5 -5
- package/man/canon-evidence-approval-payload.1 +3 -3
- package/man/canon-evidence-audit.1 +4 -4
- package/man/canon-evidence.1 +2 -2
- package/man/canon-export.1 +2 -2
- package/man/canon-feature-new.1 +2 -2
- package/man/canon-feature.1 +2 -2
- package/man/canon-finding-add.1 +3 -3
- package/man/canon-finding-close.1 +2 -2
- package/man/canon-finding-list.1 +2 -2
- package/man/canon-finding.1 +2 -2
- package/man/canon-format.1 +2 -2
- package/man/canon-gate-check.1 +2 -2
- package/man/canon-gate-install-hooks.1 +2 -2
- package/man/canon-gate-promote.1 +2 -2
- package/man/canon-gate.1 +2 -2
- package/man/canon-ingest-plans.1 +2 -2
- package/man/canon-ingest-records.1 +2 -2
- package/man/canon-ingest-sessions.1 +2 -2
- package/man/canon-ingest.1 +2 -2
- package/man/canon-init.1 +2 -2
- package/man/canon-inventory-sync.1 +2 -2
- package/man/canon-inventory.1 +2 -2
- package/man/canon-ledger-compact.1 +5 -5
- package/man/canon-ledger.1 +3 -3
- package/man/canon-migrate.1 +8 -8
- package/man/canon-plugin-sync.1 +2 -2
- package/man/canon-plugin.1 +2 -2
- package/man/canon-policy-approve.1 +2 -2
- package/man/canon-policy-show.1 +2 -2
- package/man/canon-policy.1 +2 -2
- package/man/canon-prompt-add.1 +2 -2
- package/man/canon-prompt-show.1 +2 -2
- package/man/canon-prompt.1 +2 -2
- package/man/canon-purge.1 +7 -7
- package/man/canon-query.1 +2 -2
- package/man/canon-regime-show.1 +2 -2
- package/man/canon-regime.1 +2 -2
- package/man/canon-report-build.1 +2 -2
- package/man/canon-report-check.1 +2 -2
- package/man/canon-report-snapshot.1 +2 -2
- package/man/canon-report.1 +2 -2
- package/man/canon-retrieve.1 +2 -2
- package/man/canon-review-change.1 +3 -3
- package/man/canon-review-scenario.1 +3 -3
- package/man/canon-review.1 +2 -2
- package/man/canon-scenario-new.1 +2 -2
- package/man/canon-scenario.1 +2 -2
- package/man/canon-schema.1 +10 -4
- package/man/canon-search.1 +2 -2
- package/man/canon-selftest.1 +2 -2
- package/man/canon-skills-check.1 +2 -2
- package/man/canon-skills-doctor.1 +2 -2
- package/man/canon-skills-install.1 +2 -2
- package/man/canon-skills-show.1 +2 -2
- package/man/canon-skills.1 +2 -2
- package/man/canon-status.1 +2 -2
- package/man/canon-strategy-approval-payload.1 +2 -2
- package/man/canon-strategy-promote.1 +2 -2
- package/man/canon-strategy-rollback.1 +2 -2
- package/man/canon-strategy.1 +2 -2
- package/man/canon-subject-adopt.1 +2 -2
- package/man/canon-subject-move.1 +2 -2
- package/man/canon-subject-new.1 +2 -2
- package/man/canon-subject-show.1 +2 -2
- package/man/canon-subject-unadopt.1 +3 -3
- package/man/canon-subject.1 +2 -2
- package/man/canon-task-done.1 +2 -2
- package/man/canon-task.1 +2 -2
- package/man/canon-tier-age.1 +5 -5
- package/man/canon-tier.1 +2 -2
- package/man/canon-trace.1 +2 -2
- package/man/canon.1 +3 -3
- package/package.json +4 -4
|
@@ -4,7 +4,7 @@ You run the loop across agents and move the subject. You write no brief,
|
|
|
4
4
|
code or review yourself. Declare the role with `CANON_ROLE=orchestrator` (or
|
|
5
5
|
`--as orchestrator`); your `canon status` also lists the human's steps. The
|
|
6
6
|
human's acts (`brief approve`, `policy approve`, `divergence accept`) refuse
|
|
7
|
-
every agent role, you included (`
|
|
7
|
+
every agent role, you included (`ACTOR_DENIED`), unless you record the answer the
|
|
8
8
|
human gave you in the conversation with `--relayed-via <tool>` (below). You never
|
|
9
9
|
run them without that answer, and never remove or unset your role (`env -u CANON_ROLE`,
|
|
10
10
|
dropping `--as`) to get past the refusal.
|
|
@@ -18,7 +18,7 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
|
|
|
18
18
|
<command> --json` only for a leaf this block does not list, or after a `USAGE` refusal.
|
|
19
19
|
|
|
20
20
|
<!-- canon:generated commands-orchestrator begin -->
|
|
21
|
-
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `regime show`, `schema`, `selftest`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
21
|
+
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `regime show`, `schema`, `selftest`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array; none is the key left out, `[]` is refused), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
22
22
|
A `usage:` line shows the syntax and is not itself a command to run (the runnable example under it is): `<X>` is a value, `[x]` optional, `a | b` a choice, `(a | b)` exactly one is required, `[--x <V>]*` may repeat, `<X>+` is one or more, `[--a --b <V>]` go together. An option that is not on the line does not exist: it is refused (`USAGE`).
|
|
23
23
|
|
|
24
24
|
```text
|
|
@@ -37,8 +37,8 @@ canon adapter validate --response adapter-response.json --json
|
|
|
37
37
|
```
|
|
38
38
|
```text
|
|
39
39
|
# Move the local artifact blobs to an object-store tier, verify them, and remove the local copies
|
|
40
|
-
usage: canon artifacts move --tier <TIER> [--commit --plan-digest <
|
|
41
|
-
# a bare run previews and prints planDigest; `--commit --plan-digest <
|
|
40
|
+
usage: canon artifacts move --tier <TIER> [--commit --plan-digest <PLAN_DIGEST>] [--input]
|
|
41
|
+
# a bare run previews and prints planDigest; `--commit --plan-digest <PLAN_DIGEST>` with that digest acts
|
|
42
42
|
```
|
|
43
43
|
```bash
|
|
44
44
|
canon artifacts move --tier cold --json
|
|
@@ -220,16 +220,16 @@ canon inventory sync --json
|
|
|
220
220
|
```
|
|
221
221
|
```text
|
|
222
222
|
# Move superseded versions of every record out of the ledger into the archive
|
|
223
|
-
usage: canon ledger compact [--commit --plan-digest <
|
|
224
|
-
# a bare run previews and prints planDigest; `--commit --plan-digest <
|
|
223
|
+
usage: canon ledger compact [--commit --plan-digest <PLAN_DIGEST>] [--input]
|
|
224
|
+
# a bare run previews and prints planDigest; `--commit --plan-digest <PLAN_DIGEST>` with that digest acts
|
|
225
225
|
```
|
|
226
226
|
```bash
|
|
227
227
|
canon ledger compact --json
|
|
228
228
|
```
|
|
229
229
|
```text
|
|
230
230
|
# Bring a repo from an earlier canon up to date
|
|
231
|
-
usage: canon migrate [--commit --plan-digest <
|
|
232
|
-
# a bare run previews and prints planDigest; `--commit --plan-digest <
|
|
231
|
+
usage: canon migrate [--commit --plan-digest <PLAN_DIGEST>] [--revert | --relayed-via <NAME>] [--backup <DIR> (with --revert)] [--actor <ACTOR_ID> (with --relayed-via)] [--approver <NAME> (with --relayed-via)] [--note <TEXT> (with --relayed-via)] [--input]
|
|
232
|
+
# a bare run previews and prints planDigest; `--commit --plan-digest <PLAN_DIGEST>` with that digest acts
|
|
233
233
|
```
|
|
234
234
|
```bash
|
|
235
235
|
canon migrate --json
|
|
@@ -264,8 +264,8 @@ canon prompt show reviewer@v1 --json
|
|
|
264
264
|
```
|
|
265
265
|
```text
|
|
266
266
|
# Remove allowlisted records older than a cutoff
|
|
267
|
-
usage: canon purge --kind <session|run|event|trajectory> --before <TIMESTAMP> [--commit --plan-digest <
|
|
268
|
-
# a bare run previews and prints planDigest; `--commit --plan-digest <
|
|
267
|
+
usage: canon purge --kind <session|run|event|trajectory> --before <TIMESTAMP> [--commit --plan-digest <PLAN_DIGEST>] [--input]
|
|
268
|
+
# a bare run previews and prints planDigest; `--commit --plan-digest <PLAN_DIGEST>` with that digest acts
|
|
269
269
|
```
|
|
270
270
|
```bash
|
|
271
271
|
canon purge --kind session --before 2020-01-01T00:00:00Z --json
|
|
@@ -314,7 +314,7 @@ canon retrieve --for-role reviewer --domain dev --limit 20 --json
|
|
|
314
314
|
```
|
|
315
315
|
```text
|
|
316
316
|
# Describe canon's own commands
|
|
317
|
-
usage: canon schema [<PATH>]* [--
|
|
317
|
+
usage: canon schema [<PATH>]* [--schemas | --error <CODE> | --errors | --warning <CODE> | --warnings]
|
|
318
318
|
```
|
|
319
319
|
```bash
|
|
320
320
|
canon schema evidence add --json
|
|
@@ -426,8 +426,8 @@ canon subject unadopt demo --change add-login --json
|
|
|
426
426
|
```
|
|
427
427
|
```text
|
|
428
428
|
# Apply canon.yaml aging rules, moving old records to their destination tier
|
|
429
|
-
usage: canon tier age [--commit --plan-digest <
|
|
430
|
-
# a bare run previews and prints planDigest; `--commit --plan-digest <
|
|
429
|
+
usage: canon tier age [--commit --plan-digest <PLAN_DIGEST>] [--input]
|
|
430
|
+
# a bare run previews and prints planDigest; `--commit --plan-digest <PLAN_DIGEST>` with that digest acts
|
|
431
431
|
```
|
|
432
432
|
```bash
|
|
433
433
|
canon tier age --json
|
|
@@ -527,16 +527,16 @@ Approve or fill the form. On their approval record it: `canon brief approve
|
|
|
527
527
|
<ask|AskUserQuestion|chat> --actor <your actor id> --digest <slug>=<the digest
|
|
528
528
|
shown>` (several slugs take one answer, each with its own `--digest`; nothing is written
|
|
529
529
|
if one is refused). The record says you recorded it, with your role, actor and
|
|
530
|
-
tool. `
|
|
530
|
+
tool. `RELAY_DIGEST_STALE` means the brief changed after they saw it: show it
|
|
531
531
|
again. When `canon.yaml` has `approval: { relay: deny }` the call is refused
|
|
532
|
-
(`
|
|
532
|
+
(`ACTOR_DENIED`, naming the key): report the human's own call and wait for them to
|
|
533
533
|
run it. Removing or unsetting your declared role (`env -u CANON_ROLE`,
|
|
534
534
|
dropping `--as`) to get past a refusal is the same act under another label.
|
|
535
535
|
`canon skills show role-planner` has the full procedure. Do not start the
|
|
536
536
|
implementer before `canon brief show <slug>` reports `state: approved`.
|
|
537
537
|
Never approve it yourself and never edit the policy to pass the gate. A
|
|
538
538
|
policy that no longer matches the approval fails closed
|
|
539
|
-
(`
|
|
539
|
+
(`POLICY_APPROVAL_STALE`, or `POLICY_APPROVAL_CORRUPT`): the ship
|
|
540
540
|
guard and the reopen refuse, and `--override-reason` does not waive it. Run
|
|
541
541
|
`canon policy show`, then show the policy to the human, ask them to re-approve
|
|
542
542
|
and record their explicit answer (`canon policy approve --approver <their name>
|
|
@@ -576,7 +576,7 @@ its preview, never from an old digest.
|
|
|
576
576
|
|
|
577
577
|
| The thought | The reality |
|
|
578
578
|
|---|---|
|
|
579
|
-
| "Edit the policy so the gate passes." | A changed policy fails closed (`
|
|
579
|
+
| "Edit the policy so the gate passes." | A changed policy fails closed (`POLICY_APPROVAL_STALE`); ask the human to re-approve or restore it from git. |
|
|
580
580
|
| "The reviewer can be me under another label." | The reviewer is a separate process with its own real session id (#39). |
|
|
581
581
|
| "Approve the brief; the human said they are busy." | An answer they did not give is not recorded. Show the brief, ask, and record only an explicit approval with `--relayed-via`. |
|
|
582
582
|
| "Override the refusal to ship." | Fix the gap the refusal names; `--override-reason` waives only the `require_review` gaps and the brief gap, is recorded on the subject, and is for the human's call, not a shortcut. |
|
|
@@ -591,7 +591,8 @@ directly (a transition is a state change, not a destructive act) and is not
|
|
|
591
591
|
repeatable: a move to the state the subject is already in is refused
|
|
592
592
|
(exit 2), so after a lost response read `subject show` before you retry.
|
|
593
593
|
It refuses a move the policy does not allow (missing evidence or reviews,
|
|
594
|
-
open blockers, an unapproved brief) with
|
|
594
|
+
open blockers, an unapproved brief) with exit 2 and the code of the condition
|
|
595
|
+
(`SUBJECT_APPROVAL_REQUIRED` for a missing review, evidence or approval, `EVIDENCE_STALE`, `SUBJECT_INVALID` for the rest; several causes are `error.details[]`),
|
|
595
596
|
the record unchanged; fix the gap rather than overriding. Move to `shipped`
|
|
596
597
|
yourself once its guard passes, unless the brief says the human ships. A
|
|
597
598
|
follow-up on a shipped subject goes back to `verifying` with `--reason`,
|
|
@@ -614,7 +615,7 @@ red. A bad `--to` fails with `error.field` `--to` and `error.expected`
|
|
|
614
615
|
listing the states.
|
|
615
616
|
|
|
616
617
|
**Done when:** `canon subject show demo` (the subject's id) reports the
|
|
617
|
-
state you moved it to and `canon gate check` is clean; when the move exits
|
|
618
|
+
state you moved it to and `canon gate check` is clean; when the move exits 2,
|
|
618
619
|
read the refusal in `error` of `canon subject move demo --to shipped --json`.
|
|
619
620
|
|
|
620
621
|
## Destructive commands preview first
|
|
@@ -629,7 +630,7 @@ digits, over the effects and what the plan read, so a file or record the plan
|
|
|
629
630
|
read that changed since is `PLAN_STALE` too, and `meta.next[0]` is the preview
|
|
630
631
|
to run again. A commit holds the repository write lock for its whole run:
|
|
631
632
|
another command that writes waits for it, and one that waited 30 seconds
|
|
632
|
-
answers `
|
|
633
|
+
answers `REPO_LOCK_UNAVAILABLE` (exit 2, retryable): run it again. A document passed
|
|
633
634
|
with `--input` never carries `--commit` or `--plan-digest`, and these five
|
|
634
635
|
leaves take one object only (`INPUT_INVALID`).
|
|
635
636
|
|
|
@@ -675,7 +676,7 @@ canon skills install
|
|
|
675
676
|
moves: commit first. In CI run it with full history (`fetch-depth: 0`).
|
|
676
677
|
3. `canon skills install` refreshes the stub and the scripts for the selected
|
|
677
678
|
harnesses; `canon skills check` reports a skill written by another canon
|
|
678
|
-
version (exit 1, `
|
|
679
|
+
version (exit 1, `SKILLS_CHECK_FAILED`), `canon skills doctor` explains it.
|
|
679
680
|
|
|
680
681
|
Commit what it changes, except the backup: `.canon/migrate-backup/` is local and
|
|
681
682
|
git-ignored, and `canon migrate --revert` needs it (keep it until you are sure).
|
|
@@ -6,7 +6,7 @@ brief the human answers once. You build nothing. Declare the role with
|
|
|
6
6
|
then show your steps and count the rest under `waitingOn`. The approvals are
|
|
7
7
|
the human's: `brief approve`, `policy approve`, `divergence accept` and the
|
|
8
8
|
`migrate --commit` that re-binds `Approved:` lines refuse every agent role
|
|
9
|
-
(`
|
|
9
|
+
(`ACTOR_DENIED`, `retryable: false`) unless you record the answer the human gave
|
|
10
10
|
you in the conversation, with `--relayed-via <tool>` (step 4). Without a human's
|
|
11
11
|
explicit answer you never run them, and you never remove or unset your role
|
|
12
12
|
(`env -u CANON_ROLE`, dropping `--as`) to get past the refusal.
|
|
@@ -20,7 +20,7 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
|
|
|
20
20
|
<command> --json` only for a leaf this block does not list, or after a `USAGE` refusal.
|
|
21
21
|
|
|
22
22
|
<!-- canon:generated commands-planner begin -->
|
|
23
|
-
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
23
|
+
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array; none is the key left out, `[]` is refused), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
24
24
|
A `usage:` line shows the syntax and is not itself a command to run (the runnable example under it is): `<X>` is a value, `[x]` optional, `a | b` a choice, `(a | b)` exactly one is required, `[--x <V>]*` may repeat, `<X>+` is one or more, `[--a --b <V>]` go together. An option that is not on the line does not exist: it is refused (`USAGE`).
|
|
25
25
|
|
|
26
26
|
```text
|
|
@@ -116,7 +116,7 @@ canon scenario new auth.login.02 --title "Sign out" --feature .canon/specs/kind=
|
|
|
116
116
|
```
|
|
117
117
|
```text
|
|
118
118
|
# Describe canon's own commands
|
|
119
|
-
usage: canon schema [<PATH>]* [--
|
|
119
|
+
usage: canon schema [<PATH>]* [--schemas | --error <CODE> | --errors | --warning <CODE> | --warnings]
|
|
120
120
|
```
|
|
121
121
|
```bash
|
|
122
122
|
canon schema evidence add --json
|
|
@@ -183,7 +183,7 @@ lists N blockers`); then, while prose advisories remain, to the polish pass
|
|
|
183
183
|
(`polish the brief in <path> (canon skills show brief-polish), then run canon
|
|
184
184
|
brief check <slug>`, with the advisory count and the top rule
|
|
185
185
|
ids); the human step comes after it. A policy that no longer matches its approval fails closed
|
|
186
|
-
(`
|
|
186
|
+
(`POLICY_APPROVAL_STALE`): never edit it; the human re-approves.
|
|
187
187
|
|
|
188
188
|
## Steps
|
|
189
189
|
|
|
@@ -286,9 +286,9 @@ ids); the human step comes after it. A policy that no longer matches its approva
|
|
|
286
286
|
show` and the dashboard name it. Never approve in their name without their
|
|
287
287
|
answer, never write the answer for them, and never edit the policy to make
|
|
288
288
|
the gate pass. A digest that differs from the brief now
|
|
289
|
-
(`
|
|
289
|
+
(`RELAY_DIGEST_STALE`) means the brief changed after they saw it: show
|
|
290
290
|
it again and ask again; nothing was written. Without `--relayed-via` the call is
|
|
291
|
-
`
|
|
291
|
+
`ACTOR_DENIED`; with it and no role declared, `USAGE`. When `canon.yaml`
|
|
292
292
|
turns relaying off (`approval: { relay: deny }`), the refusal names that key:
|
|
293
293
|
report the human's call (`canon brief approve add-login --approver <their
|
|
294
294
|
name> --note "<their own words>"`) and wait for them to run it. Never
|
|
@@ -300,7 +300,7 @@ ids); the human step comes after it. A policy that no longer matches its approva
|
|
|
300
300
|
evidence with its reason and tracking reference, the migrate plan), ask,
|
|
301
301
|
count only an explicit approval, then record with the relay option.
|
|
302
302
|
`canon brief show <slug>` then reports `state: approved`. A brief edited
|
|
303
|
-
after its approval is not approved (`
|
|
303
|
+
after its approval is not approved (`BRIEF_APPROVAL_STALE`): it
|
|
304
304
|
needs a new answer, shown and asked again, and a new `brief approve`. A follow-up that
|
|
305
305
|
adds or changes a step of the brief is a scope change and needs a new
|
|
306
306
|
answer.
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
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
|
-
acts refuse you (`
|
|
6
|
+
acts refuse you (`ACTOR_DENIED`): `brief approve`, `policy approve` and
|
|
7
7
|
`divergence accept`, unless you record the answer the human gave you in the
|
|
8
8
|
conversation with `--relayed-via <tool>` (the divergence acceptance below).
|
|
9
9
|
Name what the human has to decide; never look for another flag that grants it.
|
|
@@ -19,7 +19,7 @@ in your ids. Use only the options on a line; never guess one. Ask `canon schema
|
|
|
19
19
|
<command> --json` only for a leaf this block does not list, or after a `USAGE` refusal.
|
|
20
20
|
|
|
21
21
|
<!-- canon:generated commands-reviewer begin -->
|
|
22
|
-
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
22
|
+
Every leaf takes `--as <ROLE>` and `--json`; `--repo <DIR>` too, except `completion`, `schema`, `skills show`. `--input <JSON|FILE|->` runs a leaf from one JSON document (an array is a batch) and is only on the lines ending `[--input]`. Its document keys are the option names in camelCase, singular even when the option repeats (the value is then an array; none is the key left out, `[]` is refused), and `operands` holds the operands. `--fields <FIELDS>` is a comma list of the paths `canon schema <COMMAND> --json` declares under `outputs[].fields.paths`; a path is the record's own key, spelled as the answer spells it.
|
|
23
23
|
A `usage:` line shows the syntax and is not itself a command to run (the runnable example under it is): `<X>` is a value, `[x]` optional, `a | b` a choice, `(a | b)` exactly one is required, `[--x <V>]*` may repeat, `<X>+` is one or more, `[--a --b <V>]` go together. An option that is not on the line does not exist: it is refused (`USAGE`).
|
|
24
24
|
|
|
25
25
|
```text
|
|
@@ -143,7 +143,7 @@ canon review scenario auth.login.01 --actor alice --role reviewer --original-spe
|
|
|
143
143
|
```
|
|
144
144
|
```text
|
|
145
145
|
# Describe canon's own commands
|
|
146
|
-
usage: canon schema [<PATH>]* [--
|
|
146
|
+
usage: canon schema [<PATH>]* [--schemas | --error <CODE> | --errors | --warning <CODE> | --warnings]
|
|
147
147
|
```
|
|
148
148
|
```bash
|
|
149
149
|
canon schema evidence add --json
|
|
@@ -288,7 +288,7 @@ sign.
|
|
|
288
288
|
`divergence accept` is for a scenario whose honest evidence is `divergent`
|
|
289
289
|
and whose gap is limited by something outside this change (an upstream
|
|
290
290
|
limit, a platform bug) and is tracked there. It records a human's decision,
|
|
291
|
-
so it refuses every agent role (`
|
|
291
|
+
so it refuses every agent role (`ACTOR_DENIED`), you included, unless it records
|
|
292
292
|
the answer the human gave you. What you do: confirm the evidence really is
|
|
293
293
|
divergent and the limit is outside this change, then put to the human the
|
|
294
294
|
scenario ids, the reason, the tracking reference and an expiry when the limit
|
|
@@ -297,11 +297,11 @@ Ask with the harness question tool (`ask` in omp, `AskUserQuestion` in Claude
|
|
|
297
297
|
Code, otherwise in the chat): accept the gap, or not. Only an explicit
|
|
298
298
|
approval counts; a question or a condition is not one, and no answer records
|
|
299
299
|
nothing. Then record it from a session that did not attest the evidence
|
|
300
|
-
(`
|
|
300
|
+
(`DIVERGENCE_DENIED` otherwise): `canon divergence accept <ids> --actor
|
|
301
301
|
<your actor id> --reason "<why>" --tracking <ref> --approver <their name> --note
|
|
302
302
|
"<their answer>" --relayed-via <tool>`; the record carries the relay, the
|
|
303
303
|
approver and their answer. When `canon.yaml` has `approval: { relay: deny }` the
|
|
304
|
-
call is refused (`
|
|
304
|
+
call is refused (`ACTOR_DENIED`, naming the key) and the human runs it themselves.
|
|
305
305
|
You never unset your role to run it. Never suggest it to skip
|
|
306
306
|
a fix the implementer can make in this change. The acceptance pins that
|
|
307
307
|
evidence: new evidence for the scenario, or its expiry, ends it, and the
|
|
@@ -358,7 +358,7 @@ implementer owns. Your last write's `meta.next` names the next step.
|
|
|
358
358
|
identical repeat is reported `unchanged` (`data.unchanged: true`, or the
|
|
359
359
|
element's `status` in a batch), so after a timeout run the same command
|
|
360
360
|
again. A different finding under an occupied round and seq is refused
|
|
361
|
-
(`
|
|
361
|
+
(`FINDING_EXISTS`): take the next seq. `finding close` with the same
|
|
362
362
|
disposition is a no-op too.
|
|
363
363
|
|
|
364
364
|
## Excuses that fail
|
|
@@ -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.
|
|
3
|
+
.TH canon-adapter-authorize 1 "authorize 0.36.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.
|
|
44
|
+
v0.36.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.
|
|
3
|
+
.TH canon-adapter-validate 1 "validate 0.36.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.
|
|
44
|
+
v0.36.0
|
package/man/canon-adapter.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-adapter 1 "adapter 0.
|
|
3
|
+
.TH canon-adapter 1 "adapter 0.36.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.
|
|
46
|
+
v0.36.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.
|
|
3
|
+
.TH canon-artifacts-move 1 "move 0.36.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
|
|
@@ -30,10 +30,10 @@ orchestrator
|
|
|
30
30
|
The tier to move to: the name of an `s3` tier in canon.yaml (for example `cold`)
|
|
31
31
|
.TP
|
|
32
32
|
\fB\-\-commit\fR
|
|
33
|
-
|
|
33
|
+
Make the change; without it the command only previews.
|
|
34
34
|
.TP
|
|
35
|
-
\fB\-\-plan\-digest\fR \fI<
|
|
36
|
-
The
|
|
35
|
+
\fB\-\-plan\-digest\fR \fI<PLAN_DIGEST>\fR
|
|
36
|
+
The digest of the preview this commit carries out.
|
|
37
37
|
.TP
|
|
38
38
|
\fB\-\-repo\fR \fI<DIR>\fR
|
|
39
39
|
The repo to act on (default: the nearest ancestor directory holding a canon.yaml)
|
|
@@ -52,7 +52,7 @@ Print version
|
|
|
52
52
|
.SH EXTRA
|
|
53
53
|
Examples:
|
|
54
54
|
canon artifacts move \-\-tier cold
|
|
55
|
-
canon artifacts move \-\-tier cold \-\-commit \-\-plan\-digest <
|
|
55
|
+
canon artifacts move \-\-tier cold \-\-commit \-\-plan\-digest <PLAN_DIGEST>
|
|
56
56
|
|
|
57
57
|
The bare run previews: it lists every upload and removal and prints a planDigest, and writes nothing. \-\-commit \-\-plan\-digest acts on exactly that plan (PLAN_STALE, exit 2, when it changed since).
|
|
58
58
|
|
|
@@ -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.
|
|
63
|
+
v0.36.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.
|
|
3
|
+
.TH canon-artifacts-store 1 "store 0.36.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.
|
|
54
|
+
v0.36.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.
|
|
3
|
+
.TH canon-artifacts-verify 1 "verify 0.36.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.
|
|
48
|
+
v0.36.0
|
package/man/canon-artifacts.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-artifacts 1 "artifacts 0.
|
|
3
|
+
.TH canon-artifacts 1 "artifacts 0.36.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.
|
|
45
|
+
v0.36.0
|
|
@@ -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.
|
|
3
|
+
.TH canon-brief-approve 1 "approve 0.36.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,12 @@ 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 (
|
|
67
|
+
first; one refused id refuses the call (the first refused id\*(Aqs code, with a
|
|
68
|
+
detail for each) and nothing is
|
|
68
69
|
written. Writes `Approved: <who> <when> — "<words>" (brief sha256:<digest>)` into the
|
|
69
70
|
brief (the digest covers the brief without its `Approved:` lines) and records
|
|
70
71
|
`canon policy approve` in the same call. Edit the brief afterwards and it reads as
|
|
71
|
-
not approved (
|
|
72
|
+
not approved (BRIEF_APPROVAL_STALE) until a human answers again and this
|
|
72
73
|
runs again. Run it only from the human\*(Aqs answer, with their words as \-\-note.
|
|
73
74
|
.SH VERSION
|
|
74
|
-
v0.
|
|
75
|
+
v0.36.0
|
package/man/canon-brief-check.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-brief-check 1 "check 0.36.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.
|
|
44
|
+
v0.36.0
|
package/man/canon-brief-show.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-brief-show 1 "show 0.36.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.
|
|
53
|
+
v0.36.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.
|
|
3
|
+
.TH canon-brief 1 "brief 0.36.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.
|
|
64
|
+
v0.36.0
|
package/man/canon-change-new.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-change-new 1 "new 0.36.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.
|
|
66
|
+
v0.36.0
|
package/man/canon-change.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-change 1 "change 0.
|
|
3
|
+
.TH canon-change 1 "change 0.36.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.
|
|
42
|
+
v0.36.0
|
package/man/canon-completion.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-completion 1 "completion 0.
|
|
3
|
+
.TH canon-completion 1 "completion 0.36.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.
|
|
60
|
+
v0.36.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.
|
|
3
|
+
.TH canon-context-pack-add 1 "add 0.36.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.
|
|
47
|
+
v0.36.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.
|
|
3
|
+
.TH canon-context-pack-show 1 "show 0.36.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.
|
|
44
|
+
v0.36.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.
|
|
3
|
+
.TH canon-context-pack-verify 1 "verify 0.36.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.
|
|
44
|
+
v0.36.0
|
package/man/canon-context-pack.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-context-pack 1 "context-pack 0.36.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.
|
|
50
|
+
v0.36.0
|
package/man/canon-context.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-context 1 "context 0.
|
|
3
|
+
.TH canon-context 1 "context 0.36.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.
|
|
44
|
+
v0.36.0
|
package/man/canon-dashboard.1
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
.ie \n(.g .ds Aq \(aq
|
|
2
2
|
.el .ds Aq '
|
|
3
|
-
.TH canon-dashboard 1 "dashboard 0.
|
|
3
|
+
.TH canon-dashboard 1 "dashboard 0.36.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.
|
|
50
|
+
v0.36.0
|
package/man/canon-demo-init.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-demo-init 1 "init 0.36.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.
|
|
44
|
+
v0.36.0
|
package/man/canon-demo-review.1
CHANGED
|
@@ -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.
|
|
3
|
+
.TH canon-demo-review 1 "review 0.36.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.
|
|
44
|
+
v0.36.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.
|
|
3
|
+
.TH canon-demo 1 "demo 0.36.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.
|
|
47
|
+
v0.36.0
|