feat(iit): harden QC pipeline consistency and release artifacts
Implement IIT quality workflow hardening across eQuery deduplication, guard metadata validation, timeline/readability improvements, and chat evidence fallbacks, then synchronize release and development documentation for deployment handoff. Includes migration/scripts for open eQuery dedupe guards, orchestration/status semantics, report/tool readability fixes, and updated module status plus deployment checklist. Made-with: Cursor
This commit is contained in:
39
backend/scripts/run_iit_qc_once.ts
Normal file
39
backend/scripts/run_iit_qc_once.ts
Normal file
@@ -0,0 +1,39 @@
|
||||
import { QcExecutor } from '../src/modules/iit-manager/engines/QcExecutor.js';
|
||||
import { dailyQcOrchestrator } from '../src/modules/iit-manager/services/DailyQcOrchestrator.js';
|
||||
|
||||
async function main() {
|
||||
const projectId = process.argv[2];
|
||||
const skipPush = process.argv.includes('--skip-push');
|
||||
if (!projectId) {
|
||||
throw new Error('Usage: npx tsx scripts/run_iit_qc_once.ts <projectId> [--skip-push]');
|
||||
}
|
||||
|
||||
const executor = new QcExecutor(projectId);
|
||||
const batch = await executor.executeBatch({
|
||||
triggeredBy: 'manual',
|
||||
skipSoftRules: true,
|
||||
});
|
||||
|
||||
const orchestrate = await dailyQcOrchestrator.orchestrate(projectId, { skipPush });
|
||||
|
||||
console.log(JSON.stringify({
|
||||
projectId,
|
||||
batch: {
|
||||
totalRecords: batch.totalRecords,
|
||||
totalEvents: batch.totalEvents,
|
||||
passed: batch.passed,
|
||||
failed: batch.failed,
|
||||
warnings: batch.warnings,
|
||||
fieldStatusWrites: batch.fieldStatusWrites,
|
||||
executionTimeMs: batch.executionTimeMs,
|
||||
},
|
||||
orchestrate,
|
||||
skipPush,
|
||||
}, null, 2));
|
||||
}
|
||||
|
||||
main().catch((e) => {
|
||||
console.error(e);
|
||||
process.exit(1);
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user