# Verification Loop V2 Run Notes

## 2026-07-05 L3-v1 / L3-v2 Full Run

Run id:

`mentor13-v2-loop-v2-l3-ablation-max6-20260705-01`

Run directory:

`runs/mentor13-v2-loop-v2-l3-ablation-max6-20260705-01`

Experiment config:

`experiments/mentor13-v2-verification-loop-v2-l3-ablation.json`

Conditions:

- `L3_v1_hidden_gate_feedback_max6`
- `L3_v2_no_self_check_tools_max6`

Result:

- Cells: 26/26
- Status: 26 success
- Workers: 10
- Finished at: 2026-07-05T23:51:02+00:00

Aggregate rubric scores:

| Condition | Cases | Success | Native gate pass | Avg rubric | Min | Max |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| `L3_v1_hidden_gate_feedback_max6` | 13 | 13 | 0 | 3.4046 | 0.00 | 4.81 |
| `L3_v2_no_self_check_tools_max6` | 13 | 13 | 3 | 3.4208 | 0.33 | 4.91 |

Contract checks:

- `L3_v1_hidden_gate_feedback_max6`: events include 78 `gate_feedback_hidden` markers.
- `L3_v2_no_self_check_tools_max6`: successful/recorded `diff` or `align` tool calls: 0.
- `L3_v2_no_self_check_tools_max6`: agent-facing MCP server no longer registers `align` / `diff`; gate still uses its internal diff backend.
- All cells have `events.jsonl`, `final-metrics.json`, `vdiff-rubric-evaluation.json`, `code.html`, `render.png`, and `target.png`.

Important correction:

The first L3-v2 attempt under the same run id was invalid because deferred `ToolSearch` could still materialize `diff` / `align` even after they were removed from `--allowedTools` and the skill prompt. Those invalid L3-v2 artifacts were archived before the corrected rerun:

`runs/mentor13-v2-loop-v2-l3-ablation-max6-20260705-01-invalid-l3v2-tool-leak`

The corrected L3-v2 patch disables the tools at MCP registration time while preserving gate feedback and the gate's internal diff backend.

## 2026-07-06 Comparison Viewer Deployment

Primary viewer run set:

`manifests/run-sets/verification-loop-v2-l3-ablation-20260705.json`

Primary viewer bundle:

`viewer-bundles/verification-loop-v2-l3-ablation-20260705/index.html`

The viewer includes three columns:

- `L3_native_vharness_max6`
- `L3_v1_hidden_gate_feedback_max6`
- `L3_v2_no_self_check_tools_max6`

Deployment/versioning checks:

- Local bundle and `deploy-board/public` mirror both have 13 cases and 3 conditions.
- Local bundle artifact link check: 0 missing links.
- Public mirror artifact link check: 0 missing links.
- Main board status is `active v2 viewer`.
- Main board quick link points to `viewer-bundles/verification-loop-v2-l3-ablation-20260705/index.html`.
- Left-side case filter label is `mentor13 cases`, not the inherited V1 `hard5 seed` label.
- Playwright smoke test loaded the summary and `case1` view with all three condition labels visible.

## 2026-07-06 Trajectory-Primary Integration

Primary V2 entry:

`../20260704-vdiff-vharness-visual-trajectory-viewer/public/?dataset=this-run-v3-l3base-max6-20260705-01&case=case1`

Secondary comparison entry:

`viewer-bundles/verification-loop-v2-l3-ablation-20260705/index.html`

Trajectory viewer datasets:

| Dataset id | Source run | Condition | Notes |
| --- | --- | --- | --- |
| `this-run-v3-l3base-max6-20260705-01` | `mentor13-v2.2-claude48-v3-l3base-max6-20260705-01` | `V2/L3 · native v-harness · max6 · 13/13` | Native max6 reference and V2 default entry |
| `verification-loop-v2-l3-v1-hidden-gate-max6-20260705` | `mentor13-v2-loop-v2-l3-ablation-max6-20260705-01` | `V2/L3-v1 · hidden gate feedback · max6 · 13/13` | Gate detail logged, hidden from next epoch prompt on fail |
| `verification-loop-v2-l3-v2-no-self-check-tools-max6-20260705` | `mentor13-v2-loop-v2-l3-ablation-max6-20260705-01` | `V2/L3-v2 · no diff/align tools · max6 · 13/13` | Agent-facing `diff/align` disabled at MCP registration time |
| `this-run-v3-l3base-max10-20260705-01` | `mentor13-v2.2-claude48-v3-l3base-max10-20260705-01` | `Ref · V2/L3 · native v-harness · max10 · 13/13` | Native max10 reference trajectory |

Versioning policy:

- The standalone v-harness viewer default dataset remains unchanged.
- Verification Loop V2 controls its default through explicit URL parameters.
- The invalid L3-v2 first attempt remains archived in run notes and `ARCHIVE-NOTE.txt`, but is excluded from trajectory datasets and comparison viewer data.
