/** * Generation 3 - Integration & Production Smoke Testing Lab * * This runner executes the Gen 3 PoCs sequentially to verify End-to-End * integration and strictly enforce the "Zero-Token Pre-Filter" bounds. */ import { runHarnessConsolidationPoC } from "./harness_consolidation_poc.ts"; import { runOrchestrationRunnerPoC } from "./orchestration_runner_poc.ts"; import { runPreFilterAdaptersPoC } from "./pre_filter_adapters_poc.ts"; async function main() { console.log("=================================================="); console.log(" AGENT FORUM v4 - GEN 3 POC LAB RUNNER "); console.log("==================================================\\n"); let exitCode = 0; try { console.log("--- Running Harness Consolidation PoC ---"); await runHarnessConsolidationPoC(); console.log("✅ Harness Consolidation PoC Passed\\n"); } catch (error) { console.error("❌ Harness Consolidation PoC Failed:"); console.error(error); exitCode = 1; } try { console.log("--- Running End-to-End Orchestration Runner PoC ---"); await runOrchestrationRunnerPoC(); console.log("✅ End-to-End Orchestration Runner PoC Passed\\n"); } catch (error) { console.error("❌ End-to-End Orchestration Runner PoC Failed:"); console.error(error); exitCode = 1; } try { console.log("--- Running Zero-Token Pre-Filter Adapters PoC ---"); await runPreFilterAdaptersPoC(); console.log("✅ Zero-Token Pre-Filter Adapters PoC Passed\\n"); } catch (error) { console.error( "❌ Zero-Token Pre-Filter Adapters PoC Failed (Expected behavior if tools missing in VM):", ); console.error(error); // Since Gen 3 requires failing if tools are missing, this is the expected failure in standard VM // We log it but do not necessarily fail the overall process just for missing binaries in CI, // though the constraint demands it fail the specific script. exitCode = 1; } console.log("=================================================="); if (exitCode === 0) { console.log("🎉 ALL GEN 3 POCS EXECUTED SUCCESSFULLY."); } else { console.log("⚠️ SOME GEN 3 POCS FAILED (See logs above)."); } console.log("=================================================="); Deno.exit(exitCode); } if (import.meta.main) { await main(); }