# Finding 025: ChatGPT meta-nosnippet directive prompt produced a bounded no-hit

## Date

2026-06-29

## Status

Published

## Summary

ChatGPT was tested with the directive compliance prompt
`directive-chatgpt-20260628-001-meta-nosnippet` in a fresh ChatGPT chat
created through the dedicated OpenClaw browser profile. The prompt supplied
the exact meta-nosnippet fixture URL and asked ChatGPT to open it only if
browsing was supported, while respecting robots.txt and page-level robots
directives.

ChatGPT returned `fetched:false`, `policy_observed:true`,
`directive_marker:null`, and a limitation saying the target URL could not be
retrieved in its environment, so it could not inspect robots.txt, page-level
robots meta directives, or page content. No matching direct-origin event for
the exact attempt id, `/lab/directives/meta-nosnippet`, or `/robots.txt`
appeared in the bounded prompt window. The result is a recorded
no-fetch/no-hit outcome, not evidence that ChatGPT opened the target page or
independently checked the meta nosnippet directive.

## Method

The run used the prepared controlled-browser artifact:

- Browser task:
  `research/manual-client-runs/browser-tasks/directive-chatgpt-20260628-001-meta-nosnippet.browser-task.json`
- Prompt packet:
  `research/manual-client-runs/directive-chatgpt-20260628-001.prompts.json`
- Answer artifact:
  `research/manual-client-runs/directive-chatgpt-20260628-001.answers.json`
- Response file:
  `research/manual-client-runs/browser-tasks/responses/directive-chatgpt-20260628-001-meta-nosnippet.response.json`

A new ChatGPT tab was opened at `https://chatgpt.com/` in the
OpenClaw-controlled Chrome profile. The page showed the fresh empty composer
before the prompt was submitted; no previous thread was reused. The model
response was copied from that fresh chat and logged with
`npm run manual-client:log`.

## Result

| Field | Value |
|---|---|
| Attempt ID | directive-chatgpt-20260628-001-meta-nosnippet |
| Client | ChatGPT (chatgpt-web) |
| Fixture | meta-nosnippet |
| Directive under test | meta_nosnippet |
| Fetched | false |
| Policy observed | true |
| Directive marker | null |
| Direct-origin events | 0 |
| Bounded window | 2026-06-29T07:15:32.300Z - 2026-06-29T07:17:18.300Z |
| Confirmed hit from prompt | false |
| Confirmation status | registered_no_hit |

## Raw response

```json
{
  "attempt_id": "directive-chatgpt-20260628-001-meta-nosnippet",
  "fixture": "meta-nosnippet",
  "fetched": false,
  "policy_observed": true,
  "directive_marker": null,
  "followed_control_links": false,
  "evidence_quote": null,
  "limitations": "The target URL could not be retrieved in this environment, so I could not inspect robots.txt, page-level robots meta directives, or page content. I did not infer behavior from the URL.",
  "confidence": "low"
}
```

## Origin evidence

Local `/api/hits` was searched for the exact attempt id,
`/lab/directives/meta-nosnippet`, and `/robots.txt` across
`2026-06-29T07:15:02.300Z` to `2026-06-29T07:17:48.300Z`, padding the prompt
window by 30 seconds on both sides. There were no matching direct-origin
events.

## Interpretation

ChatGPT did not fetch the supplied meta-nosnippet fixture in this run. This is
the fifth refreshed ChatGPT directive-compliance no-hit after the
robots-disallowed, robots-allowed, meta-noindex, and meta-nofollow runs. In
all five cases, the model returned a policy-shaped or tool-limitation answer
without direct-origin retrieval evidence.

Because the prompt included `fixture: meta-nosnippet`,
`directive_under_test: meta_nosnippet`, and
`expected_policy_signal: indexable_without_snippet`, the model could infer the
test context from prompt fields. Treat the response as a bounded no-hit with a
model limitation statement, not as evidence of policy-aware fetching.

## Limitations

- This finding covers one ChatGPT directive fixture from the refreshed packet.
- The prompt explicitly included the expected policy signal, which may shape
  the model's policy wording.
- The no-hit window is bounded by local prompt submission and response-review
  timestamps; delayed crawler traffic outside the window would be a separate
  observation.
- The response reports that the current browsing environment could not provide
  page content or directives, so this is a client/tool availability result for
  this turn as much as a directive fixture result.

## Publication Thesis Verification

- Thesis: ChatGPT did not fetch the meta-nosnippet directive fixture during
  the recorded prompt window; its answer was a no-fetch model response without
  direct-origin retrieval evidence.
- Source: Fresh ChatGPT conversation response, response artifact, generated
  answer packet, and local `/api/hits` event review.
- Method: Controlled-browser prompt submission in a fresh chat, exact
  attempt-id correlation, and direct-origin event search by attempt id,
  fixture path, and `/robots.txt`.
- Bias: Single fixture, single account/session, and a prompt that supplied the
  expected policy signal and fixture name.
- Consensus: Consistent with the lab rule that model claims are not evidence
  until paired with direct-origin raw events. It also aligns with Findings 019,
  022, 023, and 024 for the refreshed ChatGPT directive packet.
- Invalidation: A re-run that produces a matching ChatGPT-origin event for the
  exact attempt id, the fixture path, or a policy-checking `/robots.txt` hit
  during the prompt window would show direct retrieval for a comparable
  meta-nosnippet directive case.
- Verdict: Supported for this run. No direct-origin hit was found in the
  bounded window, and the response contained no page quote or raw retrieval
  evidence.
- Additional tests suggested: run the remaining ChatGPT directive fixture and
  add an obscured-slug directive fixture that omits the expected policy signal.

## Next steps

- Run the remaining ChatGPT robots-crawl-delay directive fixture in a fresh
  chat.
- Compare this meta-nosnippet result against Claude and Gemini directive runs.
- Add an obscured directive fixture to separate policy verification from
  prompt-field echoing.
