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 [--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); });