source / core

The code is the evidence.

The actual implementation serving this project. Read it. Question it. Run it yourself.

ARCHITECTURE MAPSTATIC SOURCE RELATIONSHIPS

The request starts the pipeline. The pipeline calls the AI, runner and verdict function; the request saves their snapshots. This map reports no live execution.

Target-test verdict

IMPLEMENTED · STATIC SOURCE

The pipeline calls this function after execution. It checks the test fingerprint, assertion count, exit code and actual assertion results.

src/verification/verdict.ts
⑂ punfun123/repro ↗Read-only · explicit file whitelist
src/verification/verdict.tsGitHub ↗

Evidence determines the verdict; AI cannot declare a test passed.

import type { Evidence, Status } from '@/experiment/types';
// Verdicts come from the trusted harness, never from AI-generated success text.
export function verdict(evidence: Evidence, expectedHash: string, expectedCount: number): Status {
  if (evidence.infrastructureError || evidence.testHash !== expectedHash || evidence.assertions.length !== expectedCount) return 'EXECUTION_ERROR';
  if (!evidence.assertions.length) return 'UNVERIFIED';
  return evidence.exitCode === 0 && evidence.assertions.every(test => test.passed) ? 'TARGET_TEST_PASSED' : 'TEST_FAILED';
}
8 lines · UTF-8