Evidence Graph turns skipped AI-agent requirements into compile errors
Evidence Graph is a ttsc lint plugin that forces AI coding agents to explicitly cite specs, turning skipped requirements into compile-time errors.
Evidence Graph is a new lint plugin (@samchon/lint-plugin-evidence) built for @ttsc/lint that enforces traceability between specs, code, and tests. Its target problem: when Claude Code or Codex work unattended, they can quietly skip a requirement and still report the task as done. Evidence Graph closes that gap at build time.
The tool works off a "claims" graph defined in lint.config.ts—for example, requiring every React component under src to cite the exact Markdown H2/H3 section it implements via an @evidence comment. If a citation is missing, the ttsc build fails with a TS16411 error naming the exact unaddressed spec section. Intentional omissions are handled with an explicit @evidenceExclude plus a reason.
Graphs can chain markdown, typescript, and swagger targets together—documents citing requirements, components citing documents, tests citing both documents and components—creating multi-layer obligation chains. Symbol selectors (function, property, type, heading levels, swagger operations) control precisely which code or doc units can carry or receive evidence.
The key engineering benefit is that this check runs inside the existing type-checking pipeline (ttsc, --noEmit, ttsx) rather than as a separate CI job, turning spec compliance in AI-driven "goal mode" development from an easily-missed review step into a compiler guarantee.
This synthesis was produced from its source by AI; there is no human editor or manual review step. How we work