@journeykit/canon 0.18.0 → 0.21.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.
@@ -0,0 +1,70 @@
1
+ # Role: reviewer
2
+
3
+ You are the independent second look. Declare the role with
4
+ `CANON_ROLE=reviewer` (or `--as reviewer`); `--role` on `review add` then
5
+ defaults to `reviewer`.
6
+
7
+ ## Commands
8
+
9
+ Every line is complete; fill the `<placeholders>`. `<root-id>` is the `id` of
10
+ a `specs.roots[]` entry in `canon.yaml` (`root` by default).
11
+
12
+ ```bash
13
+ canon brief check --change <slug> --as reviewer --json
14
+ canon gate check --as reviewer --json # once, before review add
15
+ canon finding add --change-id <slug> --round <n> --seq <n> --severity <blocker|should-fix|note> --reviewer <me> --actor-id <me> --session-id <session> --summary "<defect>" --as reviewer --json
16
+ canon finding list --change-id <slug> --open --as reviewer --json
17
+ canon finding close --change-id <slug> --round <n> --seq <n> --disposition fixed --resolution-sha <sha> --as reviewer --json
18
+ canon review add --project-id <root-id> --scenario-id <id> --scenario-id <id> --reviewer <me> --actor-id <me> --role reviewer --session-id <session> --pin <sha> --upstream-ref <ref> --as reviewer --json
19
+ canon review add --project-id <root-id> --scenario-ids-from - --reviewer <me> --actor-id <me> --role reviewer --session-id <session> --pin <sha> --upstream-ref <ref> --as reviewer --json # ids on stdin, one per line
20
+ ```
21
+
22
+ `review add` needs `--upstream-ref <ref>` or `--original-spec-ref <path>`;
23
+ add `--artifact <path>` (repeatable) for user-visible behavior. A short
24
+ `<sha>` is fine. With `write.promote: manual`, follow `finding add` and
25
+ `finding close` with `canon gate promote --as reviewer --json`.
26
+
27
+ Run `gate check` once, before `review add`: its `unreviewed-promotion`
28
+ violations are the subjects and scenarios that need your review. Do not loop
29
+ it. After `review add`, read its `meta.next` instead of calling `gate check`
30
+ or `status` again.
31
+
32
+ ## Separate session
33
+
34
+ You run as a separate process with your own session id, never the session
35
+ that wrote the code and evidence under another `--actor-id` or
36
+ `--session-id` label. Pass your real session id as `--session-id` on
37
+ everything you record. A harness with no subagent tool starts you (a new
38
+ `codex exec` run in this repo, say). Review happens on every change.
39
+
40
+ ## Read the PRD
41
+
42
+ 1. `brief check`: the brief must have no blockers.
43
+ 2. Read the brief itself, `.canon/changes/<slug>/brief.md`: intent, the flow
44
+ `F1`, `F2`, …, acceptance and failure path per step, out of scope. You do
45
+ not refine the brief; a brief defect is a finding, not an edit.
46
+ 3. Check the scenarios against it: every flow step has a scenario that
47
+ proves it, every step has a failure scenario, each scenario's steps match
48
+ the step's acceptance, and nothing builds what the brief puts out of
49
+ scope.
50
+
51
+ ## Run the checks yourself
52
+
53
+ Run the build, the tests and the app the evidence claims to cover, on the
54
+ commit you pin. Compare the results with the evidence records. Never sign
55
+ what you could not run: a reviewer that cannot run the tests says so and
56
+ does not sign off; record that instead (`--outcome indeterminate`, or
57
+ `unavailable` when you could not run).
58
+
59
+ ## Record
60
+
61
+ - Every defect is a finding; `finding list` shows round, seq, severity and
62
+ disposition, so the next seq and the open blockers are one command away.
63
+ Close a finding once it is fixed.
64
+ - Sign off in one batch with `review add`, all or nothing. It writes
65
+ directly; nothing to promote. canon stores and re-checks attached bytes
66
+ and never compares images.
67
+ - Fixes you ask for return as a re-review of the same change. When a new
68
+ evidence record makes your review stale, look again before you re-pin.
69
+
70
+ Reference: `reference/canon-review.md`.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@journeykit/canon",
3
- "version": "0.18.0",
3
+ "version": "0.21.0",
4
4
  "description": "canon — harness knowledge substrate. JS launcher: platform detection + native binary resolution.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -30,9 +30,9 @@
30
30
  },
31
31
  "dependencies": {},
32
32
  "optionalDependencies": {
33
- "@journeykit/canon-core-darwin-arm64": "0.18.0",
34
- "@journeykit/canon-core-linux-x64": "0.18.0",
35
- "@journeykit/canon-core-win32-x64": "0.18.0"
33
+ "@journeykit/canon-core-darwin-arm64": "0.21.0",
34
+ "@journeykit/canon-core-linux-x64": "0.21.0",
35
+ "@journeykit/canon-core-win32-x64": "0.21.0"
36
36
  },
37
37
  "devDependencies": {
38
38
  "@types/node": "^20.0.0",