# Snippet Rendering Boundary Benchmark Methodology

This is a checked-in synthetic fixture benchmark for `fasttool-metadata-release-gate/1.2.0`. It is not a capture of Google Search and does not measure title-link selection, snippet rewrites, ranking, CTR, indexing or traffic.

## Reproduce

```sh
node scripts/snippet_release_gate_engine_test.mjs
node scripts/build_snippet_benchmark_receipt_20260804.mjs
```

## Assertions

1. Parse baseline and current head HTML without executing it.
2. Require supported parser coverage before PASS and apply `BLOCK > INDETERMINATE > PASS`.
3. Preserve browser-first duplicate-attribute semantics and flag every duplicate as incomplete coverage.
4. Reject unclosed comments and prevent comment-contained closing tags from changing the parsed head boundary.
5. Treat RCDATA, RAWTEXT, body-starting and unsupported head elements fail-closed; metadata-looking text inside them cannot create PASS.
6. Apply HTML ASCII whitespace rules to tag, attribute, robots and rel tokenization; NBSP cannot masquerade as syntax whitespace.
7. Reject malformed, NUL-containing and greater-than-64-KiB head input before artifact generation.
8. Escape active markup in SVG and PASS implementation-patch exports.
9. Emit only a non-executable review plan for BLOCK or INDETERMINATE.
10. Neutralize formula-leading CSV cells.
11. Generate identical text artifact bytes from identical analyzed input and hash exact UTF-8 bytes.

## Boundary model

Title and description widths use a fixed local glyph-class estimate. Cross-origin canonicals, missing optional metadata and width thresholds remain review states rather than invented Google defects. Google can select and render text from sources outside the supplied metadata.

## Fixture provenance

All fixture hostnames use the reserved `.test` namespace. Files contain no real account, customer, Search Console or production page data. Exact fixture, engine, policy and artifact hashes are recorded in the accompanying Receipt v1.
