# Finding 045: Copilot temporary chat did not fetch the structured-data conflict target

## Date

2026-06-30

## Status

Published

## Summary

Copilot/Bing was run against p20,
`manual-client-copilot-bing-20260626-001-p20`, in a fresh Copilot chat. The
exact public target URL passed preflight with `HTTP 200` before prompt
submission and contained `VISIBLE-SILVER-30`.

Copilot returned `fetched:false`, `pages_opened:0`, and reported that no
`fetch_web_content` output was available because attempts returned
`Invalid tool invocation`. 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.

## What does this mean?

For site owners and researchers, this run shows that Copilot can produce a structured refusal-style retrieval result without creating a matching visit to the supplied target page. If an assistant says its retrieval tool failed, origin logs still need to be checked before concluding whether the site was contacted at all.

## Method

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

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

Copilot/Bing was opened from `https://www.bing.com/chat` in the
OpenClaw-controlled Chrome profile and redirected to
`https://copilot.microsoft.com/`. The UI showed the `kai` account, Free Plan,
a fresh start screen, a visible `Temporary` control, and response mode `Smart`
before prompt submission. The prompt was submitted in a fresh chat at
`/chats/LTFgHNPaVWnrNVaHjkd6c`, 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-copilot-bing-20260626-001-p20 |
| Client | Copilot/Bing (copilot-bing-web) |
| Visible model/context | Free Plan, Temporary control visible, Smart response mode |
| Source prompt | reading-structured-data-conflict |
| Fetched | false |
| Pages opened | 0 |
| Direct target-page events | 0 inside prompt window |
| Raw event ids | none |
| Bounded window | 2026-06-30T11:19:18Z - 2026-06-30T11:20:21Z |
| Confirmed target hit from prompt | false |
| Confirmation status | registered_no_hit |

## Raw response

```json
{
  "attempt_id": "manual-client-copilot-bing-20260626-001-p20",
  "source_prompt_id": "reading-structured-data-conflict",
  "prompt_code": "manual-client-copilot-bing-20260626-001-p20",
  "ai_system": "Copilot/Bing",
  "fetched": false,
  "pages_opened": 0,
  "answer": "This client cannot open or retrieve the target URL. No page content or structured data was accessible, so no comparison could be performed.",
  "evidence_quote": "No fetch_web_content output was available; all attempts returned 'Invalid tool invocation.'",
  "limitations": "Web browsing and page retrieval are not supported in this environment. The URL could not be accessed.",
  "confidence": "0.43"
}
```

## Origin evidence

```json
{
  "timestampWindow": {
    "startedAt": "2026-06-30T11:19:18Z",
    "endedAt": "2026-06-30T11:20:21Z"
  },
  "sourcePromptId": "reading-structured-data-conflict",
  "promptCode": "manual-client-copilot-bing-20260626-001-p20",
  "confirmedHitFromPrompt": false,
  "rawEventIds": [],
  "events": [],
  "resourceCounts": {
    "targetPageRequests": 0,
    "robotsRequests": 0,
    "rootRequests": 0,
    "trackingPixelFetches": 0,
    "nonPixelSubresources": 0,
    "clientCapabilityEvents": 0
  },
  "unrelatedEventsInWindow": [
    {
      "id": "mr0k1nz2-xqqw0vrr",
      "timestamp": "2026-06-30T11:20:03.280Z",
      "eventType": "static_page",
      "path": "/findings/",
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
    },
    {
      "id": "mr0k1o29-fsf6durs",
      "timestamp": "2026-06-30T11:20:03.345Z",
      "eventType": "static_asset",
      "path": "/css/tailwind.css",
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
    },
    {
      "id": "mr0k1o2v-5nmxlsnq",
      "timestamp": "2026-06-30T11:20:03.368Z",
      "eventType": "static_asset",
      "path": "/js/theme-switcher.js",
      "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/26.3.1 Safari/605.1.15"
    }
  ]
}
```

## Interpretation

This run does not show Copilot/Bing reading the p20 target page. The response
reported a retrieval-tool failure, and the origin logs had no exact attempt id,
fixture-path request, or robots request in the bounded prompt window.

Unlike the Perplexity p20 run, this was a clean bounded no-hit for the lab
origin. The only raw events during the prompt window were unrelated Safari
requests for the public findings page and its assets.

## Limitations

- This finding covers one Copilot/Bing run, one account/session, one fresh
  Copilot chat, and one fixture.
- The prompt supplied the exact target URL, so the run tests direct opening,
  not independent discovery.
- The Copilot UI showed response mode `Smart`, but not a precise model version
  in the captured snapshot.
- The visible `Temporary` control was present on the fresh start screen, but
  this finding does not prove Microsoft-side retention semantics.
- 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 target fetch outside that window.

## Publication Thesis Verification

- Thesis: Copilot/Bing did not fetch the p20 structured-data conflict target
  during this controlled-browser attempt.
- Source: Fresh Copilot response, generated response and answer artifacts,
  browser-task artifact, preflight output, and bounded `data/events.json`
  review.
- Method: Exact public target preflight, controlled-browser use of a fresh
  Copilot chat, prompt submission, exact attempt-id review, fixture-path
  review, `/robots.txt` review, and bounded timestamp-window correlation.
- Bias: Single run, Free Plan, Smart response mode, and Copilot's retrieval
  implementation may vary by account, region, product surface, or time.
- Consensus: Consistent with earlier Copilot/Bing controlled-browser no-hit
  findings where the model response did not correspond to direct-origin page
  access.
- Invalidation: A raw event for the exact attempt id, fixture path, or
  `/robots.txt` 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. The model response, empty exact-attempt
  review, and empty target/robots origin review align with a bounded no-hit.
- Additional tests suggested: repeat p20 after any Copilot retrieval-mode or
  account-tier change, and compare no-hit responses that cite invalid tool
  invocation against search-index-gated Copilot responses.

## Next steps

- Repeat p20 if Copilot exposes a clearer retrieval/search mode or model
  version control.
- Add a follow-up card to compare Copilot/Bing no-hit reason strings across
  direct URL opening prompts.
