voyage/tests
Kjell Tore Guttormsen 74f75dcb7d
feat(brief): optional threat model in the brief (decision 164, 218)
A brief may carry an optional `## Threat Model` with one line per bullet,
`- Inside: <text>` or `- Outside: <text>`. Present and malformed (no such
bullet, another label or form, empty text, two sections) is
BRIEF_THREAT_MODEL_MALFORMED; absent is today's rule. No brief_version bump
(the ceremony / artifact_store precedent). Sections are found fence- and
comment-aware through intent-approval's new sectionTexts, so the validator
and the hash count the same sections; brief-validator exports
parseThreatModel for the reader.

The intent hash covers `## Threat Model` when present (two sections -> null
hash, as Intent and Goal), so an edited, added or removed threat model
makes the approval stale; a brief without one hashes exactly as before. The
stale message and the /trekplan halt table name the section.

/trekbrief offers the section in its question round when the task touches
a guard, a gate, untrusted input, secrets or publishing, writes it only
when given, shows it verbatim at the Phase 4h approval, and --approve reads
it out. The template documents it; brief-gate-coverage pairs the new code.

Part 2, step 2.1 of the E plan.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-11-08 08:47:51 +01:00
..
commands docs(cleanup): R-b CHANGELOG, scope-aware full swarm, stale wording 2026-11-07 21:16:47 +01:00
fixtures 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
helpers refactor(cleanup): simplify pass on the R-a diff 2026-11-07 13:31:30 +01:00
hooks chore(cleanup): R-b R2 — STORM loop, cap hook and the --engine research choice removed 2026-11-07 20:32:38 +01:00
lib fix(gate): part 1 verifier findings — stop-rule wording, guard tests, unreadable round 2026-11-08 07:39:00 +01:00
review 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
scripts chore(cleanup): R-b R2 — STORM loop, cap hook and the --engine research choice removed 2026-11-07 20:32:38 +01:00
validators feat(brief): optional threat model in the brief (decision 164, 218) 2026-11-08 08:47:51 +01:00
e2e-fix-round-4-5b2-a.sh fix(hooks): the args-heredoc guard blocks a heredoc operator a second shell would read, with a bypass corpus 2026-11-02 09:57:28 +01:00
guard-bypass-corpus-4-5b2-a.sh fix(hooks): the args-heredoc guard blocks a heredoc operator a second shell would read, with a bypass corpus 2026-11-02 09:57:28 +01:00