@mrciphersmith/keryx 0.2.163 → 0.3.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 (100) hide show
  1. package/dist/cli.js +87904 -56917
  2. package/dist/core.js +28418 -18708
  3. package/package.json +2 -2
  4. package/src/gdgraph/affected-report.ts +141 -0
  5. package/src/gdgraph/build.ts +170 -23
  6. package/src/gdgraph/service.ts +6 -0
  7. package/src/gdgraph/staleness.ts +253 -45
  8. package/src/gdskills/bundled/agents/codebase-navigator.md +55 -0
  9. package/src/gdskills/bundled/agents/design-advisor.md +64 -0
  10. package/src/gdskills/bundled/agents/docs-maintainer.md +56 -0
  11. package/src/gdskills/bundled/agents/end-to-end-tester.md +56 -0
  12. package/src/gdskills/bundled/agents/error-path-auditor.md +57 -0
  13. package/src/gdskills/bundled/agents/go-build-fixer.md +52 -0
  14. package/src/gdskills/bundled/agents/go-code-auditor.md +49 -0
  15. package/src/gdskills/bundled/agents/performance-auditor.md +63 -0
  16. package/src/gdskills/bundled/agents/python-build-fixer.md +52 -0
  17. package/src/gdskills/bundled/agents/python-code-auditor.md +49 -0
  18. package/src/gdskills/bundled/agents/refactoring-steward.md +61 -0
  19. package/src/gdskills/bundled/agents/security-auditor.md +62 -0
  20. package/src/gdskills/bundled/agents/test-first-driver.md +61 -0
  21. package/src/gdskills/bundled/agents/work-planner.md +62 -0
  22. package/src/gdskills/bundled/install-manifest.json +530 -0
  23. package/src/gdskills/bundled/rules/core/skill-lifecycle.mdc +29 -1
  24. package/src/gdskills/bundled/rules/core/skills-storage-workflow.mdc +2 -2
  25. package/src/gdskills/bundled/skills/review/code-style-review/SKILL.md +1 -1
  26. package/src/gdskills/bundled/skills/review/review-orchestrator/SKILL.md +74 -246
  27. package/src/gdskills/bundled/skills/review/review-orchestrator/output-contract.schema.json +19 -0
  28. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-finding.schema.json +10 -0
  29. package/src/gdskills/bundled/skills/review/review-orchestrator/reviewer-input.schema.json +5 -0
  30. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/pr-comment-backend.md +50 -0
  31. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/pr-comment-frontend.md +52 -0
  32. package/src/gdskills/bundled/skills/review/review-orchestrator/templates/review-report.md +143 -0
  33. package/src/gdskills/bundled/stacks/go/agent-refs.json +3 -0
  34. package/src/gdskills/bundled/stacks/go/governance/eval.json +1745 -0
  35. package/src/gdskills/bundled/stacks/go/governance/scout.json +31 -0
  36. package/src/gdskills/bundled/stacks/go/pack.json +41 -0
  37. package/src/gdskills/bundled/stacks/go/rules/coding-style.mdc +85 -0
  38. package/src/gdskills/bundled/stacks/go/rules/patterns.mdc +65 -0
  39. package/src/gdskills/bundled/stacks/go/rules/security.mdc +73 -0
  40. package/src/gdskills/bundled/stacks/go/rules/testing.mdc +68 -0
  41. package/src/gdskills/bundled/stacks/go/skills/go-build-fix/SKILL.md +138 -0
  42. package/src/gdskills/bundled/stacks/go/skills/go-build-fix/evals.json +75 -0
  43. package/src/gdskills/bundled/stacks/go/skills/go-code-review/SKILL.md +121 -0
  44. package/src/gdskills/bundled/stacks/go/skills/go-code-review/evals.json +72 -0
  45. package/src/gdskills/bundled/stacks/go/skills/go-implementation/SKILL.md +122 -0
  46. package/src/gdskills/bundled/stacks/go/skills/go-implementation/evals.json +76 -0
  47. package/src/gdskills/bundled/stacks/go/skills/go-testing/SKILL.md +126 -0
  48. package/src/gdskills/bundled/stacks/go/skills/go-testing/evals.json +73 -0
  49. package/src/gdskills/bundled/stacks/python/agent-refs.json +3 -0
  50. package/src/gdskills/bundled/stacks/python/governance/eval.json +1758 -0
  51. package/src/gdskills/bundled/stacks/python/governance/scout.json +34 -0
  52. package/src/gdskills/bundled/stacks/python/pack.json +41 -0
  53. package/src/gdskills/bundled/stacks/python/rules/coding-style.mdc +63 -0
  54. package/src/gdskills/bundled/stacks/python/rules/patterns.mdc +88 -0
  55. package/src/gdskills/bundled/stacks/python/rules/security.mdc +84 -0
  56. package/src/gdskills/bundled/stacks/python/rules/testing.mdc +77 -0
  57. package/src/gdskills/bundled/stacks/python/skills/python-build-fix/SKILL.md +144 -0
  58. package/src/gdskills/bundled/stacks/python/skills/python-build-fix/evals.json +74 -0
  59. package/src/gdskills/bundled/stacks/python/skills/python-code-review/SKILL.md +155 -0
  60. package/src/gdskills/bundled/stacks/python/skills/python-code-review/evals.json +72 -0
  61. package/src/gdskills/bundled/stacks/python/skills/python-implementation/SKILL.md +143 -0
  62. package/src/gdskills/bundled/stacks/python/skills/python-implementation/evals.json +78 -0
  63. package/src/gdskills/bundled/stacks/python/skills/python-testing/SKILL.md +132 -0
  64. package/src/gdskills/bundled/stacks/python/skills/python-testing/evals.json +73 -0
  65. package/src/gdskills/bundled/stacks/react/agent-refs.json +4 -0
  66. package/src/gdskills/bundled/stacks/react/governance/eval.json +2188 -0
  67. package/src/gdskills/bundled/stacks/react/governance/scout.json +40 -0
  68. package/src/gdskills/bundled/stacks/react/pack.json +42 -0
  69. package/src/gdskills/bundled/stacks/react/rules/coding-style.mdc +58 -0
  70. package/src/gdskills/bundled/stacks/react/rules/patterns.mdc +79 -0
  71. package/src/gdskills/bundled/stacks/react/rules/security.mdc +70 -0
  72. package/src/gdskills/bundled/stacks/react/rules/testing.mdc +60 -0
  73. package/src/gdskills/bundled/stacks/react/skills/react-build-fix/SKILL.md +139 -0
  74. package/src/gdskills/bundled/stacks/react/skills/react-build-fix/evals.json +72 -0
  75. package/src/gdskills/bundled/stacks/react/skills/react-code-review/SKILL.md +148 -0
  76. package/src/gdskills/bundled/stacks/react/skills/react-code-review/evals.json +74 -0
  77. package/src/gdskills/bundled/stacks/react/skills/react-implementation/SKILL.md +140 -0
  78. package/src/gdskills/bundled/stacks/react/skills/react-implementation/evals.json +74 -0
  79. package/src/gdskills/bundled/stacks/react/skills/react-testing/SKILL.md +142 -0
  80. package/src/gdskills/bundled/stacks/react/skills/react-testing/evals.json +83 -0
  81. package/src/gdskills/bundled/stacks/react/skills/react-upgrade-migration/SKILL.md +155 -0
  82. package/src/gdskills/bundled/stacks/react/skills/react-upgrade-migration/evals.json +74 -0
  83. package/src/gdskills/bundled/stacks/ts-js-node/agent-refs.json +4 -0
  84. package/src/gdskills/bundled/stacks/ts-js-node/governance/eval.json +2155 -0
  85. package/src/gdskills/bundled/stacks/ts-js-node/governance/scout.json +40 -0
  86. package/src/gdskills/bundled/stacks/ts-js-node/pack.json +41 -0
  87. package/src/gdskills/bundled/stacks/ts-js-node/rules/coding-style.mdc +73 -0
  88. package/src/gdskills/bundled/stacks/ts-js-node/rules/patterns.mdc +61 -0
  89. package/src/gdskills/bundled/stacks/ts-js-node/rules/security.mdc +71 -0
  90. package/src/gdskills/bundled/stacks/ts-js-node/rules/testing.mdc +63 -0
  91. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-build-fix/SKILL.md +137 -0
  92. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-build-fix/evals.json +73 -0
  93. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-code-review/SKILL.md +124 -0
  94. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-code-review/evals.json +74 -0
  95. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-esm-migration/SKILL.md +152 -0
  96. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-esm-migration/evals.json +71 -0
  97. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-implementation/SKILL.md +127 -0
  98. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-implementation/evals.json +72 -0
  99. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-testing/SKILL.md +134 -0
  100. package/src/gdskills/bundled/stacks/ts-js-node/skills/nodejs-testing/evals.json +70 -0
@@ -0,0 +1,143 @@
1
+ # Review report (render)
2
+
3
+ The shape of the report a human reads at the end of a round, and of the PR
4
+ comment when one is published. Machine contracts are unchanged: severity stays
5
+ `blocker | major | minor | info`, the output verdict stays
6
+ `APPROVE | APPROVE_WITH_SUGGESTIONS | REQUEST_CHANGES`, and the `keryx:findings`
7
+ block still rides after the prose. This file says how that record is *shown*.
8
+
9
+ Read `templates/pr-comment-frontend.md` or `templates/pr-comment-backend.md`
10
+ for the domain checklist. This file is the skeleton both share.
11
+
12
+ ## How the visible verdict is chosen
13
+
14
+ Map the machine verdict, do not invent a fourth one:
15
+
16
+ | Machine `verdict` | First line |
17
+ |---|---|
18
+ | `REQUEST_CHANGES` | `**Changes requested — N Blocker, N Major, N Minor, N questions.**` |
19
+ | `APPROVE` | `**No blockers, merge-ready.**` |
20
+ | `APPROVE_WITH_SUGGESTIONS` | `**No blockers, merge-ready — N Minor, N questions.**` |
21
+
22
+ `N` is the count of findings **in the changed code** at that severity. A
23
+ `location_class: pre-existing` finding is not in that count and does not flip
24
+ the verdict. Omit a zero Blocker count. A question is an `info` finding that
25
+ needs an author answer, rendered under Questions, not as a finding.
26
+
27
+ Then one sentence: what holds, and where the risk is. Name the commits
28
+ reviewed: `Reviewed <head> against <base> (round N).` If head moved during the
29
+ round, name the commits not checked.
30
+
31
+ ## Section order
32
+
33
+ 1. Verdict line.
34
+ 2. Blocker, then Major. Omit a heading that has no findings.
35
+ 3. Minor.
36
+ 4. Questions.
37
+ 5. Pre-existing (not blocking). Omit if empty.
38
+ 6. Scope — only when a process note exists (`location_class: pr-process`).
39
+ 7. Verified clean. Required. Not a list of compliments.
40
+ 8. How this review was run.
41
+ 9. The `keryx:findings` fence, after the prose, unchanged.
42
+
43
+ No `## AI Review Report`, `# AI Review Report`, `## AI Summary`, `## Positive
44
+ Notes`, or any heading that names the tool instead of the subject. No
45
+ `Generated with`, no bot signature, no co-author trailer. A model name appears
46
+ only in **How this review was run**, as the model that ran, never as an author.
47
+
48
+ ## One finding
49
+
50
+ Blocker and Major, as a paragraph:
51
+
52
+ ```markdown
53
+ **F-012. The guard is not called on the save path.** `src/store.ts:88`, in the diff.
54
+ `save()` awaits `api.put` and then writes the form with no `runInAction`. A response that lands after unmount still mutates the store.
55
+ Fix: wrap the write in `runInAction`, and ignore the response when `disposed` is set.
56
+ ```
57
+
58
+ Minor, as one list item, proof and fix in one to three sentences:
59
+
60
+ ```markdown
61
+ - **F-019. Icon button has no accessible name.** `src/Toolbar.tsx:14`, in the diff — the control is an icon with no `aria-label`, so a screen reader announces nothing. Fix: add an `aria-label` from `t()`.
62
+ ```
63
+
64
+ Rules:
65
+
66
+ - Bold first line is the claim, one sentence. Then `file:line` and the location
67
+ class: `in the diff`, `pre-existing`, or `pr-process`.
68
+ - Proof is a traced path, a probe that was run, or a concrete failing scenario.
69
+ Not "this looks wrong".
70
+ - `Fix:` is concrete. A suggested fix is unchecked code: do not publish a fix
71
+ you have not checked the same way you checked the finding.
72
+ - No finding table. A table is allowed only for short cells: ids, `file:line`,
73
+ counts, statuses, before/after, pass/fail. A cell longer than about ten words
74
+ is not a table cell.
75
+
76
+ ## Questions and pre-existing
77
+
78
+ `info` is not published as a finding. If it needs an author answer, render it
79
+ as a numbered question. Otherwise drop it from the prose (it stays in the
80
+ `keryx:findings` block).
81
+
82
+ Pre-existing code does not block the merge. Render it under Pre-existing and
83
+ say so. A serious one may *suggest* a follow-up issue. Do not open the issue.
84
+
85
+ ## Verified clean
86
+
87
+ One line per check that was actually run and held: what was checked, and how.
88
+ Do not list a checklist item that was not checked. Do not praise.
89
+
90
+ ```markdown
91
+ ### Verified clean
92
+ - MobX write after `await` — every `await` in the diff is followed by `runInAction` or an early return on `disposed`.
93
+ - i18n — `t()` appears only in render; no `defaultValue`.
94
+ ```
95
+
96
+ ## How this review was run
97
+
98
+ A list, not a meta table. Keep every fact the old Meta table carried.
99
+
100
+ ```markdown
101
+ ### How this review was run
102
+ - **Run by:** @<gh-login> with `review-orchestrator`. Severity and lanes per the repository review rules, else the canonical rubric in this skill.
103
+ - **Scope:** `<base>..<head>`, round N, PR #N. Unchecked commits: <list or none>.
104
+ - **Orchestrator:** `review-orchestrator`
105
+ - **<actual model name>:** <reviewers dispatched on it, comma-separated>
106
+ - **Fallback:** <reviewer> via `general-purpose` because <native agent type unavailable | no bundled agent>. Or `none`.
107
+ - **Not run:** <reviewer> — <short reason>. Or `none`.
108
+ - **Selection:** <auto-detected scope | explicit flags | optional groups the user picked>
109
+ - **Verification:** <mode>. Confirmed N, refuted N, unverifiable N, unverified N. Removed N (always 0 outside `filter`).
110
+ - **Stage counts:** pre-filter dropped <files>/<blocks>/<lines> (or `not recorded`). Retained N.
111
+ - **Context:** <job/context path, or none>
112
+ - **Follow-up file:** <path or link, or none> — <one sentence on what it holds>
113
+ - **Reviewed at:** <UTC timestamp>
114
+ ```
115
+
116
+ Model rules, unchanged from the old metadata table:
117
+
118
+ - Name the model that actually ran. Never write `adaptive`, `inherit`,
119
+ `unsupported`, or `current-session` in the model slot.
120
+ - Group reviewers under the model they ran on. One bullet per model.
121
+ - `Model strategy` (`ask` or `adaptive`) goes on the Run by line or under
122
+ Selection, not in place of a model name.
123
+ - Keep **Run** complete. If Not run is long, group it with counts and notable
124
+ names; the full list belongs in the follow-up file.
125
+
126
+ ## Follow-up file
127
+
128
+ When publication is `comment-and-ai-artifact`, write the long form beside the
129
+ job, not into the PR comment:
130
+
131
+ ```text
132
+ jobs/reviews/pr-<number>/review-report.md
133
+ .metaproject/jobs/<job-name>/ai/review-report.md
134
+ ```
135
+
136
+ Same section order as the comment. YAML front matter may keep the machine
137
+ verdict (`APPROVE | APPROVE_WITH_SUGGESTIONS | REQUEST_CHANGES`) because ingest
138
+ reads it. The visible title is the subject of the change, never a tool name.
139
+ No co-author line in the file either.
140
+
141
+ ## Language
142
+
143
+ English, regardless of chat language or reviewer output language.
@@ -0,0 +1,3 @@
1
+ {
2
+ "agents": ["go-code-auditor", "go-build-fixer"]
3
+ }