Getting Started
Synthesis is a deterministic eval framework that catches relational failure modes in AI assistant responses. No LLM judge, no probabilistic scoring — just rule-based pattern matching that produces auditable evidence.
Installation
Section titled “Installation”From npm:
npm install @mcptoolshop/synthesisOr clone and build from source:
git clone https://github.com/mcp-tool-shop-org/synthesis.gitcd synthesisnpm installnpm run buildRun your first eval
Section titled “Run your first eval”The quickest way to see Synthesis in action:
npm run buildnpm run evalThis loads the bundled GREEN pack from data/evals.jsonl, runs all five checkers, and writes a JSON report to out/report.json.
Exit code 0 means no unexpected failures.
A separate planted pack lives at data/planted-theater.jsonl. Run it with npm run eval:planted. That harness is inverted: every planted row must stay RED (schema-invalid or theater-flagged). Do not mix planted RED rows into data/evals.jsonl — npm run eval and npm run verify stay GREEN against the evals pack only.
Development mode
Section titled “Development mode”For faster iteration without a build step:
npm run devWhat happens during an eval
Section titled “What happens during an eval”- Load — Synthesis reads your JSONL test cases and validates each one against the JSON schema
- Check — Each case runs through the checkers specified in its
checksarray - Compare — If
expectedlabels are provided, computed results are compared against ground truth - Report — A structured JSON report is written with per-case results, evidence, and aggregate metrics
Next steps
Section titled “Next steps”- Learn how the checkers work under the hood
- Write your own test cases
- Set up CI integration for automated empathy regression testing