Skip to content
Sableframe
IN DEVELOPMENT

SpecGuard

Evidence-first verification for AI-generated software.

An independent verification layer that turns intent into traceable requirements and preserves machine-produced evidence without allowing missing proof or model confidence to masquerade as a pass.

Status
IN DEVELOPMENT
Source
Private
Capabilities
  • Developer tools
  • Verification
  • AI infrastructure
SpecGuard design board for the project dashboard: coverage, readiness, latest run, and regression tiles in their empty states, a current state panel, recent activity, and future capabilities marked not configured. Illustrative data.
Interface directionProject dashboardThe design direction for the project dashboard, with honest empty states before any verification has run.

The problem

AI coding agents can produce working-looking software quickly, but a confident agent is not evidence that the software does what was asked.

SpecGuard is designed as the independent layer between intent and generated code. It turns intent into traceable requirements and is being built so that only machine-produced evidence can decide a verdict.

The system

  • Closed truth states

    Results use a fixed vocabulary — PASS, FAIL, UNVERIFIED, BLOCKED, INCONCLUSIVE, ERROR, NOT_APPLICABLE, and SKIPPED — that deliberately cannot collapse into yes or no.

  • Traceable specifications

    Text and Markdown sources are stored as immutable, content-hashed versions, with provenance recorded for each requirement.

  • Requirement review

    Draft requirements start in review, must quote their source exactly, and conflicts are surfaced rather than resolved automatically.

  • Evidence-gated phases

    An append-only, hashed evidence store feeds a deterministic gate that passes a criterion only when indexed evidence backs it.

How it was built

A Next.js interface is a client of a Hono control-plane API with sessions, role policy, strict validation, and an audit log, persisted in PostgreSQL.

A shared domain package holds the truth-state vocabulary and trust rules with no I/O. A verification core wraps execution, adapts Vitest and Playwright results, and produces gate verdicts and manifests. Model providers sit behind a provider-neutral gateway.

  1. Interface

    • Next.js app
  2. Control plane

    • Hono API
    • Role policy and audit log
    • PostgreSQL
  3. Specification

    • Immutable source versions
    • Requirement review
  4. Verification

    • Execution wrapper
    • Vitest and Playwright adapters
    • Evidence store
  5. Gate

    • Criteria
    • Verdict and manifest
Checks produce evidence, evidence is hashed and indexed, and only the gate turns indexed evidence into a verdict.

Technology

  • TypeScript
  • Next.js
  • Hono
  • PostgreSQL
  • Playwright
  • Deterministic phase gates

Design decisions

  1. Evidence over confidence

    A result that no executed check produced cannot count as a pass, and a model’s opinion alone can never produce one.

  2. Handwritten results never count

    Every pass must cite indexed evidence. When a run cited evidence missing from the index, the gate stayed closed and was not changed to let it through.

  3. Honest empty states

    Screens say that no verification runs exist yet instead of showing sample counts borrowed from design mockups.

  4. Confidence labelled as inference

    Extraction confidence is presented as inference, not verification, and every new requirement stays unverified until evidence exists.

Selected views

Current state

In development. The control plane, specification sources, and requirement review are built, each closed by a machine-produced gate verdict. Verification runs, visual diffs, and evidence exploration are still ahead, so those views are shown as labelled interface direction. The source code is private.