# Finding 043: Gemini temporary chat did not fetch the structured-data conflict fixture

## Date

2026-06-30

## Status

Published

## Summary

Gemini was run against p20, `manual-client-gemini-20260625-001-p20`, in a
fresh Gemini native Temporary Chat. The exact public target URL passed
preflight with `HTTP 200` before prompt submission and contained
`VISIBLE-SILVER-30`.

Gemini returned `fetched:false`, `pages_opened:0`, and said it was unable to
retrieve the target URL with the available search and web browsing tools. The
bounded origin review found no matching direct-origin event for the exact
attempt id, `/lab/reading/structured-data-conflict`, or `/robots.txt` during
the prompt window. The only exact Gemini p20 event was the preflight request
before prompt submission.

## What does this mean?

For site owners and researchers, this run shows that Gemini's logged-in Temporary Chat surface can still decline or fail to retrieve a supplied page even when the page is publicly reachable moments earlier. A model answer that says it could not fetch the page should be treated as a real no-retrieval outcome only after checking the origin logs, because the lab saw no matching page or robots request during the attempt window.

## Method

- Browser task:
  `research/manual-client-runs/browser-tasks/manual-client-gemini-20260625-001-p20.browser-task.json`
- Prompt packet:
  `research/manual-client-runs/manual-client-gemini-20260625-001.prompts.json`
- Answer artifact:
  `research/manual-client-runs/manual-client-gemini-20260625-001.answers.json`
- Response file:
  `research/manual-client-runs/browser-tasks/responses/manual-client-gemini-20260625-001-p20.response.json`

Before opening Gemini, the exact target URL was checked with
`npm run manual-client:browser-preflight -- --task research/manual-client-runs/browser-tasks/manual-client-gemini-20260625-001-p20.browser-task.json --expect-text VISIBLE-SILVER-30 --json`.
The preflight returned `HTTP 200` and found the expected visible code.

Gemini was opened at `https://gemini.google.com/app` in the OpenClaw-controlled
Chrome profile. The UI showed the `kai bot` Google account, Pro tier, a fresh
compose box, and model selector `Flash`. The native `Temporary chat` control
was enabled before prompt submission, and Gemini showed the Temporary Chat
banner plus the temporary-chat retention notice. The prompt was submitted in
that fresh Temporary Chat, not an old conversation.

Direct-origin review checked `data/events.json` for the exact attempt id, the
fixture path, and `/robots.txt` during the bounded prompt window.

## Result

| Field | Value |
|---|---|
| Attempt ID | manual-client-gemini-20260625-001-p20 |
| Client | Gemini (gemini-web) |
| Visible model/context | Flash, Pro, native Temporary Chat |
| Source prompt | reading-structured-data-conflict |
| Fetched | false |
| Pages opened | 0 |
| Direct-origin events | 0 inside prompt window |
| Raw event ids | none |
| Bounded window | 2026-06-30T09:17:34Z - 2026-06-30T09:18:40Z |
| Confirmed hit from prompt | false |
| Confirmation status | registered_no_hit |

## Raw response

```json
{
  "attempt_id": "manual-client-gemini-20260625-001-p20",
  "source_prompt_id": "reading-structured-data-conflict",
  "prompt_code": "manual-client-gemini-20260625-001-p20",
  "ai_system": "Gemini",
  "fetched": false,
  "pages_opened": 0,
  "answer": "I am unable to access or retrieve the contents of the target URL using the available search and web browsing tools.",
  "evidence_quote": null,
  "limitations": "The web crawling tool returned no results or content for the requested URL, preventing a comparison between the visible page text and its structured data.",
  "confidence": "high"
}
```

## Origin evidence

```json
{
  "timestampWindow": {
    "startedAt": "2026-06-30T09:17:34Z",
    "endedAt": "2026-06-30T09:18:40Z"
  },
  "sourcePromptId": "reading-structured-data-conflict",
  "promptCode": "manual-client-gemini-20260625-001-p20",
  "confirmedHitFromPrompt": false,
  "rawEventIds": [],
  "events": [],
  "preflightEvent": {
    "id": "mr0fk1x9-9ze7j848",
    "timestamp": "2026-06-30T09:14:23.059Z",
    "eventType": "server_page",
    "path": "/lab/reading/structured-data-conflict",
    "userAgent": "ai-crawler-lab-preflight/1.0",
    "ip": "::ffff:192.168.1.1"
  },
  "resourceCounts": {
    "htmlPageRequests": 0,
    "robotsRequests": 0,
    "trackingPixelFetches": 0,
    "nonPixelSubresources": 0,
    "clientCapabilityEvents": 0
  }
}
```

## Interpretation

This run does not prove that Gemini cannot fetch the fixture in general. It
shows that this fresh Temporary Chat attempt returned a no-fetch answer and
left no corresponding origin-side request in the bounded window. That aligns
with other bounded no-hit AI-client results, while contrasting with Gemini
runs where direct URL prompts did create matching origin hits for other
fixtures.

Because no page content was retrieved, this run cannot compare Gemini's
treatment of visible text, meta description, or JSON-LD for p20. It is still a
useful controlled-browser result because it documents absence of behavior for
the same p20 prompt family where ChatGPT and Claude produced confirmed hits.

## Limitations

- This finding covers one Gemini run, one account/session, one model selector
  state, and one fixture.
- The prompt supplied the exact target URL, so the run tests direct opening,
  not independent discovery.
- Gemini's visible model selector was `Flash`; the backend model or retrieval
  implementation may vary across accounts, regions, or time.
- The recorded start and end times are operator-side bounds around submission
  and final answer observation, not service-internal fetch timestamps.
- Origin review used local `data/events.json` during the bounded window; it
  would not capture a delayed fetch outside that window.

## Publication Thesis Verification

- Thesis: Gemini Temporary Chat did not fetch the p20 structured-data conflict
  fixture during this controlled-browser attempt.
- Source: Fresh Gemini Temporary Chat response, generated response and answer
  artifacts, browser-task artifact, preflight output, and bounded
  `data/events.json` review.
- Method: Exact public target preflight, controlled-browser switch to Gemini
  Temporary Chat, prompt submission in a fresh chat, exact attempt-id review,
  fixture-path review, `/robots.txt` review, and bounded timestamp-window
  correlation.
- Bias: Single run, Pro account, Flash selector, and Gemini's web-tool
  availability may not represent every Gemini product surface, model, or tier.
- Consensus: Consistent with other bounded no-hit AI-client results where the
  model reported no retrieval and the origin logs showed no matching request.
- Invalidation: A raw event from Gemini or Google tooling inside the same
  prompt window, a response artifact from the same attempt showing retrieved
  page content, or a fixture/preflight mismatch would weaken this result.
- Verdict: Supported for this run. Gemini's no-fetch answer, empty raw event
  window, and separate preflight-only event align.
- Additional tests suggested: run p20 for Perplexity and Copilot/Bing; rerun
  Gemini p20 later with the same Temporary Chat flow to check whether the
  no-hit result is stable.

## Next steps

- Continue the remaining p20 controlled-browser tasks for Perplexity and
  Copilot/Bing.
- Rerun Gemini p20 in a later pass if a repeated no-hit/no-fetch pattern needs
  stability evidence.
