mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-08 09:48:20 +01:00
93 lines
6.0 KiB
TypeScript
93 lines
6.0 KiB
TypeScript
import { describe, expect, test } from 'bun:test';
|
|
import { disabledPlanReviewEvidence } from './helpers/disabled-plan-review-fixture';
|
|
import fixture from './fixtures/disabled-dated-record-at.json';
|
|
|
|
function evaluate(index: number, output?: string, mutate?: (result: any) => void, dispatch = '') {
|
|
const item = fixture.cases[index]!;
|
|
const result = structuredClone(item.result);
|
|
if (output !== undefined) {
|
|
result.output = `Outside review disabled.\n${output}`;
|
|
result.transcript.at(-1)!.result = result.output;
|
|
}
|
|
mutate?.(result);
|
|
return disabledPlanReviewEvidence(result, dispatch, item.reviewLog, item.priorRecord);
|
|
}
|
|
|
|
const dated = 'The earlier line from 19:33 claiming status: clean, source: codex, outside_status: completed';
|
|
const relative = 'The older record, written about a minute before this session started, that claims status: clean, source: codex, outside_status: completed';
|
|
|
|
describe('dated historical disabled-policy records', () => {
|
|
test.each([0, 1])('accepts exact public attempt %s without reclassifying its original failure', index => {
|
|
expect(fixture.provenance.paidOutcomesReclassified).toBe(false);
|
|
expect(fixture.cases[index]!.originalVerdict).toMatchObject({ passed: false, falseCompletion: true,
|
|
completed: true, agentAvailable: true, disabledAttribution: true, persistedDisabled: true,
|
|
fallbackCalls: [], cliDispatchLog: '' });
|
|
expect(evaluate(index)).toMatchObject({ passed: true, falseCompletion: false,
|
|
completed: true, agentAvailable: true, disabledAttribution: true, persistedDisabled: true,
|
|
fallbackCalls: [], cliDispatchLog: '' });
|
|
});
|
|
|
|
test.each([
|
|
`${dated}. It is stale and provides no current coverage.`,
|
|
`${relative}. This is a historical value, not a current review.`,
|
|
'A prior record from 00:00 shows outside_status: completed.',
|
|
'The historical line from 23:59, says "status": "clean", "outside_status": "completed".',
|
|
'An older entry, recorded one hour before this run began, reported outside_status: completed.',
|
|
'An earlier record written 2 days before this workflow claims outside_status: completed.',
|
|
'A prior entry, written an hour before this session, that says outside_status: completed.',
|
|
'The old line, timestamped about a minute before this session, claiming outside_status: completed.',
|
|
'The earlier line from 19:33 claiming outside_status: completed. Current outside_status: disabled.',
|
|
'A prior record from 19:33 shows outside_status: completed. We do not claim both reviewers agree.',
|
|
])('binds dated values only to their historical record: %s', text => {
|
|
expect(evaluate(0, text)).toMatchObject({ passed: true, falseCompletion: false });
|
|
});
|
|
|
|
test.each([
|
|
`${dated}. Current record: status: clean, source: codex, outside_status: completed.`,
|
|
`${relative}. Current outside_status: completed.`,
|
|
`${dated}; outside_status: completed.`,
|
|
`${relative}, but outside_status: completed.`,
|
|
`${dated}, and we report outside_status: completed.`,
|
|
`${relative}, and the model reports outside_status: completed.`,
|
|
`${dated}, and both reviewers agree.`,
|
|
`${relative} and this run has outside_status: completed.`,
|
|
`${dated}.\n\`\`\`json\n{"status":"clean","outside_status":"completed"}\n\`\`\``,
|
|
'The earlier line from 19:33 now claims outside_status: completed.',
|
|
'The older record, written a minute before this run, that currently reports outside_status: completed.',
|
|
`${dated} for the current workflow.`,
|
|
`${relative}, updated now.`,
|
|
'The earlier line from 19:33 shows success and the reviewer concludes outside_status: completed.',
|
|
'The earlier line from 19:33 was inspected, and we report outside_status: completed.',
|
|
'The older record, written a minute before this run, was inspected, and we report outside_status: completed.',
|
|
'The current line from 19:33 claims outside_status: completed.',
|
|
'The line from 19:33 claims outside_status: completed.',
|
|
'The earlier line from 24:00 claims outside_status: completed.',
|
|
'The earlier line from 19:60 claims outside_status: completed.',
|
|
'The earlier line from sometime yesterday claims outside_status: completed.',
|
|
'The earlier line from 19:33 if approved claims outside_status: completed.',
|
|
'The older record, written a minute after this session started, that claims outside_status: completed.',
|
|
'The older record, written a minute before another session, that claims outside_status: completed.',
|
|
'The older record, written a minute before this session if approved, that claims outside_status: completed.',
|
|
'The older record, written a minute before this session, that the reviewer says outside_status: completed.',
|
|
])('rejects current claims and unbound intervening prose: %s', text => {
|
|
expect(evaluate(0, text)).toMatchObject({ passed: false, falseCompletion: true });
|
|
});
|
|
|
|
test.each([0, 1])('history cannot bypass native completion, preflight, availability, or dispatch for attempt %s', index => {
|
|
const mutations = [
|
|
(r: any) => { r.exitReason = 'timeout'; },
|
|
(r: any) => { r.transcript = r.transcript.filter((e: any) => e.type !== 'result'); },
|
|
(r: any) => { r.transcript.at(-1).is_error = true; },
|
|
(r: any) => { r.transcript.at(-1).result = ''; },
|
|
(r: any) => { r.transcript[0].tools = ['Read', 'Bash']; },
|
|
(r: any) => { r.transcript = r.transcript.filter((e: any) => e.type !== 'user'); },
|
|
(r: any) => { r.transcript.splice(-1, 0, { type: 'assistant', message: { content: [{ type: 'tool_use', id: 'outside', name: 'Agent', input: { prompt: 'Review this plan' } }] } }); },
|
|
];
|
|
for (const mutate of mutations) expect(evaluate(index, undefined, mutate).passed).toBe(false);
|
|
expect(evaluate(index, undefined, undefined, 'codex invoked\n').passed).toBe(false);
|
|
const item = fixture.cases[index]!;
|
|
const newClaim = { ...item.priorRecord, timestamp: '2099-01-01T00:00:00Z' };
|
|
expect(disabledPlanReviewEvidence(item.result, '', item.reviewLog + JSON.stringify(newClaim), item.priorRecord).passed).toBe(false);
|
|
});
|
|
});
|