Appearance
Verification Workflow
Specra verification currently works in three layers.
1. Source contract
The Specra contract defines:
- entities
- operations
- constraints
- expectations
That is the source of truth.
2. Expected verification data
Specra derives normalized artifacts from the source spec:
.specra/plan.json.specra/ctx.json.specra/specra.db
These artifacts are used by coding agents or downstream tooling.
When a project uses specra-lang install, the generated agent guidance should direct the coding agent to:
- read the relevant
.scl.mdfiles underspecra/ - refresh
.specra/withspecra-lang refresh - scaffold
.specra/verify/proof.jsonwithspecra-lang proof - run the app's tests or reproduction steps
- replace the
__fill__placeholders in.specra/verify/proof.json - call
specra-lang verifyorspecra-lang verify --results .specra/verify/proof.json
3. Observed implementation results
A separate implementation artifact provides what the real code did or claims to do.
Today the intended path is proof-based:
- Generate a proof template:
bash
pnpm specra-lang proof examples/imports-appRun the app's tests or reproduction steps.
Replace the
__fill__placeholders in.specra/verify/proof.jsonwith what the tests actually observed.Verify observed behavior against the spec:
bash
pnpm specra-lang verify examples/imports-app --results .specra/verify/proof.jsonCurrent verifier model
The verifier currently checks:
outcomeoutput.<fieldPath>
Possible report statuses:
passfailmissing
Why this matters
Specra does not need to generate the full application itself to be useful.
The important property is this:
- the
.scl.mdcontract defines what must be true - the implementation produces observed results
- Specra checks whether the implementation satisfied the declared contract
That makes Specra useful as a governing layer for AI-assisted implementation.