fix(siblings): the texts found next to round 4.5a's fixes say what the code does
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
parent
e351e7c29d
commit
8a2a989f79
18 changed files with 284 additions and 71 deletions
|
|
@ -75,6 +75,21 @@ test('armB — a coordinator ALLOW over a BLOCKER finding is recomputed to BLOCK
|
|||
assert.equal(r.verdict, 'BLOCK');
|
||||
});
|
||||
|
||||
test('[#111] sibling: the Arm B coordinator prompt keeps, never drops, a finding whose rule_key is not in the catalogue', async () => {
|
||||
const f = { severity: 'MAJOR', rule_key: 'MISSING_TEST', file: 'a.mjs', line: 1, title: 't', detail: 'd' };
|
||||
const s = stubs({
|
||||
reviewers: [{ reviewer: 'c', findings: [f] }, { reviewer: 'k', findings: [] }],
|
||||
coordinator: { verdict: 'WARN', findings: [f] },
|
||||
});
|
||||
await exec({ ...BASE, enginePayloads: [engine('claude-code-review'), engine('claude-security-review')] }, s);
|
||||
const prompt = (s.calls.coordinatorPrompt ?? '').replace(/\s+/g, ' ');
|
||||
assert.ok(prompt.includes('keep, never drop, a finding whose rule_key is not in the catalogue'),
|
||||
'the coordinator prompt does not keep a finding whose rule_key is not in the catalogue');
|
||||
assert.ok(prompt.includes('drop a finding with no file:line citation or whose file is in neither the tree nor the diff'),
|
||||
'the coordinator prompt does not name what Pass 3 drops');
|
||||
assert.ok(!prompt.includes('catalogue-violating'), 'the coordinator prompt still drops catalogue-violating findings');
|
||||
});
|
||||
|
||||
test('armB — quick mode expects only the /code-review engine', async () => {
|
||||
const s = stubs({ reviewers: [{ reviewer: 'k', findings: [] }] });
|
||||
const r = await exec({ ...BASE, quick: true, enginePayloads: [engine('claude-code-review')] }, s);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue