Releases: nickjlamb/groundwork
Release list
Groundwork v0.3.0 — document QA, deepened
Document QA, deepened — this release guards the layer underneath the answers, teaches the whole thing as a course, and gives partners the measurement story.
Retrieval fidelity
Grounding checks verify answers against the context they were given. But if your ingestion pipeline serves a truncated or garbled section, every answer grounded on it inherits the damage — and nothing in the answers looks wrong. Adapters can now expose fetchRecord({ id }), with gold cases of kind "retrieval" pinning requireFields and anchors hand-copied from the source document, never from your system's output. Two or three cases on your most load-bearing sections catch a bad ingestion deploy by name:
✗ FIDELITY fidelity-savings: body missing "£16,000"
Opt-in via a commented block in the scaffolded adapter; npm run demo / demo:break exercise it in both directions. (For PubMed-shaped systems, fetchRecord can wrap a structured retrieval layer like PubCrawl.)
The course
docs/course/ — six checkpoint-driven lessons from prototype to gated deployment. Every checkpoint is verifiable ("this now works on your machine", never "you have read this"), including the sabotage test: deliberately break your own system on a branch and prove CI catches it. The completion checklist ends with the one item no tool can check — a named person reviews high-stakes outputs, and everyone on the team can say who.
Deployment log
init now scaffolds groundwork/DEPLOYMENT-LOG.md. Groundwork sends no telemetry — so the measurement lives with you: time-to-production milestones, incidents the gate caught before users saw them, and the weekly gold-set habit. About a minute a week; it's also what a supporting organisation will ask to see.
Install / upgrade
npm install -D @pharmatools/groundwork@latestRoadmap note: this closes the 0.3.x retrieval item by deepening document QA rather than starting a second archetype — the "explicitly not planned" list stands. Full history in CHANGELOG.md.
Groundwork v0.2.0 — checks callable from Claude
Groundwork's checks are now callable from Claude itself.
MCP server
groundwork-mcp (stdio) exposes the same deterministic gate as four MCP tools for Claude Code, Cowork, and Claude Desktop:
check_answer_grounding— paste a question, context, and answer; get a pass/fail with named issues (missing anchored facts, ungrounded numbers, missed abstention). No repo needed. Imports OpenGATE's exported gate logic directly, so the conversational verdict and the CI gate can never drift apart.check_readiness— runs the fullgroundwork checkon a repo and returns exit code, grounding metrics, and named failures: exactly what CI would say.scaffold_harness—groundwork init, conversationally; never overwrites.cost_summary— measured token usage with savings in leverage order.
{ "mcpServers": { "groundwork": { "command": "npx", "args": ["-y", "-p", "@pharmatools/groundwork", "groundwork-mcp"] } } }Every tool result carries the caveat in the payload: a strong floor, not a guarantee — human in the loop for high-stakes answers.
Agent Skill
skills/groundwork-readiness/ teaches an agent to detect a harness, scaffold one if missing, insist on gold cases from real failures rather than synthetic ones, read results correctly (a SKIPPED grounding row is not a pass), and refuse to present a green check as a safety certification. Ships in the npm tarball.
Install / upgrade
npm install -D @pharmatools/groundwork@latestFull history in CHANGELOG.md.
Groundwork v0.1.0 — first public release
The first public release of Groundwork — a deployment-readiness harness for document-QA AI systems, built for small teams with a working prototype and no ML engineer.
What's in 0.1.0
The harness. npx @pharmatools/groundwork init scaffolds ten files into your repo: a one-file adapter boundary to your system, a deterministic redaction pre-step (Redacta), a gold-set template with a labelling guide, a GitHub Action, and a playbook (GROUNDWORK.md) that walks a non-ML team from prototype to gated CI in an afternoon.
The checks. groundwork check runs a redaction self-test, then a grounding eval (OpenGATE): required facts present, every number traced to your documents, abstention on unanswerable questions. Deterministic — no LLM judge, no API key, same inputs same result. --baseline freezes a floor; --ci fails any run below it.
The costs. groundwork cost reads measured token usage from your eval runs and recommends savings in leverage order — prompt caching, batching, context trimming, and model routing last, re-verified through the gate.
Proof it works, offline. npm run demo runs the whole loop with no key; npm run demo:break flips the demo system into real failure modes — invented figures, missed abstentions — and the gate catches every one by name. CI asserts both behaviours on every push.
A real example. examples/claude-doc-qa wires the harness to a live Claude-backed system: answer-from-document-only prompting, prompt caching, key-gated evals, a mock API so the full loop runs in CI, and real usage feeding groundwork cost.
Install
npm install -D @pharmatools/groundwork
npx groundwork initDocs: Getting started · Website: pharmatools.ai/groundwork
The honest paragraph
Groundwork is a strong floor, not a guarantee. It automates the checks that can be automated; it cannot certify an AI system safe, and it does not replace human review for answers that affect someone's health, money, legal standing, or safety. Keep a person in that loop.
Everything init scaffolds into your repo is MIT-0 — yours, no attribution needed. Groundwork itself is MIT.