// test.js const { processSignal } = require('./engine'); function runDeterministicTest() { const input = 'test-signal'; const run1 = processSignal(input); const run2 = processSignal(input); console.log('Run 1:', run1); console.log('Run 2:', run2); const sameOutput = run1.output === run2.output; const sameTimestamp = run1.timestamp === run2.timestamp; const sameStatus = run1.status === run2.status; if (!sameOutput || !sameTimestamp || !sameStatus) { console.error('Determinism violated'); process.exit(1); } if (run1.invariants.violations.length > 0 || run2.invariants.violations.length > 0) { console.error('Invariant violation detected'); console.error('Run 1 violations:', run1.invariants.violations); console.error('Run 2 violations:', run2.invariants.violations); process.exit(1); } console.log('Determinism and invariants confirmed.'); } runDeterministicTest();