- Version
0.1.0 - Purity server-only (private,
node:fs+node:osfor throwaway sqlite boards via@clawboo/db;private: true, never imported from the SPA bundle) - Purpose The eval harness turned inward on clawboo’s OWN orchestration: a task drives the orchestration against a clean throwaway board, then GRADES the final board state + event log (the outcome, not the narration), reporting pass@1 / pass^k and the marginal-contribution ablation scorecard.
- Workspace deps
@clawboo/db,@clawboo/executor,@clawboo/governance,@clawboo/obs - External deps
zod^3.25.0
. entry point (no subpath exports); the barrel re-exports six modules: ./types, ./env, ./runner, ./ablation, ./graders, ./tasks.
Scorecards + ablation results are written outside the repo. Graders come in three families (code / model / human); only code and model graders are implemented here. The model (LLM-as-judge) grader is non-deterministic + priced and is not yet wired into any task (a deferred live path), so nothing runs it today; never the PR smoke subset.
Public API
Functions
env (./env)
runner (
./runner)
graders/code (
./graders → ./code); fast, objective, deterministic; inspect the board + event log, not the transcript.
graders/model (
./graders → ./model), LLM-as-judge for subjective dimensions; defined but not yet wired into any task (the deferred live path).
ablation (
./ablation)
Types & interfaces
types (./types)
runner (
./runner)
graders/model (
./graders → ./model)
ablation (
./ablation)
Constants
Classes
None; this package exports only functions, types, and constants.Used by
apps/web(server),api/evalSmoke.ts(POST /api/eval/smoke) importsSMOKE_TASKS,makeBoardContext,runSuite,cleanupEvalContextsto run the deterministic suite on ephemeral boards on demand from the Observability dashboard. The SPA never imports the package directly;apps/web/src/lib/evalsClient.tsmirrors theSuiteReport/TaskReportshapes over REST.- CI,
.github/workflows/evals.yml(workflow_dispatch) builds@clawboo/evals+ its deps and runs the deterministic suite + the ablation self-test; no provider keys are used (the live-model grader is not yet wired into any task).
Source
Barrel:packages/evals/src/index.ts (re-exports ./types, ./env, ./runner, ./ablation, ./graders, ./tasks).
See also
- Verification (builder≠judge), the
verifysubsystem the ablation toggles - The board, the
structured-statesubsystem the ablation toggles - Observability dashboard, where the smoke evals run from the UI
- Observability REST API,
POST /api/eval/smoke @clawboo/obs, the structured-output judge drive reused by the model grader@clawboo/db, the board the graders read- Testing internals
- Package overview