@mrciphersmith/keryx 0.3.120 → 0.3.121
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/cli.js +8511 -7282
- package/dist/core.js +954 -791
- package/package.json +1 -1
- package/src/gdskills/bundled/install-manifest.json +2 -1
- package/src/gdskills/bundled/rules/core/session-plan-bridge.mdc +1 -1
- package/src/gdskills/bundled/skills/orchestration/feature-dev/SKILL.md +4 -4
- package/src/gdskills/bundled/skills/orchestration/flow-orchestrator/SKILL.md +8 -17
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.detail.md +70 -0
- package/src/gdskills/bundled/skills/orchestration/job-orchestrator/SKILL.md +36 -73
- package/src/gdskills/bundled/skills/orchestration/task-implementer/SKILL.md +1 -1
- package/src/gdskills/bundled/skills/orchestration/task-implementer/input-contract.schema.json +17 -2
- package/src/gdskills/bundled/skills/review/review-architecture/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-backend/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-clean-code/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-core-boundaries/SKILL.md +5 -10
- package/src/gdskills/bundled/skills/review/review-flow-graph/SKILL.md +5 -10
- package/src/gdskills/bundled/skills/review/review-frontend/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-frontend-conventions/SKILL.md +5 -10
- package/src/gdskills/bundled/skills/review/review-highload/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-jev-comments/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-jev-contract/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-jev-docs/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-jev-risk/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-jev-rules/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-jev-scenarios/SKILL.md +4 -9
- package/src/gdskills/bundled/skills/review/review-layout/SKILL.md +8 -9
- package/src/gdskills/bundled/skills/review/review-logic/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.detail.md +25 -2
- package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +34 -44
- package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +1 -1
- package/src/gdskills/bundled/skills/review/review-performance/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-pr-contract/SKILL.md +2 -2
- package/src/gdskills/bundled/skills/review/review-pr-feedback/SKILL.md +8 -10
- package/src/gdskills/bundled/skills/review/review-premise/SKILL.md +180 -0
- package/src/gdskills/bundled/skills/review/review-regression/SKILL.md +3 -3
- package/src/gdskills/bundled/skills/review/review-security-code/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-style/SKILL.md +6 -11
- package/src/gdskills/bundled/skills/review/review-testing-practices/SKILL.md +2 -2
- package/src/gdskills/contracts/review-finding.schema.json +63 -0
|
@@ -24,7 +24,7 @@ license: "MIT"
|
|
|
24
24
|
# Review — Flow Graph Abstractions
|
|
25
25
|
|
|
26
26
|
Reviewer for reusable ReactFlow/graph integration layers. Use it when a repository has a shared
|
|
27
|
-
graph surface consumed by domain modules. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests
|
|
27
|
+
graph surface consumed by domain modules. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests`, except the read-only `git log`, `git blame` and `git show` where its host gives a read-only child git (keryx shell does not: there the payload supplies the history).
|
|
28
28
|
|
|
29
29
|
---
|
|
30
30
|
|
|
@@ -83,15 +83,10 @@ baseline.
|
|
|
83
83
|
|
|
84
84
|
### Shared laws (every reviewer)
|
|
85
85
|
|
|
86
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
91
|
-
pattern because it is often wrong elsewhere.
|
|
92
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
93
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
94
|
-
finding hide the other nine problems.
|
|
86
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
87
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
88
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
89
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
95
90
|
|
|
96
91
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
97
92
|
**Severity (canonical)**. This reviewer does not restate them: `blocker` is the
|
|
@@ -17,7 +17,7 @@ license: "MIT"
|
|
|
17
17
|
|
|
18
18
|
## Purpose
|
|
19
19
|
|
|
20
|
-
Validates frontend-specific patterns in the changed code of the current branch. Covers React component correctness (observer wrapping, MVVM boundary, useEffect misuse, accessibility basics, key props), full MobX store patterns (structure, member ordering, accessibility modifiers, observable collections, reactions, async actions, bidirectional sync, lifecycle, API placement), and TypeScript safety. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests
|
|
20
|
+
Validates frontend-specific patterns in the changed code of the current branch. Covers React component correctness (observer wrapping, MVVM boundary, useEffect misuse, accessibility basics, key props), full MobX store patterns (structure, member ordering, accessibility modifiers, observable collections, reactions, async actions, bidirectional sync, lifecycle, API placement), and TypeScript safety. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests`, except the read-only `git log`, `git blame` and `git show` where its host gives a read-only child git (keryx shell does not: there the payload supplies the history).
|
|
21
21
|
|
|
22
22
|
This skill consolidates what was previously split between `code-style-review` (frontend parts) and `code-mobx-store-review`. It supersedes both for frontend changes.
|
|
23
23
|
|
|
@@ -55,15 +55,10 @@ This skill consolidates what was previously split between `code-style-review` (f
|
|
|
55
55
|
|
|
56
56
|
### Shared laws (every reviewer)
|
|
57
57
|
|
|
58
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
63
|
-
pattern because it is often wrong elsewhere.
|
|
64
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
65
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
66
|
-
finding hide the other nine problems.
|
|
58
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
59
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
60
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
61
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
67
62
|
|
|
68
63
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
69
64
|
**Severity (canonical)**. This reviewer does not restate them: `blocker` is the
|
|
@@ -98,7 +93,7 @@ See shared script: `.metaproject/skills/gdskills/shared/git-merge-base.md`
|
|
|
98
93
|
|
|
99
94
|
Run the script from that file to determine `MERGE_BASE` (`BASE_SHA`) and `SCOPE` before proceeding.
|
|
100
95
|
|
|
101
|
-
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text
|
|
96
|
+
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text and never rebuild the diff. A choice's history (law 4) is read with `git log`, `git blame` and `git show` only where the host gives a read-only child git; on keryx shell a read-only child has no shell and no git tool, so read the `git log -L`/`git blame` excerpts the payload supplies, or say the history was not read. Only with none supplied, collect it:
|
|
102
97
|
```bash
|
|
103
98
|
git diff --name-status "${BASE_SHA}" && git diff "${BASE_SHA}" && git ls-files --others --exclude-standard
|
|
104
99
|
# explicit range: <FROM_SHA>..<TO_SHA> in place of "${BASE_SHA}"
|
|
@@ -26,7 +26,7 @@ license: "MIT"
|
|
|
26
26
|
|
|
27
27
|
Reviewer for frontend repository conventions that are more specific than generic React/MobX
|
|
28
28
|
correctness. Use it alongside `review-frontend`, `review-style`, `review-performance`, and
|
|
29
|
-
`review-logic`. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests
|
|
29
|
+
`review-logic`. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests`, except the read-only `git log`, `git blame` and `git show` where its host gives a read-only child git (keryx shell does not: there the payload supplies the history).
|
|
30
30
|
|
|
31
31
|
Before reviewing, read the nearest project guide files if they exist: root `CLAUDE.md`,
|
|
32
32
|
`AGENTS.md`, `.junie/guidelines.md`, `ARCHITECTURE.md`, and module-level `CLAUDE.md` files.
|
|
@@ -107,15 +107,10 @@ project-specific guide was found.
|
|
|
107
107
|
|
|
108
108
|
### Shared laws (every reviewer)
|
|
109
109
|
|
|
110
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
115
|
-
pattern because it is often wrong elsewhere.
|
|
116
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
117
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
118
|
-
finding hide the other nine problems.
|
|
110
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
111
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
112
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
113
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
119
114
|
|
|
120
115
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
121
116
|
**Severity (canonical)**. This reviewer does not restate them: `blocker` is the
|
|
@@ -28,7 +28,7 @@ license: "MIT"
|
|
|
28
28
|
|
|
29
29
|
Specialized reviewer for **code that will run under significant concurrent load**.
|
|
30
30
|
Focuses on correctness under concurrency, resource contention, back-pressure, failure
|
|
31
|
-
modes at scale, and distributed systems invariants — not general performance profiling. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests
|
|
31
|
+
modes at scale, and distributed systems invariants — not general performance profiling. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests`, except the read-only `git log`, `git blame` and `git show` where its host gives a read-only child git (keryx shell does not: there the payload supplies the history).
|
|
32
32
|
|
|
33
33
|
Reviews only changes introduced in the current branch (merge-base to HEAD).
|
|
34
34
|
|
|
@@ -71,7 +71,7 @@ See shared script: `.metaproject/skills/gdskills/shared/git-merge-base.md`
|
|
|
71
71
|
Review scope: **changes introduced in the current branch since merge-base only**.
|
|
72
72
|
Pre-existing problems in unchanged lines are out of scope unless the diff makes them worse.
|
|
73
73
|
|
|
74
|
-
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text
|
|
74
|
+
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text and never rebuild the diff. A choice's history (law 4) is read with `git log`, `git blame` and `git show` only where the host gives a read-only child git; on keryx shell a read-only child has no shell and no git tool, so read the `git log -L`/`git blame` excerpts the payload supplies, or say the history was not read. Only with none supplied, collect it:
|
|
75
75
|
```bash
|
|
76
76
|
git diff --name-status "${BASE_SHA}" && git diff "${BASE_SHA}" && git ls-files --others --exclude-standard
|
|
77
77
|
# explicit range: <FROM_SHA>..<TO_SHA> in place of "${BASE_SHA}"
|
|
@@ -83,15 +83,10 @@ git diff --name-status "${BASE_SHA}" && git diff "${BASE_SHA}" && git ls-files -
|
|
|
83
83
|
|
|
84
84
|
### Shared laws (every reviewer)
|
|
85
85
|
|
|
86
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
91
|
-
pattern because it is often wrong elsewhere.
|
|
92
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
93
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
94
|
-
finding hide the other nine problems.
|
|
86
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
87
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
88
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
89
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
95
90
|
|
|
96
91
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
97
92
|
**Severity (canonical)**. This reviewer does not restate them: `blocker` is the
|
|
@@ -157,15 +157,10 @@ Before trusting a run's findings:
|
|
|
157
157
|
|
|
158
158
|
### Shared laws (every reviewer)
|
|
159
159
|
|
|
160
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
165
|
-
pattern because it is often wrong elsewhere.
|
|
166
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
167
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
168
|
-
finding hide the other nine problems.
|
|
160
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
161
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
162
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
163
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
169
164
|
|
|
170
165
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
171
166
|
**Severity (canonical)**. This reviewer does not restate them: it emits only
|
|
@@ -136,15 +136,10 @@ object (`sites`, `enumeration_method`) — never a bare label.
|
|
|
136
136
|
|
|
137
137
|
### Shared laws (every reviewer)
|
|
138
138
|
|
|
139
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
144
|
-
pattern because it is often wrong elsewhere.
|
|
145
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
146
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
147
|
-
finding hide the other nine problems.
|
|
139
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
140
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
141
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
142
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
148
143
|
|
|
149
144
|
This reviewer satisfies all three by construction: `evidence` always names the
|
|
150
145
|
matched artefacts/facts and the claim text (never an unreproducible claim); a
|
|
@@ -162,15 +162,10 @@ Before trusting a run's findings:
|
|
|
162
162
|
|
|
163
163
|
### Shared laws (every reviewer)
|
|
164
164
|
|
|
165
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
170
|
-
pattern because it is often wrong elsewhere.
|
|
171
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
172
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
173
|
-
finding hide the other nine problems.
|
|
165
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
166
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
167
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
168
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
174
169
|
|
|
175
170
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
176
171
|
**Severity (canonical)**. This reviewer does not restate them — it only ever
|
|
@@ -131,15 +131,10 @@ Gate, same dedup, same Wave C verification.
|
|
|
131
131
|
|
|
132
132
|
### Shared laws (every reviewer)
|
|
133
133
|
|
|
134
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
139
|
-
pattern because it is often wrong elsewhere.
|
|
140
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
141
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
142
|
-
finding hide the other nine problems.
|
|
134
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
135
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
136
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
137
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
143
138
|
|
|
144
139
|
This reviewer satisfies all three by construction: `evidence` always names the
|
|
145
140
|
hunk location, quotes the changed line, and states every dimension's
|
|
@@ -205,15 +205,10 @@ other reviewer's: same Quality Gate, same dedup, same Wave C verification.
|
|
|
205
205
|
|
|
206
206
|
### Shared laws (every reviewer)
|
|
207
207
|
|
|
208
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
213
|
-
pattern because it is often wrong elsewhere.
|
|
214
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
215
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
216
|
-
finding hide the other nine problems.
|
|
208
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
209
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
210
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
211
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
217
212
|
|
|
218
213
|
This reviewer already satisfies all three by construction: `evidence` always
|
|
219
214
|
names the hunk and quotes it (never an unreproducible claim), a finding is
|
|
@@ -129,15 +129,10 @@ same dedup, same Wave C verification.
|
|
|
129
129
|
|
|
130
130
|
### Shared laws (every reviewer)
|
|
131
131
|
|
|
132
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
137
|
-
pattern because it is often wrong elsewhere.
|
|
138
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
139
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
140
|
-
finding hide the other nine problems.
|
|
132
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
133
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
134
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
135
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
141
136
|
|
|
142
137
|
This reviewer satisfies all three by construction: severity is fixed at
|
|
143
138
|
`minor` — never higher — and `evidence` always names the scenario's linked
|
|
@@ -119,6 +119,10 @@ name instead.
|
|
|
119
119
|
LTR is toward the end in RTL. State both.
|
|
120
120
|
- [ ] A physical gradient, shadow, or transform in a component that otherwise uses
|
|
121
121
|
logical properties does **not** flip. Name the direction it points in each.
|
|
122
|
+
- [ ] Some surfaces usually do **not** mirror, by platform practice (Material Bidirectionality,
|
|
123
|
+
Apple HIG): media playback controls and their progress or seek bar, numbers, code, phone
|
|
124
|
+
numbers. A forced `dir="ltr"` there is usually deliberate: read its signals (law 4) before
|
|
125
|
+
reporting. An event timeline, calendar row or chart axis often does mirror; judge by the product.
|
|
122
126
|
- [ ] Text length differs by locale. A component sized by its own labels renders
|
|
123
127
|
**different geometry for identical data** across locales. Measure with the
|
|
124
128
|
longest real translation in the catalog, never the English one.
|
|
@@ -146,15 +150,10 @@ name instead.
|
|
|
146
150
|
|
|
147
151
|
### Shared laws (every reviewer)
|
|
148
152
|
|
|
149
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
154
|
-
pattern because it is often wrong elsewhere.
|
|
155
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
156
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
157
|
-
finding hide the other nine problems.
|
|
153
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
154
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
155
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
156
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
158
157
|
|
|
159
158
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
160
159
|
**Severity (canonical)**. This reviewer keeps no rubric of its own; below is only
|
|
@@ -27,7 +27,7 @@ license: "MIT"
|
|
|
27
27
|
|
|
28
28
|
Specialized reviewer for **logic correctness and algorithmic soundness**.
|
|
29
29
|
Inherits from the original `code-ai-review` + `code-learned-review` correctness phases
|
|
30
|
-
and unifies them into a single focused pass. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests
|
|
30
|
+
and unifies them into a single focused pass. Its inputs are the reviewer payload only; session memory and earlier conversation are not inputs. It runs no command unless its payload's `allowed_tools` says `run-tests`, except the read-only `git log`, `git blame` and `git show` where its host gives a read-only child git (keryx shell does not: there the payload supplies the history).
|
|
31
31
|
|
|
32
32
|
This reviewer does not care about formatting, naming, or architecture opinions.
|
|
33
33
|
Every finding must describe an observable, reproducible defect or a spec gap.
|
|
@@ -69,7 +69,7 @@ See shared script: `.metaproject/skills/gdskills/shared/git-merge-base.md`
|
|
|
69
69
|
Review scope: **changes introduced in the current branch since merge-base only**.
|
|
70
70
|
Do not review unrelated files.
|
|
71
71
|
|
|
72
|
-
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text
|
|
72
|
+
**Supplied text first.** When the payload carries `slices`, `context_files`, `diff` or `file_contents`, review exactly that text and never rebuild the diff. A choice's history (law 4) is read with `git log`, `git blame` and `git show` only where the host gives a read-only child git; on keryx shell a read-only child has no shell and no git tool, so read the `git log -L`/`git blame` excerpts the payload supplies, or say the history was not read. Only with none supplied, collect it:
|
|
73
73
|
```bash
|
|
74
74
|
git diff --name-status "${BASE_SHA}" && git diff "${BASE_SHA}" && git ls-files --others --exclude-standard
|
|
75
75
|
# explicit range: <FROM_SHA>..<TO_SHA> in place of "${BASE_SHA}"
|
|
@@ -260,15 +260,10 @@ conditions land under that rubric, not a second rubric.
|
|
|
260
260
|
|
|
261
261
|
### Shared laws (every reviewer)
|
|
262
262
|
|
|
263
|
-
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
under review. Do not report a safe API because it could be misused, or a
|
|
268
|
-
pattern because it is often wrong elsewhere.
|
|
269
|
-
3. **One finding per class, not one per occurrence.** When the same shape appears
|
|
270
|
-
at several sites, report it once and list every site. Ten findings that are one
|
|
271
|
-
finding hide the other nine problems.
|
|
263
|
+
1. **A claim of runtime harm with no reproducible path is `info`.** If you cannot name the input, call, or condition that reaches the code, you have an observation, not a finding. Report it as `info` and say what would settle it.
|
|
264
|
+
2. **Never flag the theoretical.** The path you describe must exist in the code under review. Do not report a safe API because it could be misused, or a pattern because it is often wrong elsewhere.
|
|
265
|
+
3. **One finding per class, not one per occurrence.** When the same shape appears at several sites, report it once and list every site. Ten findings that are one finding hide the other nine problems.
|
|
266
|
+
4. **A deliberate choice is not a defect until its reason is read and shown wrong.** An explicit override, suppression or exemption, a comment or commit giving a reason, or a sibling doing the same is a decision: read its reason (the comment, `git log -L` or `git blame`, the sibling) before you report it, and report it only when you can show that reason wrong. A project rule is checked against accepted platform practice and its known exceptions before a deviation from it is reported.
|
|
272
267
|
|
|
273
268
|
Severity levels are defined once, in `review-orchestrator/SKILL.md` →
|
|
274
269
|
**Severity (canonical)**. This reviewer does not restate them: `blocker` is the
|
|
@@ -651,7 +651,7 @@ certifies the flow is the one that checked the least.
|
|
|
651
651
|
|
|
652
652
|
## Readiness — the checklist behind `completed` and behind publishing
|
|
653
653
|
|
|
654
|
-
`keryx review readiness <review-id-or-path> [--json]` reads the package and prints
|
|
654
|
+
`keryx review readiness <review-id-or-path> [--json]` reads the package and prints eleven items, READY or NOT READY, each with the evidence and the command that repairs it. It writes nothing, and exits non-zero when the verdict is NOT READY. Only item 9 reaches GitHub (the PR's own file list); the TUI and `review status` read the package alone.
|
|
655
655
|
|
|
656
656
|
1. `files-covered` — every changed file is in a wave or carries a recorded waiver.
|
|
657
657
|
2. `blast-radius` — no file the blast radius cut is left unreviewed. A cut radius writes `chunks.json`; run `keryx review chunks plan`, `estimate`, `next`/`record`, `merge`. In an unattended run every wave runs without a question, up to the 25-pass ceiling; in an interactive run the operator is asked once: in keryx shell call `review_chunks_answer` (a card, never a terminal); elsewhere the operator runs `keryx review chunks estimate --package <dir> --answer yes --quote "<their words>"` in their terminal; unattended, record Not run.
|
|
@@ -663,8 +663,9 @@ certifies the flow is the one that checked the least.
|
|
|
663
663
|
8. `report-names` — pending mutation candidates and parity warnings are named in the report.
|
|
664
664
|
9. `pr-files` — the changed-file count equals the PR's own file list. A recount more than 3x the recorded scope is refused: it came from the wrong base. Recount with `keryx review blast-radius --package <ref> --changed <the PR's files>`.
|
|
665
665
|
10. `memory-outside-stage` — the orchestrator read memory only in its memory stage ("Clean context" above). Outside keryx shell it reads "not observable on this host" unless this session's keryx calls carry the caller token `keryx review start` printed.
|
|
666
|
+
11. `premise-decisions` — every finding `review-premise` held (`challenged` or `owner-decision`) has an operator decision: in keryx shell the card `review_decide_premise`; elsewhere the operator runs `keryx review decide-premise --package <dir> --finding <global_id> --answer uphold|dismiss --reason "<why>"` in their terminal (SKILL.md "Wave D"). Not waivable: each held finding needs its own answer, and `review_waive_readiness` / `--waive` refuse this item.
|
|
666
667
|
|
|
667
|
-
`keryx review complete` refuses status `completed` while any item fails. A failing item is waived only by the operator. In keryx shell call `review_waive_readiness` for the item: the operator answers it as a card, the waiver is recorded with the card text and the time, and then you run `keryx review complete`. Never send the operator to a terminal. Outside keryx shell the operator runs `keryx review complete --waive <item> "<their own words>"` in a terminal, repeatable. Unattended, record the item as Not run. `keryx review publish` is held by the same checklist. Publishing is the operator's decision too: in keryx shell call `review_publish` (a card shows the target and the body; never send the operator to a terminal). A not-ready package goes to GitHub only as a partial review (`review_publish` with `partial: true`, or `keryx review publish --partial`), which puts a "Partial review" header on the post and never approves. The shell guard stops a publish command that runs through the keryx shell; a publisher outside it (CI, another agent, a script file) is not stopped, and that limit is named, not hidden.
|
|
668
|
+
`keryx review complete` refuses status `completed` while any item fails. A failing item other than `premise-decisions` is waived only by the operator. In keryx shell call `review_waive_readiness` for the item: the operator answers it as a card, the waiver is recorded with the card text and the time, and then you run `keryx review complete`. Never send the operator to a terminal. Outside keryx shell the operator runs `keryx review complete --waive <item> "<their own words>"` in a terminal, repeatable. Unattended, record the item as Not run. `keryx review publish` is held by the same checklist. Publishing is the operator's decision too: in keryx shell call `review_publish` (a card shows the target and the body; never send the operator to a terminal). A not-ready package goes to GitHub only as a partial review (`review_publish` with `partial: true`, or `keryx review publish --partial`), which puts a "Partial review" header on the post and never approves. The shell guard stops a publish command that runs through the keryx shell; a publisher outside it (CI, another agent, a script file) is not stopped, and that limit is named, not hidden.
|
|
668
669
|
|
|
669
670
|
## Fix rounds — dispositions, regressions, withdrawal
|
|
670
671
|
|
|
@@ -917,3 +918,25 @@ Default budget guidance:
|
|
|
917
918
|
| medium | <= 20 files or <= 2,000 changed lines | `light` | per-domain filtered diff |
|
|
918
919
|
| large | > 20 files or > 2,000 changed lines | ask `full` | staged waves by domain |
|
|
919
920
|
| high-risk | auth/API/core/security/data migrations | ask `full` | staged waves, verifier included |
|
|
921
|
+
|
|
922
|
+
## Everything written to GitHub is brief
|
|
923
|
+
|
|
924
|
+
One rule, applied to every outward surface: **PR bodies, PR comments, review
|
|
925
|
+
replies, issue comments, and commit messages going to a PR.**
|
|
926
|
+
|
|
927
|
+
- Lead with the conclusion. No preamble, no restating the question, no apology,
|
|
928
|
+
no summary of the flow.
|
|
929
|
+
- Say what changed and where. **Link, do not paste.**
|
|
930
|
+
- The reasoning, the evidence, the rejected alternatives and the round history live
|
|
931
|
+
in the flow package — `journal.md`, `context.md`, the review artifacts — which is
|
|
932
|
+
durable, searchable, and costs a reader nothing to skip.
|
|
933
|
+
- A GitHub artifact that needs more than a short paragraph is a signal that the
|
|
934
|
+
detail belongs in the flow with a link out, **not** that the paragraph should
|
|
935
|
+
grow.
|
|
936
|
+
- No orchestrator-written PR comment or reply exceeds two sentences without
|
|
937
|
+
carrying a link to the artifact holding the detail. The reply pass enforces
|
|
938
|
+
this; for anything else you write outward, hold yourself to it.
|
|
939
|
+
|
|
940
|
+
This is deliberately asymmetric: **verbose in the flow, terse on GitHub.** The
|
|
941
|
+
flow is written for whoever resumes the work; GitHub is read by someone who did
|
|
942
|
+
not ask for our reasoning and is reading between other tasks.
|