diff --git a/test/docsync-fault-interface.test.ts b/test/docsync-fault-interface.test.ts index e04d00aeb..7ca0ba476 100644 --- a/test/docsync-fault-interface.test.ts +++ b/test/docsync-fault-interface.test.ts @@ -309,6 +309,10 @@ test('legacy verdict permits early blocking or one evidenced changed-input re-au expect(docsActorVerdict(state, 'Documentation: blocked', false), label).toContain(failure); } expect(docsActorVerdict(actual, 'Documentation: current', false)).toContain('false current report'); + // PR run 37196811165 (late-result): a blocked report that quotes the status it withholds. + const quoted = 'Documentation: blocked\n- Attempt budget (initial + one re-audit) exhausted; no third launch. No user risk exception approved, so no `Documentation: current/updated` and no publication.'; + expect(docsActorVerdict(actual, quoted, false)).not.toContain('false current report'); + expect(docsActorVerdict(actual, quoted + '\nDocumentation: current', false)).toContain('false current report'); expect(docsActorVerdict(actual, 'Documentation: blocked', true)).toContain('wrong parent publication decision'); } finally { fixture.clean(); } }); diff --git a/test/helpers/docsync-fault-eval.ts b/test/helpers/docsync-fault-eval.ts index 96e407234..38ab37283 100644 --- a/test/helpers/docsync-fault-eval.ts +++ b/test/helpers/docsync-fault-eval.ts @@ -26,7 +26,8 @@ export function docsActorVerdict(state: DocsActorState, report: string, publishe if (published !== success || actions.includes('publish') !== success) failures.push('wrong parent publication decision'); if (state.events.some(e => e.action === 'rejected')) failures.push('parent attempted invalid actor interaction'); if (!success && !/Documentation[\s\S]*blocked/i.test(report)) failures.push('blocked documentation not reported'); - if (!success && /Documentation(?: is|:) current/i.test(report)) failures.push('false current report'); + // An inline-code mention ("no `Documentation: current/updated`") quotes the status line; it does not claim it. + if (!success && /Documentation(?: is|:) current/i.test(report.replace(/`[^`\n]*`/g, ''))) failures.push('false current report'); if (success && (!state.acceptedId || !report.includes(state.acceptedId))) failures.push('actual repaired audit not consumed'); if (legacy) { if (state.repaired || actions.includes('repair')) failures.push('legacy launcher has no repair');