# v-harness Source Lineage

The manager records three independent upstream source lines. A branch name is
context; the fixed commit is the reproducible identity. No branch head is
automatically promoted into an internal project.

## Pinned Versions

| Version | Branch | Commit | Source form | Internal role |
| --- | --- | --- | --- | --- |
| GLM v1 · v2.3.2 | `image2code-glm-v1` | `249c2bceedaf3c04f76ae3a899d91acbf8dc2641` | detached, source-clean Git worktree | protected deployment and canary only |
| Native Claude · v2.3 | `image2code-v2.3` | `e9c04d4b382beaa18dc96f1e1fded91eb942dd76` | pinned Git experiment source | V3 execution; VeriHarness V0.1 vendoring |
| Atomic Actions · v2.2 | `image2code-v2.2` | `e224610753529d5eae9a9589bd7485363f5ff1b6` | pinned Git plus verified archive source | V2 execution and historical viewer |

Upstream repository: `https://github.com/ChengJade/VDiff.git`.

## v2.2 Archive Integrity

| Field | Value |
| --- | --- |
| Archive | `VDiff-image2code-v2.2.zip` |
| SHA256 | `d87f868d5b0993f9cd4442d3e970abf3670e65d3b40bef17554564f70cbd8ed3` |
| Harness member | `VDiff-image2code-v2.2/image2html_v2.2/` |
| Registered source ID | `external_v_harness_atomic_actions_v2_2` |

The archive record and the resolved `image2code-v2.2` commit are both retained
because the V2 experiment was prepared from the verified archive package while
the Git pin provides a stable upstream lineage reference.

## v2.3 Source Identity

Registered source ID: `external_v_harness_native_claude_v2_3`. Verification
Loop V2 contains source audit and condition preparation for this pin, but the
confirmed completed internal execution belongs to Verification Loop V3.
VeriHarness V0.1 copied a documented subset into
`tasks/image_to_code/vendor/vharness_v2_3/`; it does not import the upstream
repository at runtime.

## GLM v1 Source Identity

The GLM source is held in `external/v-harness/image2code-glm-v1/` as a detached,
source-clean worktree. Authentication, health checks, process management and
deployment live in this manager so they cannot be mistaken for mentor/upstream
code. README release label is `v2.3.2`.

## Drift Policy

Fetch branch metadata and compare its head to the pinned commit. A different
head is recorded as upstream drift; it does not update a version. A future
upgrade adds or explicitly revises a registry entry and receives its own
review. Historical V2/V3 experiment identities remain unchanged.

## Integrity Checks

```bash
git -C external/v-harness/image2code-glm-v1 rev-parse HEAD
git -C external/v-harness/image2code-glm-v1 status --short
git -C external/VDiff ls-remote origin refs/heads/image2code-glm-v1
git -C external/VDiff rev-parse e9c04d4b382beaa18dc96f1e1fded91eb942dd76
git -C external/VDiff rev-parse e224610753529d5eae9a9589bd7485363f5ff1b6
```

Expected GLM worktree HEAD is exactly
`249c2bceedaf3c04f76ae3a899d91acbf8dc2641`, with no source-worktree changes.
At the 2026-07-14 deployment verification, the fetched GLM branch head matched
the pin, so no upstream drift was present.

Project usage is documented separately in `VERSION_PROJECT_MATRIX.md`; mechanism
reuse decisions remain in `ADOPTION_LEDGER.md`.
