# Before/after AI visibility proof report

Version: 1.0
Example status: synthetic; replace every example value before use.
Author: unassigned
Independent reviewer: unassigned

## Registered protocol

- Observation ID: SYNTHETIC-OBS-001
- Fix ticket: SYNTHETIC-TICKET-001
- Fixed panel version: SYNTHETIC-PANEL-1
- Declared surfaces (2): synthetic-surface-a | synthetic-surface-b
- Verbatim prompt count: 6
- Repeat count per prompt-surface pair: 1
- Planned-cell arithmetic: 6 prompts × 2 surfaces × 1 repeat = 12 cells per window
- Planned cells per window: 12
- Stable cell key: panel version + prompt ID + declared surface + locale + account state + repeat index
- Matching rules: record brand text, owned-source links, other citations, recommendations, and named competitors separately.
- Exclusions: unavailable and failed cells are reported but excluded from observed-outcome denominators.
- Before window: 2026-08-10 to 2026-08-16
- Deployment time: 2026-08-18T12:00:00Z
- After window: 2026-08-20 to 2026-08-26
- Raw evidence location: REQUIRED
- Concurrent changes: REQUIRED; write "none observed" only after checking.
- Protocol deviations: REQUIRED; write "none" only when the registered protocol was followed.

## Synthetic worked example

### Per-window coverage context

| Window | Planned | Unavailable | Failed | Observed | Owned-link observations | Available-case rate |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Before | 12 | 1 | 1 | 10 | 1 | 10.0% |
| After | 12 | 0 | 1 | 11 | 2 | 18.2% |

The available-case rates use different observed populations and are coverage context, not the primary matched comparison. The cell ledger below reconciles all 12 planned cells in each window to these totals.

### Twelve-cell evidence ledger

| Cell ID | Prompt ID | Surface | Repeat | Before status | Before owned link | Before artifact | After status | After owned link | After artifact | Pair treatment |
| --- | --- | --- | ---: | --- | --- | --- | --- | --- | --- | --- |
| SYNTHETIC-CELL-001 | SYNTHETIC-PROMPT-001 | synthetic-surface-a | 1 | observed | no | synthetic-before-001.txt | observed | yes | synthetic-after-001.txt | common: gain |
| SYNTHETIC-CELL-002 | SYNTHETIC-PROMPT-002 | synthetic-surface-a | 1 | observed | yes | synthetic-before-002.txt | observed | yes | synthetic-after-002.txt | common: persisted positive |
| SYNTHETIC-CELL-003 | SYNTHETIC-PROMPT-003 | synthetic-surface-a | 1 | observed | no | synthetic-before-003.txt | observed | no | synthetic-after-003.txt | common: persisted negative |
| SYNTHETIC-CELL-004 | SYNTHETIC-PROMPT-004 | synthetic-surface-a | 1 | observed | no | synthetic-before-004.txt | observed | no | synthetic-after-004.txt | common: persisted negative |
| SYNTHETIC-CELL-005 | SYNTHETIC-PROMPT-005 | synthetic-surface-a | 1 | observed | no | synthetic-before-005.txt | observed | no | synthetic-after-005.txt | common: persisted negative |
| SYNTHETIC-CELL-006 | SYNTHETIC-PROMPT-006 | synthetic-surface-a | 1 | observed | no | synthetic-before-006.txt | observed | no | synthetic-after-006.txt | common: persisted negative |
| SYNTHETIC-CELL-007 | SYNTHETIC-PROMPT-001 | synthetic-surface-b | 1 | observed | no | synthetic-before-007.txt | observed | no | synthetic-after-007.txt | common: persisted negative |
| SYNTHETIC-CELL-008 | SYNTHETIC-PROMPT-002 | synthetic-surface-b | 1 | observed | no | synthetic-before-008.txt | observed | no | synthetic-after-008.txt | common: persisted negative |
| SYNTHETIC-CELL-009 | SYNTHETIC-PROMPT-003 | synthetic-surface-b | 1 | observed | no | synthetic-before-009.txt | observed | no | synthetic-after-009.txt | common: persisted negative |
| SYNTHETIC-CELL-010 | SYNTHETIC-PROMPT-004 | synthetic-surface-b | 1 | observed | no | synthetic-before-010.txt | failed | blank (not observed) | synthetic-after-010-failure.txt | before only: after failed; exclude from pair |
| SYNTHETIC-CELL-011 | SYNTHETIC-PROMPT-005 | synthetic-surface-b | 1 | unavailable | blank (not observed) | synthetic-before-011-availability.txt | observed | no | synthetic-after-011.txt | after only: before unavailable; exclude from pair |
| SYNTHETIC-CELL-012 | SYNTHETIC-PROMPT-006 | synthetic-surface-b | 1 | failed | blank (not observed) | synthetic-before-012-failure.txt | observed | no | synthetic-after-012.txt | after only: before failed; exclude from pair |

Every observed status has an explicit owned-link outcome and raw artifact pointer. Failed or unavailable statuses keep the outcome blank, remain in coverage counts, and stay outside the common-cell denominator.

### Common-cell paired comparison

| Outcome | Common observed cells | Before positives | Before rate | After positives | After rate | Difference |
| --- | ---: | ---: | ---: | ---: | ---: | ---: |
| Owned link | 9 | 1 | 11.1% | 2 | 22.2% | +11.1 percentage points |

The common-cell denominator contains only stable cell IDs with inspectable answers in both windows. Preserve the raw answer and source URLs for each paired cell; do not substitute the 10-cell and 11-cell available-case populations for this paired comparison.

Transition details: one gain, one persisted positive, seven persisted negatives, and zero reversals or losses among the nine common cells. A reversal is a common cell that changes from yes before to no after; keep it in the common denominator, count it as positive only in the before numerator, and report it rather than dropping it. Failure details: SYNTHETIC-CELL-010 fails after, SYNTHETIC-CELL-011 is unavailable before, and SYNTHETIC-CELL-012 fails before, so those three cells remain visible but outside the paired denominator.

### Raw evidence pointers

- Evidence-ledger location: REQUIRED
- Every observed cell must resolve its before or after artifact pointer to the preserved raw answer and visible source URLs.
- Every failed or unavailable cell must resolve its artifact pointer to the availability or failure record while keeping answer-outcome fields blank.

## Deployment validation

- Target and before version or hash: REQUIRED
- Final version or hash: REQUIRED
- Deployment acceptance evidence: REQUIRED
- Unchanged comparison prompts: REQUIRED
- Provider-reported records, if used: report separately under that provider's documented unit.

## Interpretation and limits

The example records temporal movement after a shipment, not proof that the shipment caused it. Model or index updates, retrieval changes, competing pages, location, account state, source changes, feature availability, concurrent deployments, and ordinary answer variability remain plausible explanations. A no-movement or adverse result belongs in the report under the same rules.

- Confidence or uncertainty statement: REQUIRED; describe sample size, availability changes, variability, and any interval or resampling method actually used. Do not invent a confidence estimate.
- Material concurrent changes and their timing: REQUIRED
- Alternative explanations retained after review: REQUIRED

## Decision

- Result classification: observed movement / no clear movement / adverse movement / insufficient observations
- Next action: continue the registered window, return to Find, revise the hypothesis, or close the experiment.
- Corrections record: REQUIRED
