Tasks 5-7: eval harness, FastAPI backend, Paper & Ink UI- src/eval/ β precision/recall/F1 harness with type-aware comparators,micro/macro F1, CSV + markdown reports, --model benchmark flag- src/api/ β FastAPI backend with /extract, /schemas, /health,request-ID middleware, typed error envelope, injectable extractor- ui/ β Vite + React + TS + Tailwind + Motion + React Three FiberPaper & Ink editorial UI with 3D paper hero, dark/light mode,confidence inkwell, wax-stamp metrics, kinetic typography- 95 passing tests (up from 54); UI is a separate npm workspace
557ab38 | """Thin wrapper around src.eval.cli so `python scripts/run_eval.py ...` works. | |
| Prefer this entry point in docs β it's discoverable from the repo root. | |
| Adds the repo root to sys.path so `from src.eval.cli import main` resolves | |
| when run directly (rather than as a module). | |
| """ | |
| from __future__ import annotations | |
| import sys | |
| from pathlib import Path | |
| sys.path.insert(0, str(Path(__file__).resolve().parent.parent)) | |
| from src.eval.cli import main # noqa: E402 | |
| if __name__ == "__main__": | |
| raise SystemExit(main()) | |