docs(intent): M3 + M7 — the header says only what is true
M3: the header claimed "reflowing a paragraph keeps the approval"; joining
lines gives STALE (PM probe iii-c). It now says what keeps the approval
(indentation, in-line spacing, blank lines, CRLF) and that joining or
splitting lines makes it stale — erring safe. Also states the one-section
and code-block/comment rules from M1.
M7: the trekreview exemption is read from the brief's own frontmatter, so a
relabelled brief walks past the gate — the same trust class as self-stamping.
Now said in the module header, HANDOVER-CONTRACTS and /trekplan's gate prose.
HANDOVER-CONTRACTS also names both brief modes the --approve path reaches.
Red 097bae8 (M3, M7) → green. Suite 1224: 1222 pass / 0 fail / 2 skip.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
097bae8a02
commit
4592b40873
3 changed files with 15 additions and 6 deletions
|
|
@ -9,9 +9,12 @@
|
|||
//
|
||||
// The hash binds the approval to the EXACT intent text: each section is
|
||||
// normalized (lines trimmed, whitespace runs collapsed, blank lines dropped)
|
||||
// and the pair is hashed. Reflowing a paragraph keeps the approval; changing
|
||||
// a word in ## Intent or ## Goal after approval makes it stale, and /trekplan
|
||||
// stops until the operator approves the new text.
|
||||
// and the pair is hashed. Indentation, spacing inside a line, blank lines and
|
||||
// CRLF keep the approval. Line breaks are part of the text:
|
||||
// joining or splitting lines makes the approval stale, as does changing a
|
||||
// word. That errs safe: /trekplan stops until the operator approves the new text.
|
||||
// Each section must appear exactly once; a `## ` line inside a fenced code
|
||||
// block or an HTML comment is text, not a heading.
|
||||
//
|
||||
// WHAT THE MARKER DOES NOT PROVE. Same user, same machine: any session with
|
||||
// write access to the brief can run `--stamp` itself, or write the two fields
|
||||
|
|
@ -22,7 +25,10 @@
|
|||
// operator's behalf.
|
||||
//
|
||||
// trekreview briefs are exempt: they are produced from a review of an already
|
||||
// planned brief and carry no ## Intent of their own.
|
||||
// planned brief and carry no ## Intent of their own. The exemption is read
|
||||
// from the brief's own frontmatter, so relabelling a brief `type: trekreview`
|
||||
// walks past the gate. That is the same trust class as self-stamping: a
|
||||
// session that can edit the brief can do either. Neither is caught here.
|
||||
//
|
||||
// CLI:
|
||||
// node lib/validators/intent-approval.mjs --check [--json] <brief.md>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue