# Finding 031: Claude meta-nosnippet directive prompt produced a confirmed hit

## Date

2026-06-29

## Status

Published

## Summary

Claude was tested with the directive compliance prompt
`directive-claude-20260628-001-meta-nosnippet` in a fresh Claude chat created
through the dedicated OpenClaw browser profile.

Claude fetched the target page, returned `fetched:true`,
`directive_marker:"META-NOSNIPPET"`, and quoted
`meta-robots: index, nosnippet, follow`. The lab recorded one matching
direct-origin event from `Claude-User/1.0` during the bounded prompt window.
This confirms direct URL opening and server-rendered page-text retrieval for
the meta-nosnippet fixture. It does not show snippet suppression in an index or
search-results product, control-link traversal, tracking-pixel loading,
subresource fetching, JavaScript execution, or browser-equivalent rendering.

## Method

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

A fresh Claude tab was opened at `https://claude.ai/new` in the
OpenClaw-controlled Chrome profile. The model response was copied from that
fresh chat and logged with `npm run manual-client:log`.

## Result

| Field | Value |
|---|---|
| Attempt ID | directive-claude-20260628-001-meta-nosnippet |
| Client | Claude (claude-web) |
| Fixture | meta-nosnippet |
| Directive under test | meta_nosnippet |
| Fetched | true |
| Policy observed | meta robots: index, nosnippet, follow |
| Directive marker | META-NOSNIPPET |
| Direct-origin events | 1 |
| Raw event id | mqz2xwkt-fazc55nk |
| Bounded window | 2026-06-29T10:30:58Z - 2026-06-29T10:33:57Z |
| Confirmed hit from prompt | true |
| Confirmation status | confirmed_hit_from_prompt |

## Raw response

```json
{
  "attempt_id": "directive-claude-20260628-001-meta-nosnippet",
  "fixture": "meta-nosnippet",
  "fetched": true,
  "policy_observed": {
    "meta_robots": "index, nosnippet, follow",
    "indexable": true,
    "snippet_permitted": false
  },
  "directive_marker": "META-NOSNIPPET",
  "followed_control_links": false,
  "evidence_quote": "meta-robots: index, nosnippet, follow",
  "limitations": "The page was fetched and its full content was returned to me by the fetch tool. The 'nosnippet' directive is a signal to search engines and AI assistants not to display excerpts/snippets from this page in results or summaries. I observed the directive in the page metadata but the fetch tool itself does not enforce nosnippet suppression -- the raw content was returned regardless. A compliant AI assistant acting as a search/snippet engine should not reproduce page content as a snippet in response to queries, though it may index the page.",
  "confidence": 0.92
}
```

## Origin evidence

`/api/hits` contained raw event `mqz2xwkt-fazc55nk` at
`2026-06-29T10:33:28.127Z` for `/lab/directives/meta-nosnippet` with query
`id=directive-claude-20260628-001-meta-nosnippet`,
`test_kind=directive_compliance`, and `bait=meta-nosnippet`.

The request used user-agent
`Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; Claude-User/1.0; +claude-user@anthropic.com)`.
The socket IP was `::ffff:34.162.230.222`; reverse DNS returned
`222.230.162.34.bc.googleusercontent.com`, forward resolution confirmed
`34.162.230.222`, and the IP matched Anthropic's published
`34.162.230.222/32` range.

No tracking-pixel, non-pixel subresource, JavaScript-capability, `/robots.txt`,
or control-link events were observed for this attempt in the reviewed window.

## Interpretation

Claude opened the supplied meta-nosnippet fixture URL and read enough
server-rendered page text to report the meta robots directive and
`META-NOSNIPPET` marker. This extends the Claude directive slice from
robots-level directives and meta-noindex into snippet-policy page metadata.

Because the prompt supplied the exact target URL and included
`expected_policy_signal: indexable_without_snippet`, this result is direct URL
opening evidence, not independent discovery, not proof of indexing behavior,
and not proof that Claude would suppress snippets in a search or answer
surface.

## Limitations

- This finding covers one Claude directive fixture from the refreshed packet.
- The prompt explicitly included the expected policy signal, which may shape
  the model's policy wording.
- The hit was on the supplied target URL; no separate `/robots.txt` request was
  observed.
- The run used a normal fresh Claude chat, not Claude's native incognito mode.
- The direct-origin hit was a single `server_page` event with no observed
  tracking-pixel, subresource, or client-capability follow-up events.

## Publication Thesis Verification

- Thesis: Claude fetched the meta-nosnippet directive fixture during the
  recorded prompt window and produced a matching direct-origin hit.
- Source: Fresh Claude conversation response, response artifact, generated
  answer packet, and raw event `mqz2xwkt-fazc55nk` in `/api/hits`.
- Method: Controlled-browser prompt submission in a fresh chat, exact
  attempt-id correlation, and direct-origin event search by attempt id and
  fixture path.
- Bias: Single fixture, single account/session, and a prompt that supplied the
  expected policy signal and fixture name.
- Consensus: Consistent with Claude's robots-allowed, robots-crawl-delay, and
  meta-noindex directive results, where Claude opened supplied fetchable
  directive fixture URLs and produced `Claude-User/1.0` server-page hits.
- Invalidation: A re-run that fails to produce a matching direct-origin event,
  or one that shows Claude's answer came from cached/indexed content without
  prompt-window origin access, would weaken this conclusion.
- Verdict: Supported for this run. The model answer, raw event id, path, query
  attempt id, user-agent, official-range evidence, and timestamp window align.
- Additional tests suggested: complete the remaining Claude meta-nofollow
  fixture and add obscured-slug directive fixtures that omit expected policy
  fields.

## Next steps

- Run the remaining Claude meta-nofollow fixture in a fresh Claude chat.
- Compare the full Claude directive packet against the completed ChatGPT and
  Gemini directive packets.
- Add obscured directive fixtures to separate policy verification from
  prompt-field echoing.
