Turn AI recommendations into tests.
AI writes the recommendation. Decispec runs the tests.
Decispec compiles an AI-written recommendation and its evidence into an executable decision specification. It binds material claims to exact source passages, recalculates structured operations, checks units and policy constraints, propagates failures through a proof graph, and reports whether the conclusion follows from the declared inputs.
Decispec does not guarantee that a decision is universally correct. It verifies a narrower question: does this recommendation follow from the represented evidence, assumptions, calculations, dependencies, and selection rule?
AI can produce polished recommendations that still mix billing periods, omit recurring costs, rely on unsupported assumptions, or carry broken totals into the conclusion. Conventional document workflows hide the evidence-to-conclusion chain inside prose.
Decispec is for teams reviewing consequential recommendations in procurement, finance, operations, policy, compliance, and technical governance.
eval are forbidden.flowchart LR
U["Evidence + draft recommendation"] --> S["Stable source segments"]
S --> P["AI semantic proposal"]
P --> V["Strict schema, provenance, unit, and DAG validation"]
V --> E["Deterministic proof engine"]
E --> T["Decision Test Suite"]
E --> G["Proof graph"]
E --> R["Report + JSON export"]
The provider is a proposal boundary, not an authority boundary. It cannot authoritatively set claim status, arithmetic, integrity, diffs, or the final winner.
See the architecture document and technical submission summary for more detail.
unpdf for server-side text extractionDecispec was developed with roughly five dollars of API credit. Codex served as an engineering collaborator across architecture, strict schemas, the deterministic proof engine, provider validation, UI implementation, regression tests, browser automation, debugging, and deployment preparation.
GPT-5.6 has a deliberately narrow runtime role. After the user explicitly selects Test decision, it proposes a structured representation of the submitted documents: source references, claims, calculations, dependencies, assumptions, corrections, and recommendation candidates. It does not authoritatively decide what is supported, broken, corrected, or recommended.
All source binding, numeric and unit validation, calculation execution, dependency propagation, correction materialization, integrity checks, and final candidate selection run in deterministic local code. This separation made limited API credit practical while keeping the result repeatable and testable.
Requires Node.js 22.13 or newer.
git clone https://github.com/UMBR-A/decispec.git
cd decispec
npm ci
cp .env.example .env.local
npm run dev
Set the live provider values in ignored .env.local. Never expose the key through a NEXT_PUBLIC_ or VITE_ variable.
OPENAI_API_KEY=your-project-key
OPENAI_PROVIDER=openai
OPENAI_MODEL=gpt-5.6
Open http://localhost:3000, select Analyze my decision, and confirm the preflight checks before uploading evidence. The provider is called only after Test decision is pressed.
| Command | Purpose |
|---|---|
npm run dev |
Start the Vinext development server |
npm run typecheck |
Run TypeScript without emitting files |
npm run lint |
Run ESLint |
npm test |
Run unit, component, provider, route, replay, and export tests |
npm run test:e2e |
Run the Playwright browser suite |
npm run build |
Build the Vinext/Cloudflare-compatible target |
npm run build:vercel |
Build the native Next.js Vercel target |
npm run verify |
Run typecheck, lint, tests, and Vinext build |
The paid live smoke test is separately gated by ASSERT_LIVE_SMOKE=1 and is not part of ordinary verification.
OPENAI_API_KEY is read only on the server and is never returned to the browser.store: false, no tools, no conversation linkage, and zero automatic retries.Decispec is available under the MIT License. Copyright © 2026 Decispec contributors.