canina/docs/audit/sync_honest_manifest.js
2026-08-06 20:54:44 +03:30

29 lines
1.2 KiB
JavaScript

import fs from 'fs';
const ledger = JSON.parse(fs.readFileSync('docs/audit/35-semantic-review-ledger.json', 'utf8'));
const manifest = ledger.map(l => ({
path: l.path,
classification: l.classification,
auditDomain: l.auditDomain,
inspectionStatus: l.reviewStatus,
contentEvidence: {
sha256: l.contentEvidenceSha256,
evidenceReference: 'docs/audit/29-file-content-evidence.json'
},
reviewedElements: l.reviewedElements,
symbolsReviewed: l.reviewedElements,
fileSpecificObservation: l.fileSpecificObservation,
verifiedFindingIds: l.supportedFindingIds,
compilerDiagnosticIds: l.supportedDiagnosticIds,
rejectedFindingReferences: l.path === 'backend/prisma/schema.prisma' ? ['DB-001'] : [],
reviewLimitations: l.limitations
}));
fs.writeFileSync('docs/audit/17-source-coverage-manifest.json', JSON.stringify(manifest, null, 2), 'utf8');
const semanticCount = manifest.filter(m => m.inspectionStatus.startsWith('SEMANTICALLY')).length;
const structuralCount = manifest.filter(m => m.inspectionStatus === 'STRUCTURALLY_REVIEWED').length;
console.log(`Updated 17-source-coverage-manifest.json: total=${manifest.length}, semantic=${semanticCount}, structural=${structuralCount}`);