# Change versus noise review worksheet

Compare complete baseline and later repeat sets under one registered binary feature rule. Record which cells meet the descriptive change rule, retain negative directions and gaps, and choose a supported next action.

Worksheet version 1.0 · 25 September 2026. Complete and repeat records as needed. Blank fields request your evidence; these manual files do not collect answers, publish changes or calculate RankEcho product metrics.

Complete guide: https://rankecho.io/resources/prove/change-vs-noise

## 1 Register the comparison

Freeze the feature, context, repeat depth and rule before the change. The fictional example registers five prompts in two contexts and three repeats per window.

**Decision and fixed panel** — Record decision, panel ID and version, reviewer, registration time, stable cell IDs and exact prompt text. Keep the same prompt and context coordinates in both windows.

[Enter your response]

**Binary feature and coding rule** — For each prompt, name the feature and define present, absent and unclassifiable evidence. Freeze the rubric and raw answer storage. A missing answer never receives an absent mark.

[Enter your response]

**Context and ordered windows** — Record service, surface, model label, locale, session and collection procedure. Predeclare three baseline and three later repeats per cell; baseline ends before accepted deployment and later collection starts afterward.

[Enter your response]

## 2 Preserve the complete repeat sets

Copy the records for every planned cell and repeat. Keep saved observations even when a cell cannot enter the comparison; do not select only favorable repeats.

**Cell identity and change evidence** — Record cell, prompt and context IDs, linked Find record, accepted change version and actual deployment time. Note concurrent changes and deviations from the registered collection procedure.

[Enter your response]

**Each repeat and its evidence** — Record window, repeat index, actual UTC capture time, raw answer pointer, coded present or absent value and supporting passage. Keep baseline and later values in their original sets.

[Enter your response]

**Comparability decision** — Require all three classifiable marks in each window and unchanged coordinates. Retain contaminated, unavailable, failed or incomparable status with reasons. Incomplete or unclear sets receive no comparison class.

[Enter your response]

## 3 Apply the registered rule

In the fictional OrbitDesk example, P01 and P04 move from all absent to all present; P06 reverses from all present to all absent. P02, P03 and P05 remain within observed variation.

**Class from the full sets** — Outside observed variation requires a stable baseline set and a stable later set with the opposite value. Every other eligible complete cell is within observed variation; that label does not prove no change.

[Enter your response]

**Direction and retained exclusions** — For outside cells, record positive for absent to present and negative for present to absent. Within cells use mixed or none. P07 contaminated, P08 unavailable, P09 failed and P10 incomparable retain null marks and class.

[Enter your response]

**Counts and coverage** — Reconcile ten fixed cells, six comparable cells and 36 observed feature marks in the example. Comparable equals outside plus within; outside equals positive plus negative. Zero comparable cells displays N/A, never a no-change result.

[Enter your response]

| Fictional result | Count | Meaning |
| --- | --- | --- |
| Comparable cells | 6 of 10 | Complete repeat sets |
| Outside observed variation | 3 | Registered rule met |
| Within observed variation | 3 | Rule not met |
| Positive and negative outside | 2 and 1 | Direction preserved |

## 4 Review and use the result

Report descriptive counts for the saved repeat sets. The class is not a significance test, improvement rate, estimate of natural noise or evidence that the deployment caused the observation.

**Independent reconstruction** — Ask a reviewer to reproduce eligibility, class, direction and coverage from the frozen rubric and full records. Resolve disagreements with evidence and retain the correction trail.

[Enter your response]

**Descriptive conclusion** — State the observed class counts, negative results and excluded states. Keep within-window pair disagreement, citation rates and this pre/post class separate. Do not turn outside counts into a success probability.

[Enter your response]

**Next action and owner** — Choose continue, investigate or stop, with owner, due date and evidence that would change the decision. Another repair needs a directly evidenced defect and its own bounded approval.

[Enter your response]

## Complete guide

SYNTHETIC EXAMPLE — Asterfall Systems, OrbitDesk, every .example URL, capture, selector, change, prompt, context, and answer mark below are fictional; this is not RankEcho data, customer data, provider evidence, or a benchmark. This Prove method compares three post-change binary feature marks with three same-cell baseline marks. A cell is outside observed variation only when both sets are stable and every post-change mark is the opposite value; all other eligible cells remain within observed variation. These are descriptive classes, not rates, significance tests, causal effects, provider estimates, or product metrics. Site traffic is a separate outcome and is not required.

Original guide update: 2026-09-07. Worksheet prepared 25 September 2026. The original guide and its evidence records retain their dates. This manual review record complements the original guide and retains its separate method and product boundaries.

## What question does this classification answer?

It asks whether a fixed cell's observed post-change feature marks satisfy one predeclared descriptive rule relative to that same cell's recorded baseline repeats. The rule can preserve a direction without calling the movement beneficial or caused by the deployment.

It does not estimate a provider population or natural-noise distribution. Six repeats cannot establish statistical significance, and outside observed variation is not a confidence interval or causal effect.


## What must be frozen before observation?

Freeze five prompts, two fictional contexts, the exact feature label for each prompt, three repeats per window, exclusion states, and the rule before the 2026-08-28T12:00:00Z deployment.

The baseline window ends before deployment and the post-change window starts afterward. Changed prompts, contexts, features, or collection procedures make a cell contaminated or incomparable rather than favorable.


## Worked synthetic fixed-cell ledger

Ten coordinates are planned. Six retain complete baseline and post-change repeats; P07 is contaminated, P08 unavailable, P09 failed, and P10 incomparable. Those four cells carry no feature marks or class.

P01, P04, and P06 are outside observed variation. P06 preserves negative direction, so the table cannot silently turn every outside result into an improvement. P03 and P05 show recorded baseline variation.

| Cell | Prompt / context | Find ID | Baseline repeats | Post-change repeats | Class | Direction |
| --- | --- | --- | --- | --- | --- | --- |
| P01 | Q01 / CTX-A | E03 | absent · absent · absent | present · present · present | outside-observed-variation | positive |
| P02 | Q01 / CTX-B | E03 | absent · absent · absent | absent · present · absent | within-observed-variation | mixed-or-none |
| P03 | Q02 / CTX-A | E05 | absent · present · absent | present · absent · present | within-observed-variation | mixed-or-none |
| P04 | Q02 / CTX-B | E05 | absent · absent · absent | present · present · present | outside-observed-variation | positive |
| P05 | Q03 / CTX-A | E03 | present · absent · present | present · present · present | within-observed-variation | mixed-or-none |
| P06 | Q03 / CTX-B | E03 | present · present · present | absent · absent · absent | outside-observed-variation | negative |
| P07 | Q04 / CTX-A | E04 | contaminated | contaminated | not classified | not classified |
| P08 | Q04 / CTX-B | E04 | unavailable | unavailable | not classified | not classified |
| P09 | Q05 / CTX-A | E05 | failed | failed | not classified | not classified |
| P10 | Q05 / CTX-B | E05 | incomparable | incomparable | not classified | not classified |


## What do the counts show?

Six of ten fixed cells are comparable: three are outside observed variation and three are within it. The outside group contains two positive directions and one negative direction.

Coverage is reported as 6 comparable cells of 10 fixed. If no cell is comparable, the display is N/A; unavailable, failed, contaminated, and incomparable cells never become no-change observations.

| Measure | Count | Boundary |
| --- | --- | --- |
| Fixed cells | 10 | planned coordinates |
| Comparable | 6 | complete baseline and post-change repeats |
| Outside observed variation | 3 | descriptive rule only |
| Within observed variation | 3 | not proof of no change |
| Contaminated / unavailable / failed / incomparable | 1 / 1 / 1 / 1 | not classified |
| Positive / negative outside direction | 2 / 1 | not an effect estimate |


## Which deterministic validation protects the result?

The arithmetic, window order, repeat depth, state exclusions, derived class, negative direction, and zero-comparable display are checked directly from the saved rows.

| Invariant | Required result | Synthetic result |
| --- | --- | --- |
| Fixed coordinates | Five prompts × two contexts | 10 fixed cells |
| Repeat depth | Three baseline and three post-change marks per comparable cell | 36 observed marks |
| Coverage | Non-comparable states stay outside the classes | 6 comparable cells of 10 fixed |
| Class partition | Comparable = outside + within | 3 outside + 3 within = 6 |
| Direction | Outside movement retains positive and negative direction | 2 positive + 1 negative |
| Zero comparable | Do not manufacture a result | Display N/A |


## How is this different from adjacent measurements?

Fixed-prompt retest owns the collection of common pre/post cells. Answer volatility owns repeat-to-repeat disagreement within a frozen group. This page consumes those kinds of retained observations and adds only the predeclared descriptive class.

It does not design target and control prompts, calculate a citation rate, estimate observation lag, or establish causal attribution. Those remain separate jobs.

- [Review fixed-prompt retest](https://rankecho.io/resources/prove/fixed-prompt-retest)
- [Review repeat disagreement](https://rankecho.io/resources/prove/answer-volatility)

## How does this connect to RankEcho?

RankEcho's Proof Loop can retain fixed prompts and dated post-change observations. It does not currently compute this companion table's outside-versus-within observed-variation class as a supported product metric.

Return the full result—including negative, unavailable, failed, contaminated, and incomparable cells—to Find. Another change needs its own directly evidenced defect and bounded repair.

- [Open the proof workflow](https://rankecho.io/product/proof-loop)
- [Return to Find](https://rankecho.io/resources/find/issues/javascript-only-evidence)
- [Review the bounded delivery repair](https://rankecho.io/resources/fix/server-rendering-nextjs)

## Is this a significance test?

No. It satisfies only this predeclared descriptive rule for the saved repeats and is not a statistical-significance result or confidence interval.

## Does the classification prove the delivery repair caused a change?

No. The timing and fixed coordinates constrain interpretation. This does not identify a causal effect. Other explanations remain possible.

## Are unavailable and failed cells counted as no change?

No. They retain null feature values and stay outside the comparable-cell classes.

## Why preserve negative direction?

An outside result can move from present to absent. Preserving direction prevents the class from being interpreted automatically as improvement.

## Is this RankEcho's answer-volatility metric?

No. Answer volatility measures repeat disagreement within a frozen group. This companion example applies a separate descriptive pre/post classification.

## Preserved dated evidence

- [Google Search: AI features and your website](https://developers.google.com/search/docs/appearance/ai-features) — checked 2026-09-07. Google says ordinary Search eligibility applies to AI Overviews and AI Mode, important content should be available in textual form, and displayed responses and links can vary. Current Google Search AI-features documentation This is Google-specific eligibility guidance. It does not make initial HTML a universal provider requirement or guarantee crawling, indexing, selection, citation, recommendation, ranking, or traffic. Confidence: High

- [OpenAI API: evaluation best practices](https://developers.openai.com/api/docs/guides/evaluation-best-practices) — checked 2026-09-07. OpenAI states that generative AI output is variable and recommends scoped, task-specific evaluations with explicit objectives, datasets, metrics, comparisons, and retained logs. Current OpenAI evaluation guidance This supports freezing a classification rule and retaining repeated observations. It does not define an AI-search change-versus-noise metric, causal design, significance test, or provider-population claim. Confidence: High

- [NIST AI 600-1: Generative AI Profile](https://nvlpubs.nist.gov/nistpubs/ai/NIST.AI.600-1.pdf) — checked 2026-09-07. NIST's Generative AI Profile describes uncertainty and the immature state of generative-AI measurement as constraints on risk estimation and evaluation. NIST AI 600-1 The profile supports explicit uncertainty and limited interpretation. It does not define prompt-cell outcome labels, a search-provider sampling frame, causal attribution, or this page's descriptive rule. Confidence: Medium

- [NIST handbook: control of a measurement process](https://www.itl.nist.gov/div898/handbook/mpc/section2/mpc21.htm) — checked 2026-09-07. NIST's Engineering Statistics Handbook describes comparing repeated check-standard measurements with historical variability when monitoring a measurement process for change. NIST/SEMATECH Engineering Statistics Handbook This is general measurement guidance with assumptions that this synthetic answer panel does not establish. It does not validate a significance threshold, causal effect, or universal AI-search noise model. Confidence: Medium

## Complete fictional source records

These are the original fictional Asterfall Systems and OrbitDesk records, not real captures, customer observations or deployment receipts. Evidence pointers label the teaching records; replace them with your retained evidence before use. The export preserves supplied feature marks and timestamps without inventing raw answers, coding rules or collection times.

```json
{
  "captures": [
    {
      "id": "H01",
      "channel": "initial-http",
      "state": "observed",
      "requestedUrl": "https://asterfall.example/products/orbitdesk",
      "finalUrl": "https://asterfall.example/products/orbitdesk",
      "statusCode": 200,
      "canonicalUrl": "https://asterfall.example/products/orbitdesk",
      "robotsDirective": "index,follow",
      "challengeObserved": false,
      "attemptedAt": "2026-08-24T10:00:00Z",
      "evidencePointer": "synthetic-evidence/render-delivery/captures/H01",
      "note": "The direct response returned the declared canonical page without a redirect or challenge."
    },
    {
      "id": "H02",
      "channel": "browser-rendered",
      "state": "observed",
      "requestedUrl": "https://asterfall.example/products/orbitdesk",
      "finalUrl": "https://asterfall.example/products/orbitdesk",
      "statusCode": 200,
      "canonicalUrl": "https://asterfall.example/products/orbitdesk",
      "robotsDirective": "index,follow",
      "challengeObserved": false,
      "attemptedAt": "2026-08-24T10:02:00Z",
      "evidencePointer": "synthetic-evidence/render-delivery/captures/H02",
      "note": "The browser completed the declared rendering wait and preserved the same URL, canonical, and robots directive."
    },
    {
      "id": "H03",
      "channel": "initial-http",
      "state": "unavailable",
      "requestedUrl": "https://asterfall.example/products/orbitdesk",
      "finalUrl": null,
      "statusCode": null,
      "canonicalUrl": null,
      "robotsDirective": null,
      "challengeObserved": null,
      "attemptedAt": "2026-08-24T10:10:00Z",
      "evidencePointer": "synthetic-evidence/render-delivery/captures/H03",
      "note": "A repeat request did not return an eligible response; it remains unavailable rather than a mismatch."
    },
    {
      "id": "H04",
      "channel": "browser-rendered",
      "state": "failed",
      "requestedUrl": "https://asterfall.example/products/orbitdesk",
      "finalUrl": null,
      "statusCode": null,
      "canonicalUrl": null,
      "robotsDirective": null,
      "challengeObserved": null,
      "attemptedAt": "2026-08-24T10:12:00Z",
      "evidencePointer": "synthetic-evidence/render-delivery/captures/H04",
      "note": "The repeat browser collection failed before a DOM snapshot; it remains failed rather than absent."
    }
  ],
  "selectorObservations": [
    {
      "id": "E01",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "metadata",
      "selector": "title",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": true,
      "renderedDomPresent": true,
      "initialValue": "OrbitDesk evidence workspace",
      "renderedValue": "OrbitDesk evidence workspace",
      "classification": "present-both",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E01",
      "note": "The title is byte-equivalent in both eligible captures."
    },
    {
      "id": "E02",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "visible-copy",
      "selector": "main h1",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": true,
      "renderedDomPresent": true,
      "initialValue": "OrbitDesk",
      "renderedValue": "OrbitDesk",
      "classification": "present-both",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E02",
      "note": "The primary heading is available before and after JavaScript."
    },
    {
      "id": "E03",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "visible-copy",
      "selector": "main #short-answer",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": false,
      "renderedDomPresent": true,
      "initialValue": null,
      "renderedValue": "OrbitDesk maps cited claims to saved source snapshots.",
      "classification": "javascript-only",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E03",
      "note": "The registered short answer appears only after the client effect completes."
    },
    {
      "id": "E04",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "visible-copy",
      "selector": "main [data-evidence-list]",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": false,
      "renderedDomPresent": true,
      "initialValue": null,
      "renderedValue": "Three fictional source records with dates and limitations",
      "classification": "javascript-only",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E04",
      "note": "The registered evidence list is absent from the initial response and present in the rendered DOM."
    },
    {
      "id": "E05",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "json-ld",
      "selector": "script[type='application/ld+json'] Product",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": false,
      "renderedDomPresent": true,
      "initialValue": null,
      "renderedValue": "Product: OrbitDesk; url: https://asterfall.example/products/orbitdesk",
      "classification": "javascript-only",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E05",
      "note": "The matching fictional Product node is injected only after the client effect completes."
    },
    {
      "id": "E06",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "link",
      "selector": "link[rel='canonical']",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": true,
      "renderedDomPresent": true,
      "initialValue": "https://asterfall.example/products/orbitdesk",
      "renderedValue": "https://asterfall.example/products/orbitdesk",
      "classification": "present-both",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E06",
      "note": "The self-canonical is stable across both eligible captures."
    },
    {
      "id": "E07",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "metadata",
      "selector": "meta[name='robots']",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": true,
      "renderedDomPresent": true,
      "initialValue": "index,follow",
      "renderedValue": "index,follow",
      "classification": "present-both",
      "material": true,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E07",
      "note": "The declared robots directive is stable across both eligible captures."
    },
    {
      "id": "E08",
      "initialCaptureId": "H01",
      "renderedCaptureId": "H02",
      "kind": "visible-copy",
      "selector": "main #enterprise-sla",
      "collectionState": "eligible-observed",
      "initialHtmlPresent": false,
      "renderedDomPresent": false,
      "initialValue": null,
      "renderedValue": null,
      "classification": "missing-both",
      "material": false,
      "evidencePointer": "synthetic-evidence/render-delivery/selectors/E08",
      "note": "The locally predeclared optional selector is missing from both snapshots and is not a JavaScript-only finding."
    }
  ],
  "changes": [
    {
      "id": "F01",
      "selectorId": "E03",
      "layer": "visible-copy",
      "component": "app/products/[slug]/EvidencePanel.tsx",
      "beforeDelivery": "Client effect inserts #short-answer after hydration",
      "afterDelivery": "Server Component renders #short-answer from frozen product props",
      "beforeValue": null,
      "afterValue": "OrbitDesk maps cited claims to saved source snapshots.",
      "initialHtmlBefore": false,
      "initialHtmlAfter": true,
      "renderedMeaningPreserved": true,
      "state": "accepted",
      "rollbackReady": true,
      "beforeEvidencePointer": "synthetic-evidence/render-delivery/changes/F01-before",
      "afterEvidencePointer": "synthetic-evidence/render-delivery/changes/F01-after",
      "rollbackPointer": "synthetic-evidence/render-delivery/rollback/F01"
    },
    {
      "id": "F02",
      "selectorId": "E04",
      "layer": "visible-copy",
      "component": "app/products/[slug]/EvidencePanel.tsx",
      "beforeDelivery": "Client effect inserts the evidence list after a browser fetch",
      "afterDelivery": "Server Component renders the same three dated evidence records",
      "beforeValue": null,
      "afterValue": "Three fictional source records with dates and limitations",
      "initialHtmlBefore": false,
      "initialHtmlAfter": true,
      "renderedMeaningPreserved": true,
      "state": "accepted",
      "rollbackReady": true,
      "beforeEvidencePointer": "synthetic-evidence/render-delivery/changes/F02-before",
      "afterEvidencePointer": "synthetic-evidence/render-delivery/changes/F02-after",
      "rollbackPointer": "synthetic-evidence/render-delivery/rollback/F02"
    },
    {
      "id": "F03",
      "selectorId": "E05",
      "layer": "json-ld",
      "component": "app/products/[slug]/page.tsx",
      "beforeDelivery": "Client effect injects the fictional Product node after hydration",
      "afterDelivery": "Server Component emits the matching Product node with the initial response",
      "beforeValue": null,
      "afterValue": "Product: OrbitDesk; url: https://asterfall.example/products/orbitdesk",
      "initialHtmlBefore": false,
      "initialHtmlAfter": true,
      "renderedMeaningPreserved": true,
      "state": "accepted",
      "rollbackReady": true,
      "beforeEvidencePointer": "synthetic-evidence/render-delivery/changes/F03-before",
      "afterEvidencePointer": "synthetic-evidence/render-delivery/changes/F03-after",
      "rollbackPointer": "synthetic-evidence/render-delivery/rollback/F03"
    }
  ],
  "acceptanceChecks": [
    {
      "id": "A01",
      "check": "Initial response",
      "passCondition": "E03, E04, and E05 are present in the decoded initial 200 HTML.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A01"
    },
    {
      "id": "A02",
      "check": "Visible parity",
      "passCondition": "The answer and evidence text are equivalent before JavaScript, after hydration, and with JavaScript disabled.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A02"
    },
    {
      "id": "A03",
      "check": "Head parity",
      "passCondition": "The title, self-canonical, and robots directive retain their approved values in every delivery capture.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A03"
    },
    {
      "id": "A04",
      "check": "Structured-data parity",
      "passCondition": "The fictional Product node matches the visible product name, description, and canonical product URL.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A04"
    },
    {
      "id": "A05",
      "check": "Hydration",
      "passCondition": "The browser records no hydration mismatch and the declared interactive controls still operate.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A05"
    },
    {
      "id": "A06",
      "check": "Scope and rollback",
      "passCondition": "Only the three registered selectors change delivery; saved before states restore the prior component boundary.",
      "state": "passed",
      "evidencePointer": "synthetic-evidence/render-delivery/acceptance/A06"
    }
  ],
  "deliveryChecks": [
    {
      "id": "D01",
      "variant": "standard-http",
      "statusCode": 200,
      "finalUrl": "https://asterfall.example/products/orbitdesk",
      "initialSelectorsPresent": true,
      "selfCanonical": true,
      "robotsUnchanged": true,
      "visibleJsonLdParity": true,
      "hydrationClean": true,
      "samePublicMeaning": true,
      "evidencePointer": "synthetic-evidence/render-delivery/delivery/D01"
    },
    {
      "id": "D02",
      "variant": "browser-no-javascript",
      "statusCode": 200,
      "finalUrl": "https://asterfall.example/products/orbitdesk",
      "initialSelectorsPresent": true,
      "selfCanonical": true,
      "robotsUnchanged": true,
      "visibleJsonLdParity": true,
      "hydrationClean": true,
      "samePublicMeaning": true,
      "evidencePointer": "synthetic-evidence/render-delivery/delivery/D02"
    },
    {
      "id": "D03",
      "variant": "browser-hydrated",
      "statusCode": 200,
      "finalUrl": "https://asterfall.example/products/orbitdesk",
      "initialSelectorsPresent": true,
      "selfCanonical": true,
      "robotsUnchanged": true,
      "visibleJsonLdParity": true,
      "hydrationClean": true,
      "samePublicMeaning": true,
      "evidencePointer": "synthetic-evidence/render-delivery/delivery/D03"
    }
  ],
  "deployedAt": "2026-08-28T12:00:00Z",
  "prompts": [
    {
      "id": "Q01",
      "prompt": "Which workspace preserves source snapshots for product claims?",
      "feature": "target product named"
    },
    {
      "id": "Q02",
      "prompt": "Which tool maps a cited claim to a dated source record?",
      "feature": "target-owned product URL displayed"
    },
    {
      "id": "Q03",
      "prompt": "What does fictional OrbitDesk do?",
      "feature": "registered short-answer meaning present"
    },
    {
      "id": "Q04",
      "prompt": "Which records support the OrbitDesk description?",
      "feature": "registered evidence-list meaning present"
    },
    {
      "id": "Q05",
      "prompt": "Where is the fictional OrbitDesk product page?",
      "feature": "exact target URL displayed"
    }
  ],
  "contexts": [
    {
      "id": "CTX-A",
      "label": "Fictional answer surface North",
      "locale": "en-US",
      "contextVersion": "north-2026-08"
    },
    {
      "id": "CTX-B",
      "label": "Fictional answer surface South",
      "locale": "en-US",
      "contextVersion": "south-2026-08"
    }
  ],
  "cells": [
    {
      "id": "P01",
      "promptId": "Q01",
      "contextId": "CTX-A",
      "selectorId": "E03",
      "state": "eligible-observed",
      "baselineValues": [
        "absent",
        "absent",
        "absent"
      ],
      "postChangeValues": [
        "present",
        "present",
        "present"
      ],
      "classification": "outside-observed-variation",
      "direction": "positive",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P01",
      "note": "All three post-change marks differ from the stable-absent baseline."
    },
    {
      "id": "P02",
      "promptId": "Q01",
      "contextId": "CTX-B",
      "selectorId": "E03",
      "state": "eligible-observed",
      "baselineValues": [
        "absent",
        "absent",
        "absent"
      ],
      "postChangeValues": [
        "absent",
        "present",
        "absent"
      ],
      "classification": "within-observed-variation",
      "direction": "mixed-or-none",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P02",
      "note": "The post-change marks retain the baseline value and do not satisfy the frozen outside-variation rule."
    },
    {
      "id": "P03",
      "promptId": "Q02",
      "contextId": "CTX-A",
      "selectorId": "E05",
      "state": "eligible-observed",
      "baselineValues": [
        "absent",
        "present",
        "absent"
      ],
      "postChangeValues": [
        "present",
        "absent",
        "present"
      ],
      "classification": "within-observed-variation",
      "direction": "mixed-or-none",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P03",
      "note": "Both values already occur in the baseline repeats, so the result remains within observed variation."
    },
    {
      "id": "P04",
      "promptId": "Q02",
      "contextId": "CTX-B",
      "selectorId": "E05",
      "state": "eligible-observed",
      "baselineValues": [
        "absent",
        "absent",
        "absent"
      ],
      "postChangeValues": [
        "present",
        "present",
        "present"
      ],
      "classification": "outside-observed-variation",
      "direction": "positive",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P04",
      "note": "All three post-change marks differ from the stable-absent baseline."
    },
    {
      "id": "P05",
      "promptId": "Q03",
      "contextId": "CTX-A",
      "selectorId": "E03",
      "state": "eligible-observed",
      "baselineValues": [
        "present",
        "absent",
        "present"
      ],
      "postChangeValues": [
        "present",
        "present",
        "present"
      ],
      "classification": "within-observed-variation",
      "direction": "mixed-or-none",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P05",
      "note": "Present already occurs in the baseline repeats, so the all-present post set is not outside observed variation."
    },
    {
      "id": "P06",
      "promptId": "Q03",
      "contextId": "CTX-B",
      "selectorId": "E03",
      "state": "eligible-observed",
      "baselineValues": [
        "present",
        "present",
        "present"
      ],
      "postChangeValues": [
        "absent",
        "absent",
        "absent"
      ],
      "classification": "outside-observed-variation",
      "direction": "negative",
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P06",
      "note": "All three post-change marks differ from the stable-present baseline; the rule preserves this negative direction."
    },
    {
      "id": "P07",
      "promptId": "Q04",
      "contextId": "CTX-A",
      "selectorId": "E04",
      "state": "contaminated",
      "baselineValues": null,
      "postChangeValues": null,
      "classification": null,
      "direction": null,
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P07",
      "note": "Prompt wording changed after registration, so the cell remains contaminated rather than comparable."
    },
    {
      "id": "P08",
      "promptId": "Q04",
      "contextId": "CTX-B",
      "selectorId": "E04",
      "state": "unavailable",
      "baselineValues": null,
      "postChangeValues": null,
      "classification": null,
      "direction": null,
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P08",
      "note": "The declared post-change surface was unavailable; no outcome value is manufactured."
    },
    {
      "id": "P09",
      "promptId": "Q05",
      "contextId": "CTX-A",
      "selectorId": "E05",
      "state": "failed",
      "baselineValues": null,
      "postChangeValues": null,
      "classification": null,
      "direction": null,
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P09",
      "note": "Collection failed before an answer artifact was preserved."
    },
    {
      "id": "P10",
      "promptId": "Q05",
      "contextId": "CTX-B",
      "selectorId": "E05",
      "state": "incomparable",
      "baselineValues": null,
      "postChangeValues": null,
      "classification": null,
      "direction": null,
      "evidencePointer": "synthetic-evidence/render-delivery/proof/P10",
      "note": "The context version drifted between windows, so the cell remains incomparable."
    }
  ],
  "windows": [
    {
      "id": "W0",
      "role": "baseline",
      "startedAt": "2026-08-25T12:00:00Z",
      "endedAt": "2026-08-27T12:00:00Z",
      "repeatsPerCell": 3
    },
    {
      "id": "W1",
      "role": "post-change",
      "startedAt": "2026-08-30T12:00:00Z",
      "endedAt": "2026-09-01T12:00:00Z",
      "repeatsPerCell": 3
    }
  ]
}
```

## Related reading

- [Find: JavaScript-only evidence](https://rankecho.io/resources/find/issues/javascript-only-evidence)
- [Fix: Next.js server rendering](https://rankecho.io/resources/fix/server-rendering-nextjs)
- [Adjacent: fixed-prompt retest](https://rankecho.io/resources/prove/fixed-prompt-retest)
- [Adjacent: answer volatility](https://rankecho.io/resources/prove/answer-volatility)
- [Attach the manual record to the proof report](https://rankecho.io/templates/proof-report)

## Product next step

Attach this manual classification to the proof report at https://rankecho.io/templates/proof-report. Use Proof Loop for its supported prompt observations; it does not calculate this outside versus within observed variation class. https://rankecho.io/product/proof-loop
