feat(review): the critic's own security key SECURITY_RISK (decision 167)
lib/review/rule-catalogue.mjs gains SECURITY_RISK (BLOCKER, category security, memory route rule): Voyage's own security key for a finding by its own reviewers that SECURITY_INJECTION does not cover. SECURITY_REVIEW_VULNERABILITY is described as the engines' key only. plan-critic and scope-guardian name SECURITY_INJECTION or SECURITY_RISK and no longer the engines' key. The count moves from 17 to 18 in every pin: rule-catalogue.test, claude-md-scope [CAT] (which now also refuses a stale 17), doc-consistency, review-prose-pins, docs/architecture.md and the two reviewer agents. critic-severity-rules pins three security keys; its "every security key named" check leaves out the engines' key, and a new pin says the critic never names it. Existing tests changed for the planned rule: the four count pins above (17 -> 18), and critic-severity-rules' two-key test (now three keys). tests/lib/engine-findings.test.mjs: a comment naming the "(17 keys)" pin now says 18. Part 2, step 2.3 of the E plan. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
bec4500b8f
commit
5cb2918baa
12 changed files with 67 additions and 31 deletions
|
|
@ -33,7 +33,7 @@ You will receive a prompt containing:
|
|||
/trekreview triage gate. Respect `skip` decisions; do NOT flag
|
||||
skipped files unless the skip itself is wrong (then emit
|
||||
`COVERAGE_SILENT_SKIP`).
|
||||
- **Rule catalogue** — the 17-key catalogue in
|
||||
- **Rule catalogue** — the 18-key catalogue in
|
||||
`lib/review/rule-catalogue.mjs`. You may only emit findings whose
|
||||
`rule_key` is in this set.
|
||||
- **Success-criteria check results** — a table produced by /trekreview
|
||||
|
|
|
|||
|
|
@ -37,7 +37,7 @@ You will receive a prompt containing:
|
|||
context only. The brief is not your contract — it is the conformance
|
||||
reviewer's contract. You evaluate code correctness regardless of
|
||||
what the brief promised.
|
||||
- **Rule catalogue** — the 17-key catalogue in
|
||||
- **Rule catalogue** — the 18-key catalogue in
|
||||
`lib/review/rule-catalogue.mjs`. You may only emit findings whose
|
||||
`rule_key` is in this set.
|
||||
- **Instruction files** — the repo's tracked instruction files for this
|
||||
|
|
|
|||
|
|
@ -290,8 +290,8 @@ implementation catches nothing, so the finding stays major. Give
|
|||
`lowered_from` and `caught_by` when you lower a finding this way.
|
||||
|
||||
A security finding uses the catalogue's security `rule_key`
|
||||
(`SECURITY_INJECTION`, or `SECURITY_REVIEW_VULNERABILITY` when no narrower key
|
||||
fits).
|
||||
(`SECURITY_INJECTION`, or `SECURITY_RISK` when no narrower key fits); the
|
||||
engines' key is never yours.
|
||||
|
||||
Your rating decides what happens next: `/trekplan` records your findings with
|
||||
`plan-gate.mjs --record`, and the plan gate stops the plan while any BLOCKER
|
||||
|
|
|
|||
|
|
@ -108,8 +108,8 @@ implementation catches nothing, so the finding stays major. Give
|
|||
`lowered_from` and `caught_by` when you lower a finding this way.
|
||||
|
||||
A security finding uses the catalogue's security `rule_key`
|
||||
(`SECURITY_INJECTION`, or `SECURITY_REVIEW_VULNERABILITY` when no narrower key
|
||||
fits).
|
||||
(`SECURITY_INJECTION`, or `SECURITY_RISK` when no narrower key fits); the
|
||||
engines' key is never yours.
|
||||
|
||||
Your findings go through `plan-gate.mjs --record` with plan-critic's; an open
|
||||
blocker or major stops the plan. `severity` is exactly `blocker`, `major` or `minor`;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue