# VeriHarness V0.1

Status: frozen baseline  
Date: 2026-07-13

V0.1 was frozen on 2026-07-13 after the first complete implementation, case1 pipeline audit,
trajectory integration, and board publication. It remains the reproducible baseline for the
next design iteration; new architectural decisions belong to VeriHarness V0.2. The compressed
handoff is recorded in [`docs/progress-snapshot-v0.1.md`](docs/progress-snapshot-v0.1.md).

## Goal

Build a standalone Claude Agent SDK harness for controlled experiments on multimodal verification behavior. V0.1 implements one complete image-to-code task package and the four primary conditions:

| Condition | Harness hard gate | Verification policy prompt |
| --- | --- | --- |
| `H0P0` | off | off |
| `H0P1` | off | on |
| `H1P0` | on | off |
| `H1P1` | on | on |

All four conditions share the same runtime base, task profile, agent-visible tools, model profiles, and input cases.

## V0.1 Boundary

Included:

- structured experiment manifests;
- raw transcript and normalized event-trace separation;
- versioned artifact, observation, evidence, claim, and assessment schemas;
- a single explicit-context-only `invoke_model` contract;
- `propose_finish` plus inferred end-turn fallback;
- an external image-to-code task package;
- a local copy of the v-harness-compatible gate backend;
- 13 locally copied comparison cases with checksums;
- dry-run matrix generation before real model calls.

Deferred:

- RL training;
- automatic claim-risk inference;
- complex multi-verifier adjudication;
- automatic discovery-claim promotion;
- a general multi-task plugin framework.

## Independence

This subproject has no runtime imports, symlinks, prompt references, config references, or data references to sibling projects. Copied source and data provenance is recorded in [`SOURCE_LINEAGE.md`](SOURCE_LINEAGE.md).

## Commands

Validate the experiment manifest:

```bash
python -m veriharness.cli validate experiments/smoke-four-condition.yaml
```

Create a one-case four-condition dry run:

```bash
python -m veriharness.cli dry-run experiments/smoke-four-condition.yaml --case case1
```

Run one real cell explicitly:

```bash
python -m veriharness.cli run-cell experiments/smoke-four-condition.yaml --condition H0P0 --case case1
```

Run tests:

```bash
pytest
```

Run the copied V3 four-dimension evaluator after every condition has finished:

```bash
python -m veriharness.offline_v3.runner \
  --run-id real-case1-four-condition-20260712-02 \
  --eval-id v3-four-dimension-20260712-01
```

## Frozen Status

Completed foundation:

- independent 13-case input snapshot and checksums;
- strict Pydantic schemas and append-only event store;
- neutral/P1 prompt assembly and versioned complex recipes;
- one-case four-condition dry-run generation;
- real local-proxy `invoke_model` smoke call;
- Agent SDK MCP definitions for `invoke_model` and `propose_finish`;
- local v-harness gate wrapper with score-free agent feedback;
- project-board registration;
- twenty-two passing unit tests;
- corrected real `case1 x 4` run with P1 isolated calls and separate gate-call accounting.
- copied V3 four-dimension posthoc evaluator and completed case1 scoring.
- structured online claims plus immutable per-attempt gate/bank audits for future H1 runs.
- harness-private model-observation provenance with input hashes and artifact version at call time.

The H1 persistent controller, fail-closed gate path, immutable gate trace, model-observation provenance, and independent V3 posthoc evaluator are connected. V0.1 is not being extended into the next architecture in place. Its unresolved rerun and calibration work is preserved as baseline debt, not silently promoted into V0.2 requirements. See [`docs/implementation-status-v0.1.md`](docs/implementation-status-v0.1.md).

No V0.1 13x4 model run will begin from this frozen state. A future large run must use an explicitly accepted and frozen experiment contract.

Run reports:

- [`docs/real-smoke-case1-20260712.md`](docs/real-smoke-case1-20260712.md): original capped smoke.
- [`docs/real-smoke-case1-20260712-02.md`](docs/real-smoke-case1-20260712-02.md): corrected clean rerun.
