# Bridge 0.2.6 · DSH 0.1.1-rc.2 vision migration acceptance

Date: 2026-08-21

Host: isolated official `@deepseek-ai/dsh@0.1.1-rc.2` Web profile

Model: `deepseek-official/deepseek-v4-flash-vision-exp` (`high`)

Fixture: `eval/fixtures/rc11-vision.png` (`fcde25225381226631b56f693eeb9845133812e488208824db8d4f9cdb15d0e0`)

## Verdict

**Pass.** The installed `/bridge` command preserved the source VLM selection, moved one unresolved durable image into the target kickoff, and the target extracted all five non-guessable visual facts correctly in its first response.

| Gate | Result |
|---|---:|
| rc.2 clean isolated install and plugin registration | Pass |
| `/bridge --doctor` gateway contract | **13/13** |
| Resolved visual evidence: source → target facts | **5/5 → 5/5** |
| Resolved path raw images resent | **0** |
| Unresolved raw-image core path: target facts | **5/5** |
| Installed `/bridge minimal` → `--go --continue`: target facts | **5/5** |
| Installed command raw images sent | **1** |
| Source → target model selection | vision-exp → vision-exp |
| Goal created / paused / kickoff sent | Pass |
| Tracked worker/target sessions archived | Pass |

The five exact facts were `VIS-RC11-8472`, `CYAN TRIANGLE`, `57431`, `vision/rc11/evidence.png`, and `MAGENTA CIRCLE`. They were visible only in the PNG; the target text prompt did not contain their values.

## Bug found and fixed

The first installed-command run exposed an rc.2 interaction that unit-only testing had missed. The preview worker selects `deepseek-v4-pro`; rc.2 persists `session.selectModel` as the host default. A target created after preview therefore inherited `v4-pro` instead of the source session's vision model.

Bridge 0.2.6 now reads the source session's provider, model, and reasoning effort, then explicitly selects the same route on the blank target before goal creation or kickoff. Failure is visible as a warning rather than a silent model change. A regression test locks this order and the full suite passes 121/121.

## Token ledger

`Nominal = uncached input + output`. `Processed` also includes cache-read/cache-write tokens and is a sensitivity measure, not a provider bill.

Final installed-command path:

| Session | Uncached input | Cache read | Output | Nominal | Processed |
|---|---:|---:|---:|---:|---:|
| Preview worker (`deepseek-v4-pro`) | 77 | 1,408 | 807 | 884 | 2,292 |
| Minimal target (`deepseek-v4-flash-vision-exp`) | 398 | 1,536 | 488 | 886 | 2,422 |
| **Migration total** | **475** | **2,944** | **1,295** | **1,770** | **4,714** |

The unresolved source was cancelled immediately after its image-bearing user message became durable, so it consumed 0 model tokens. These are absolute measurements for one controlled fixture, not a percentage overhead versus a no-Bridge counterfactual. Preset system prompts and cache state make the numbers unsuitable for a universal cost claim.

## Method

1. Render a 1280×800 PNG containing five low-collision facts.
2. Verify the VLM can inspect it and produce the five exact facts.
3. Resolved path: preserve the associated assistant response verbatim outside the bounded summary; migrate without resending the PNG.
4. Unresolved path: persist the image-bearing user message, cancel before assistant analysis, migrate the durable attachment, and require the target VLM to inspect it.
5. Installed-plugin path: execute `/bridge minimal`, then `/bridge minimal --go --continue` through rc.2's command registry; verify the first target response, exact model route, image count, paused goal, and archive state.

The core-path raw data is in [v0.2.5-rc11-vision-2026-08-21T14-36-56-330Z.raw.json](v0.2.5-rc11-vision-2026-08-21T14-36-56-330Z.raw.json). The installed-command result is in [v0.2.5-rc11-command-2026-08-21T14-37-24-022Z.raw.json](v0.2.5-rc11-command-2026-08-21T14-37-24-022Z.raw.json). The filenames retain the package version present when the sessions ran; the model-preservation fix is the 0.2.6 change documented here.

## Limits

- One resolved fixture and one unresolved fixture; this is a release gate, not a population accuracy estimate.
- The resolved core result reuses a previously archived passing source/target pair to avoid spending the same vision tokens again.
- The installed-command target used `minimal`; token totals should not be compared directly with `code` or `standard` targets.
- This validates PNG attachment recovery and the selected experimental VLM, not every image format or provider.
