Carry OCR and missing-source warnings into analysis readiness

This commit is contained in:
2026-09-06 09:45:33 +03:00
parent 49965a2688
commit f073438922
12 changed files with 75 additions and 21 deletions
+17
View File
@@ -0,0 +1,17 @@
import {test} from 'node:test';
import assert from 'node:assert/strict';
import {qualifyAnalysis} from '../server/analysis-quality.mjs';
import {extractionReview} from '../src/services/extractionReview.js';
test('OCR and omitted pages remain partial even when the model claims completion',()=>{
const result=qualifyAnalysis({sourceReview:{status:'complete'}},{text:'Source clause',extraction:{fileName:'Scan.pdf',ocr:true,pageCount:45,usedPages:40,verified:true}});
assert.equal(result.sourceReview.status,'partial');
assert.equal(result.sourceReview.issues.length,2);
assert.equal(result.sourceReview.extraction[0].verified,undefined);
assert.match(result.sourceReview.issues.join(' '),/OCR/);
});
test('combined-source analysis retains a skipped document warning',()=>{
const result=qualifyAnalysis({}, {text:'Available announcement',extraction:[{fileName:'Announcement',complete:true},{fileName:'Missing specification',complete:false}]});
assert.equal(result.sourceReview.status,'partial');
assert.match(result.sourceReview.issues[0],/Missing specification/);
assert.deepEqual(extractionReview({ocr:false,pageCount:45,usedPages:45,complete:true}).issues,[]);
});