test: cover fake progress evidence regression
This commit is contained in:
@@ -256,6 +256,22 @@ async function main() {
|
|||||||
assert.match(neutralInjected, /autoChainAllowed=false/, 'hook neutral-path should keep auto-chain disabled');
|
assert.match(neutralInjected, /autoChainAllowed=false/, 'hook neutral-path should keep auto-chain disabled');
|
||||||
assert.doesNotMatch(neutralInjected, /reason=explicit auto-chain next action requires dispatched-action evidence/, 'hook neutral-path should not fail on auto-chain evidence when no explicit tool action exists');
|
assert.doesNotMatch(neutralInjected, /reason=explicit auto-chain next action requires dispatched-action evidence/, 'hook neutral-path should not fail on auto-chain evidence when no explicit tool action exists');
|
||||||
|
|
||||||
|
const fakeProgressEvidenceInjected = await withPatchedWrapper(buildWrapperScript({
|
||||||
|
classification: 'long_task',
|
||||||
|
silentCandidate: true,
|
||||||
|
needsCheckpoint: true,
|
||||||
|
needsSubagent: false,
|
||||||
|
needsOwnerDecision: false,
|
||||||
|
silentLaunchOk: true,
|
||||||
|
silentLaunchReason: 'task name exists but no externalized artifact',
|
||||||
|
taskRecord: { task_name: 'descriptive-task-name-only' },
|
||||||
|
handoff: { mode: 'direct_reply' },
|
||||||
|
}), async () => runScenario(forceRecall, requestText));
|
||||||
|
assert.match(fakeProgressEvidenceInjected, /gateStatus=fail/, 'hook fake-progress-evidence path should fail when only task_name exists');
|
||||||
|
assert.match(fakeProgressEvidenceInjected, /reason=claimed progression without concrete progress evidence is forbidden/, 'hook fake-progress-evidence path should mention missing concrete progress evidence');
|
||||||
|
assert.match(fakeProgressEvidenceInjected, /requiredEvidence=progressEvidence/, 'hook fake-progress-evidence path should require progressEvidence');
|
||||||
|
assert.match(fakeProgressEvidenceInjected, /reason=silent long-task cannot continue without externalized checkpoint path/, 'hook fake-progress-evidence path should also require real checkpoint evidence');
|
||||||
|
|
||||||
const specReviewWithoutEvidenceInjected = await withPatchedWrapper(buildWrapperScript({
|
const specReviewWithoutEvidenceInjected = await withPatchedWrapper(buildWrapperScript({
|
||||||
classification: 'long_task',
|
classification: 'long_task',
|
||||||
silentCandidate: false,
|
silentCandidate: false,
|
||||||
|
|||||||
Reference in New Issue
Block a user