voyage/agents
Kjell Tore Guttormsen 98171d7d3b
feat(gate): the brief's threat model on the plan side (decision 164, 218, 220)
plan-gate.mjs --record --brief <brief.md> (a known flag; its value is kept
out of the positional arguments, a missing value is a usage error) applies
the brief's threat model to the deduped findings before countRound when
threat-model.mjs usable() says it may: a backed finding (Voyage's own
security finding whose threat_model_ref equals an Outside: line's text)
leaves the counted set and the stop rule and goes to the new optional
verdict field known_outside ({id, rule_key, text, line}), carried to later
rounds until a reviewer marks it resolved or it is reported again under its
id. The verdict stores brief_path (carried when a later round has none).
The --record line adds known_outside (a count) and threat_model
({applied, why}): a threat model that is not usable backs nothing, every
security finding counts, and the output says why. extractVerdict
shape-checks both new fields.

The bare gate re-reads the brief at brief_path each run: an entry still
backed is a warning, PLAN_GATE_KNOWN_OUTSIDE; one no longer backed (line
gone, approval stale or not logged, brief unreadable, no brief_path, or not
a Voyage security finding) stops the plan, PLAN_GATE_OUTSIDE_NOT_BACKED: it
counts in full. gatePlan takes an optional threatModel for tests.

plan-review-dedup keeps threat_model_ref on a merge only when every merged
copy carries the same one; the S160 known issue is fixed: a null in a
reviewer's findings list is skipped instead of crashing the CLI.

plan-critic and scope-guardian: a security finding needs a concrete attack
path and high confidence (Claude Code's threshold, 167), uses
SECURITY_INJECTION or SECURITY_RISK, and quotes the Outside: line's text in
threat_model_ref when one applies; the json template carries the field.
/trekplan Phase 9 passes the brief path to plan-critic and --brief to
--record. Handover 4 names the two fields, the two codes and the flag.

Part 2, step 2.4 of the E plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 09:04:08 +01:00
..
architecture-mapper.md fix(agents): no agent is pinned below the high floor 2026-10-05 17:40:53 +02:00
brief-conformance-reviewer.md feat(review): the critic's own security key SECURITY_RISK (decision 167) 2026-11-08 08:55:34 +01:00
brief-reviewer.md fix(docs): name /trekplan where the text sent readers to a reference document, and give the reference documents read-only tools 2026-10-22 14:23:05 +02:00
code-correctness-reviewer.md feat(review): the critic's own security key SECURITY_RISK (decision 167) 2026-11-08 08:55:34 +01:00
community-researcher.md feat(research): researching-sources skill, preloaded by the five web agents 2026-10-08 21:46:49 +02:00
contrarian-researcher.md feat(research): researching-sources skill, preloaded by the five web agents 2026-10-08 21:46:49 +02:00
convention-scanner.md refactor(agents): relocate example blocks to body (retrieval agents) 2026-06-29 10:16:48 +02:00
dependency-tracer.md fix(agents): no agent is pinned below the high floor 2026-10-05 17:40:53 +02:00
docs-researcher.md feat(research): researching-sources skill, preloaded by the five web agents 2026-10-08 21:46:49 +02:00
git-historian.md feat(trekplan): Regression and On failure step rules, and trial 2's minor fixes 2026-10-08 21:42:21 +02:00
plan-critic.md feat(gate): the brief's threat model on the plan side (decision 164, 218, 220) 2026-11-08 09:04:08 +01:00
research-scout.md fix(agents): reviewers drop a finding only with a Declined to Judge line, research-scout gets Tavily, no dead override reference 2026-10-22 14:11:47 +02:00
review-coordinator.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
risk-assessor.md refactor(agents): relocate example blocks to body (reviewer/planning agents) 2026-06-29 10:19:24 +02:00
scope-guardian.md feat(gate): the brief's threat model on the plan side (decision 164, 218, 220) 2026-11-08 09:04:08 +01:00
security-researcher.md feat(research): researching-sources skill, preloaded by the five web agents 2026-10-08 21:46:49 +02:00
session-decomposer.md fix(docs): name /trekplan where the text sent readers to a reference document, and give the reference documents read-only tools 2026-10-22 14:23:05 +02:00
step-implementer.md fix(execute): below 1.8 a plan that names no test file gets the files the helper wrote 2026-10-14 18:17:24 +02:00
task-finder.md fix(agents): no agent is pinned below the high floor 2026-10-05 17:40:53 +02:00
test-strategist.md refactor(agents): relocate example blocks to body (retrieval agents) 2026-06-29 10:16:48 +02:00