test(intent): M3–M7 — halt pinned where it acts, allowlist guarded, header claims pinned
M4: the halt regex matched any **halt** in a 2500-char window, so the PM's mutant (first **halt** → "continue anyway") survived. Two new tests pin the sentence right after the gate command and the could-not-run halt. Mutant run: old test ok, both new tests not ok. M5: nothing guarded 2045432's allowlist line. New test: trekbrief keeps intent_approved, drops task/project_dir. Mutant (line removed): not ok. M3 (red): the header claims a reflow keeps the approval; joining lines is STALE. Pins the honest wording + the STALE behaviour. M7 (red): the trekreview exemption is not documented as a bypass of the same trust class as self-stamping (header, HANDOVER-CONTRACTS, trekplan). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
20f32bb06b
commit
097bae8a02
2 changed files with 62 additions and 0 deletions
|
|
@ -209,6 +209,24 @@ test('field-allowlist: trekplan DROPS task / project_dir / brief_path (PII)', ()
|
|||
assert.equal(out.profile, 'premium');
|
||||
});
|
||||
|
||||
// M5: 2045432 added intent_approved to the trekbrief allowlist and no test
|
||||
// guarded it — removing the line left the suite green.
|
||||
test('field-allowlist: trekbrief KEEPS intent_approved (veikart steg 1) and drops task / project_dir', () => {
|
||||
const record = {
|
||||
ts: '2026-09-23T10:00:00.000Z',
|
||||
task: 'private user prose',
|
||||
slug: 'dark-mode-toggle',
|
||||
project_dir: '/home/user/secret/project',
|
||||
intent_approved: true,
|
||||
};
|
||||
const out = applyFieldAllowlist(record, 'trekbrief');
|
||||
assert.equal(out.intent_approved, true);
|
||||
assert.equal(out.slug, 'dark-mode-toggle');
|
||||
assert.equal('task' in out, false);
|
||||
assert.equal('project_dir' in out, false);
|
||||
assert.equal(applyFieldAllowlist({ ...record, intent_approved: false }, 'trekbrief').intent_approved, false);
|
||||
});
|
||||
|
||||
test('field-allowlist: event-emit applies sub-allowlist to payload', () => {
|
||||
const record = {
|
||||
ts: '2026-05-09T08:00:00.000Z',
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue