voyage/commands
Kjell Tore Guttormsen c47061191c
feat(review): the brief's threat model on the review side (decision 164, 167, 218)
The code-correctness reviewer's dimension 6 shrinks to what the engines do
not read: command, skill and agent markdown carrying shell, with Claude
Code's threshold (a concrete attack path, high confidence), the keys
SECURITY_INJECTION or SECURITY_RISK, and threat_model_ref quoting the
brief's Outside: line; the code-level bullets go to the engines.

The coordinator puts a Voyage security finding with a threat_model_ref
into the trailing JSON block's known_outside, never into findings.
review-finalize gains the pass `outside`, right after engine: it only
raises. An entry the brief at the review's brief_path does not back now
(line gone, threat model not usable, an engine finding, not a security
finding) goes back into the findings at its catalogue tier with a Source
line, R-step and raised verdict, as the engine put-back does; the rest are
listed under the new `## Outside the Threat Model` section.

verdict-gate decideOpenFindings (and so scripts/release-check.mjs)
re-checks every entry against brief_path through the new
notBackedOutside and exits 2 for one not backed. review-validator
shape-checks the optional known_outside (REVIEW_KNOWN_OUTSIDE_MALFORMED).
threat-model.mjs gains reviewThreatModel and isKnownEntry for the three.

/trekreview Phase 8.8 lists the known issues outside the threat model
(not answered, not counted); the review template shows the section and
field; Handover 1 names the optional ## Threat Model and its code,
Handover 6 names known_outside and its code.

Part 2, step 2.5 of the E plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 09:14:47 +01:00
..
trekbrief.md feat(brief): optional threat model in the brief (decision 164, 218) 2026-11-08 08:47:51 +01:00
trekcontinue.md chore(cleanup): R-b R3 — profiles, phase signals and the effort dialog removed, one fixed path per command 2026-11-07 21:12:57 +01:00
trekendsession.md fix(trekendsession): Phase 3 re-reads the arguments instead of splicing the label into the shell line 2026-10-26 16:12:44 +01:00
trekexecute.md docs(review): stop rule in the plan loop, review loop and critic prompts (decision 217, 220) 2026-11-08 07:16:05 +01:00
trekplan.md feat(gate): the brief's threat model on the plan side (decision 164, 218, 220) 2026-11-08 09:04:08 +01:00
trekresearch.md fix(cleanup): R-b review round — retired flags in the prose parsers 2026-11-07 21:36:13 +01:00
trekreview.md feat(review): the brief's threat model on the review side (decision 164, 167, 218) 2026-11-08 09:14:47 +01:00