EVIDENCE PREPARATION
The right evidence,
for each control.
Plan, capture and review are distinct evidence. The engine retains their provenance and chronology.
Before collection
TS01 · 2 rules
The final page returns an actionable HTTP status code.
Public pages designated as canonical.
Evidence to gather
Intent, complete GET trace and retained body; reasoned findings for A01–A02.
A test from one IP does not prove the response received by Googlebot.
Control method and criteria
Method
Send a GET request, follow redirects and record the final status code.
Acceptance criteria
Each GET reaches a final 200 response for the expected resource; retain timestamp and redirect chain.
Non-applicability
No public canonical page in the declared scope.
Detailed rules
TS01-A01 · Final GET returns 200
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Each public page designated canonical, in the declared request context.
Evidence
Intent per URL; command and tool version; dated GET trace, URLs and statuses of every hop, final headers and truncation indicators.
Method
Perform a GET without conditional caching; record every hop and final response. Declare agent, headers, cookies/authentication, network, time and time/size/redirect bounds.
Acceptance criteria
A complete final 200 response is observed. An observed final 204, 206, 4xx or 5xx contradicts this expectation; HEAD alone or 304 without a representation is insufficient.
When the result remains inconclusive
Timeout, DNS/TLS failure, interrupted chain, reached bound, incomplete capture, HEAD only or 304 without a retained body: inconclusive, without an inferred SEO fault.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Request context and bounds are declared before the test; 200 is a TSEP requirement for this population.
Limitations
Neither continuous availability nor an actual Googlebot response. An observed chain does not validate TS02.
TS01-A02 · Expected final resource
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Each final response whose content can be compared to intent.
Evidence
HTTP trace, complete body and dated prior intent with URL, reference digest and any markers/stability policy; extraction, computed values and tool/version. Hash after transfer and content decoding, before any transformation. Literal case-sensitive markers within each decoded HTML source-text segment: character references resolved; comments, script/style, tags and attributes excluded; segments never concatenated across markup. For text/plain, the entire decoded body. No whitespace normalization or regular expressions. The distinct parsed profile normalizes source CRLF/CR to LF before reference expansion without changing criteria; retain both projections, contexts, positions, reported errors, results and tools. Identical contexts are referenced without removing segments; trees can be reconstructed from the body and exact tools.
Method
First compare final URL with expected_final_url, then complete-body SHA-256 with expected_body_sha256. Fix references, any stable policy and markers before measurement. The changed non-stable body branch uses the historical reader unless prior identity_reader: html-tree-markers-v1 selects two whole-document static hypotheses, byte-attributed parsed segments and literal criteria. Hashing still covers the unchanged complete body. Draft.6 excludes attributable structural ASCII whitespace under html or across only body/html end tags, retaining original intervals and bytes; see migration-0.3.0-draft.6. The distinct html-tree-markers-v2 profile excludes noscript segments from all marker matching, including rechecks. The v1 profile retains its historical semantics. An intent must explicitly name the selected profile before the new capture. The distinct html-tree-markers-v3 profile covers main-document HTML text: attributed noscript/iframe/foreign-subtree exclusions; an excluded forbidden marker prevents pass; only duplicate-attribute parse5 errors are admitted, with no directive interpretation. ASCII whitespace across ignored end tags requires exact reconstruction. See migration-0.3.0-draft.7 for limits and explicit migration.
Acceptance criteria
Different final URL: fail. At the same URL, identical digest: pass. Otherwise, representation: stable requires fail. Otherwise, under the historical reader, valid markers yield fail if any required marker is missing or any forbidden marker is present. Pass requires at least one required marker, all required markers present and all forbidden markers absent. Forbidden-only markers all absent: inconclusive. Without markers or declared stability: inconclusive. HTTP status does not replace this comparison. Under html-tree-markers-v1, each complete reading compares all markers; both pass gives pass, both fail gives fail, every other pair is inconclusive. URL, hash and stability precedence remains unchanged.
When the result remains inconclusive
Missing/truncated capture, unknown decoding, missing/invalid reference URL or subsequent intent: inconclusive. At an identical URL, missing/invalid reference digest: inconclusive. When digests differ without stability, absent, empty, malformed or contradictory markers, unresolved extraction, or forbidden-only markers all absent: inconclusive. A different URL remains fail even without a reference digest. For the parsed profile: divergent hypotheses, reported parse5 errors, nonblank foreign text outside exclusions, unsupported frames/contexts, unattributable spans, unavailable runtime or exceeded bound remain inconclusive without fallback.
Non-applicability
No atomic exemption when the control applies.
Assumptions
The owner fixes a reference representation before collection; its business relevance remains their responsibility. Comparison is automatic; defining intent is not. Any selected profile and its criteria are declared in new intent before capture; no silent selection or conversion of historical intents.
Limitations
A changed digest alone does not prove wrong content. Source-text extraction measures neither CSS/DOM visibility nor semantic similarity; title and CSS-hidden text may count. Appropriate markers and a correct reference remain the owner’s responsibility. Wrong intent can validate wrong content. No engine soft-404 classification, indexing or undeclared routes. The new profile retains title/textarea/options/hidden text, excludes HTML/SVG scripts/styles and inactive templates; its contract specifies refusals. No browser behavior, complete HTML validity or new Edikka assessment follows.
TS02 · 2 rules
Redirects are intentional, direct and loop-free.
Variants and legacy URLs with a declared expected behavior.
Evidence to gather
One final destination, documented chain and no loop.
A valid redirect does not prove the semantic relevance of its destination. The executable reference covers bounded server-side HTTP trajectories; other mechanisms remain unestablished, without exempting the control.
Control method and criteria
Method
Test HTTP/HTTPS, host, trailing-slash and legacy URL variants, including the redirect count.
Acceptance criteria
Each tested variant follows the approved destination and hop count without a loop; the owner confirms intent.
Non-applicability
No redirects or expected variants, supported by an inventory.
Detailed rules
TS02-A01 · Previously approved redirect plan
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Variants and legacy URLs with a declared expected behavior.
Evidence
Plan, context, declared owner identity and role, date, decision, reason, assistance and review provenance; exact digest of examined criteria.
Method
Declare source, final destination, allowed redirect and terminal statuses, minimum/maximum redirect count and context. Check the supplied owner review, reasoned, dated between declaration and capture and digest-bound to plan/context.
Acceptance criteria
The owner explicitly approves the applicable plan before capture. Explicit rejection bound to the same plan is fail; missing or unattributable review remains inconclusive.
When the result remains inconclusive
Missing, invalid or late plan; absent, unbound or mistimed review; unsupported mechanism. The tool supplies no human approval.
Non-applicability
No atomic exemption. Whole-control non-applicability needs a separate positive inventory; a missing capture does not establish it.
Assumptions
The owner supplies criteria before capture; a laboratory author may supply an explicitly synthetic review. A digest binds records without authenticating a person.
Limitations
A valid redirect does not prove the semantic relevance of its destination. The executable reference covers bounded server-side HTTP trajectories; other mechanisms remain unestablished, without exempting the control.
TS02-A02 · HTTP trajectory matches the plan
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Variants and legacy URLs with a declared expected behavior.
Evidence
Original HTTP requests/responses per hop, URL, completeness, client and context; prior plan. Proven contradictions survive later gaps and absent A01 approval.
Method
Read each attributable GET exchange in order, resolve Location, retain codes and URLs, count redirects and check terminal destination/status. Compare with the pre-capture plan without reconstructing missing responses. Prior profile http-trajectory-headers-v1 may conclude from complete headers after an attributable collector-2 byte-limit stop; the body remains incomplete and unevaluated.
Acceptance criteria
The complete chain matches declared destination, statuses and bounds, without a loop. A forbidden type, exceeded maximum, redirect without Location or return to a visited URL is fail as soon as a complete prefix establishes it. Wrong terminal destination/status or insufficient count is fail after an attributable terminal response.
When the result remains inconclusive
Unfinished chain without contradiction, collection limit, ambiguous Location, unsupported fragment/syntax, conditional/authenticated request, incomplete or unattributable capture. A collection limit does not prove a loop; exceeding an intended maximum is distinct. Bounded exception: prefix at the exact attributed byte limit with one overflow byte, without ambiguous headers or contradictory framing, under the explicit new profile only.
Non-applicability
No atomic exemption. Whole-control non-applicability needs a separate positive inventory; a missing capture does not establish it.
Assumptions
The owner supplies criteria before capture; a laboratory author may supply an explicitly synthetic review. A digest binds records without authenticating a person.
Limitations
A valid redirect does not prove the semantic relevance of its destination. The executable reference covers bounded server-side HTTP trajectories; other mechanisms remain unestablished, without exempting the control.
TS03 · 1 rules
Server errors and soft 404s do not replace an explicit response.
Synthetic routes explicitly classified as existing, removed and nonexistent in a dated plan; real-world scope is not authenticated.
Evidence to gather
Prior intent plan, binding fingerprint, body expectations, URL/GET and complete raw HTTP responses for each required state; retain counterexamples even when other evidence is missing.
The probe uses only synthetic .invalid captures and literal UTF-8 markers. It confirms no real existence, removal, sustained availability, semantic quality, or Google soft-404 classification. A point-in-time 5xx fails the declared status without proving a persistent outage. No site or search engine is queried.
Control method and criteria
Method
Before captures, bind the intent plan for the three route states and their content criteria into configuration. Compare a supplied HTTP GET matrix without DNS resolution or network collection.
Acceptance criteria
Pass qualifies only the complete supplied matrix: 200 and expected markers for an existing route; 404/410 and declared body criteria for removed/nonexistent routes. A 2xx for the latter, another complete status, or a marker contradiction is fail. Soft-404 classification is not measured.
Non-applicability
Scope contains no HTTP routing, with a justification.
Detailed rules
TS03-A01 · Synthetic HTTP responses compared with a prior plan
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
A route plan contains at least one existing, removed and nonexistent state in the synthetic scope.
Evidence
The plan and its fingerprint, content expectations, then for each route the GET request, raw HTTP response, status, time and complete body. Preserve contradictory observations and gaps separately.
Method
Verify the prior plan and its fingerprint; compare each attributable, complete GET/response for a .invalid route with the permitted statuses and literal UTF-8 markers fixed in the content expectations.
Acceptance criteria
Pass requires exactly one complete response per route and every required state: 200 for existing, 404/410 for removed or nonexistent, required markers present and forbidden markers absent. A complete contradiction remains fail despite a duplicate, another incomplete capture or a gap. 206/304, missing, ambiguous or unattributable data remain inconclusive.
When the result remains inconclusive
Missing/future/mismatched plan, missing route state, duplicate, incomplete HTTP, unattributable URL/client, 206/304, non-UTF-8 content, contradictory plan markers or incomplete matrix; an attributable contradiction remains fail.
Non-applicability
No atomic exemption. Whole-control NA requires a positive, complete, reasoned and dated inventory establishing that no HTTP routing is in scope.
Assumptions
The plan, classifications and criteria are supplied and unauthenticated. Any attached review is a synthetic exercise, not independent approval.
Limitations
A .invalid capture tests no server. Markers are searched literally in the decoded body, without DOM, rendering, semantic judgment or engine classification. C covers only the declared matrix, not a whole site, availability over time, indexing or ranking.
TS04 · 2 rules
The effective robots policy matches declared intent.
Hosts and agents for which a crawl policy is assessed.
Evidence to gather
Prior plan, origin, product token and User-Agent, profile, dated raw robots, selected lines, required-resource responses and supplied reviews.
robots.txt is a crawling protocol, not an access-control mechanism.
Control method and criteria
Method
Declare origin, crawler, interpretation profile and resource/expected-policy matrix before collection; compare policy and access under A01–A02.
Acceptance criteria
Effective rules and resource access match the declared policy; documented intentional absence may be compatible, without universally requiring 200.
Non-applicability
No crawlable host in scope.
Detailed rules
TS04-A01 · Policy per origin, crawler and resource
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each origin and path matrix whose crawl policy is assessed.
Evidence
Complete matrix, prior intent, context, full robots request/response, profile and reasoned per-resource result.
Method
Freeze the profile and expected allowances/disallows before observation. Interpret robots status, groups, rules and redirects in the initial origin context; retain the lines determining each outcome.
Acceptance criteria
Every observed policy matches declared intent. Unexpected permission and unexpected disallow are contradictions. Intentional absence can be compatible under the profile; no universal 200 requirement.
When the result remains inconclusive
Absent profile/capture/timing, unsupported syntax or unresolved error/cache: inconclusive. An attributable contradiction on another resource remains fail. Null, unsupported or inconsistent directive_crawler makes policy interpretation inconclusive without falling back to the client group. An independent HTTP contradiction remains limited to the observed client.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Choose the profile before measurement and keep it fixed for a campaign context; never select the favorable profile after observation. Distinguish RFC model, documented Google policy and unobserved actual cache. Optional directive_crawler=googlebot, frozen before capture, selects the Googlebot policy only on the representation received by crawler, the exact HTTP User-Agent. An explicit robots_policy with case-insensitive googlebot product_token is required, as for TS07. Without the field, historical behavior is preserved. Optional prior google-robotstxt-fields-v2 extends the closed registry of fields outside access scope using pinned google/robotstxt sources; old profiles remain unchanged with no automatic selection.
Limitations
semiAuto: matrix and profile suitability remain declared. The reference is bounded to one origin, documented profiles and supplied captures; no engine visit, ingestion or indexing is established. In explicit mode, every robots conclusion concerns the declared product on bytes received by the client, without proving the representation received by Googlebot. An HTTP status contrary to the plan (including 401/403/429/5xx when 200 is expected) remains fail for that client, never evidence of denial to Googlebot. Registry fields and sitemap are recorded without assessing usage preferences, TS42 or indexing and never delimit groups. Other fields and tolerances remain unsupported. Full line numbers and values are retained; reason previews disclose truncation.
TS04-A02 · Access to required resources
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Resources explicitly required in the declared scope, including selected rendering resources.
Evidence
Resource plan, robots, complete HTTP traces, reasoned per-resource review with declared identity, date, provenance, assistance and binding digest.
Method
Compare robots policy and HTTP trajectories with planned destinations/statuses, then review responses for obstacles. Bind each supplied review to bytes, dates, intent and context. Retain gaps separately.
Acceptance criteria
Every required resource and observed hop is allowed under the profile, reaches its planned response and has no obstacle according to supplied review. Robots blocking, a contradictory response or an evidenced obstacle gives fail even when other evidence is missing.
When the result remains inconclusive
Missing resource/review, unbound review, incomplete response, uncertainty or unsupported scope: inconclusive without erasing an established contradiction. Null, unsupported or inconsistent directive_crawler makes policy interpretation inconclusive without falling back to the client group. An independent HTTP contradiction remains limited to the observed client.
Non-applicability
No required resource in this scope, established by reasoned inventory review dated before the plan; an unjustified empty list is insufficient.
Assumptions
A test client does not authenticate as Googlebot; 200 alone cannot establish absence of a challenge. Software does not produce the review or authenticate reviewer identity. Optional directive_crawler=googlebot, frozen before capture, selects the Googlebot policy only on the representation received by crawler, the exact HTTP User-Agent. An explicit robots_policy with case-insensitive googlebot product_token is required, as for TS07. Without the field, historical behavior is preserved. Optional prior google-robotstxt-fields-v2 extends the closed registry of fields outside access scope using pinned google/robotstxt sources; old profiles remain unchanged with no automatic selection.
Limitations
Inventory sufficiency and human judgment are not fully automated. The reference covers one origin and attributable trajectories; it does not execute rendering or establish actual engine access. In explicit mode, every robots conclusion concerns the declared product on bytes received by the client, without proving the representation received by Googlebot. An HTTP status contrary to the plan (including 401/403/429/5xx when 200 is expected) remains fail for that client, never evidence of denial to Googlebot. Registry fields and sitemap are recorded without assessing usage preferences, TS42 or indexing and never delimit groups. Other fields and tolerances remain unsupported. Full line numbers and values are retained; reason previews disclose truncation.
TS05 · 1 rules
A Disallow rule is never presented as a guarantee of deindexing.
Crawling or exclusion policies in scope.
Evidence to gather
Configuration and intent records linked to the target, a prior dated decision map, scope, mechanisms and claims with their bases; positive dated review for non-applicability.
The reader compares a supplied synthetic plan; it does not fetch a site, test authentication, verify a removal request, or inspect index state. A blocked URL may remain known and appear without a snippet. Full TS05 qualification and application reception are separate.
Control method and criteria
Method
Compare a decision map dated before observation—crawl, indexing goal and method, noindex visibility, protection, and the scope of claims—with the supplied configuration record.
Acceptance criteria
A pass indicates only internal consistency of the supplied plan. Crawling, indexing and protection are separate; Disallow alone guarantees neither deindexing nor confidentiality. No actual index or server state is established.
Non-applicability
No relevant policy, with scope and decision documented.
Detailed rules
TS05-A01 · Supplied map: crawling, indexing and protection are distinct.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
A crawl policy, indexing objective or confidentiality claim exists in scope.
Evidence
Configuration, prior intent map, dates, scope, methods/effects and claims with bases; both records cover the target.
Method
Read intent.ts05_policy, dated before observed_at, and the configuration record. Compare crawl methods/effects, indexing goal/method and noindex visibility, then protection and the bases for deindexing/confidentiality claims. The policy_version=2 profile also compares authentication, authorization and HTTP 404/410 removal. Exclusion hidden by Disallow is contradictory even without a guarantee claim. Results concern declared plan consistency only; neither deindexing nor confidentiality is established.
Acceptance criteria
Pass means only that the supplied map is internally consistent and separates the three axes. A deindexing guarantee based only on Disallow fails; an inaccessible noindex directive does not establish exclusion. No positive verdict proves index state, real crawler access or server confidentiality.
When the result remains inconclusive
Missing, undated, incomplete or future plan; unsupported method; unknown index state; blocked or unknown noindex visibility; incomplete removal request; indeterminate protection basis.
Non-applicability
This atomic test does not accept a partial exemption. Whole-control NA requires a complete, reasoned inventory review dated before observed_at, establishing absence of relevant policy for every target.
Assumptions
Records are supplied and unauthenticated. The interpreter tests their form and declared consistency, not their truth or implementation.
Limitations
Semi-automated mechanism over a synthetic model. It does not parse live robots.txt, meta, X-Robots-Tag or HTTP; observe visits, indexing or removals; or test access controls. Pass qualifies only the consistency of the supplied map.
TS06 · 1 rules
Sensitive areas genuinely deny access at server level.
Private or sensitive routes explicitly inventoried in a declared scope; this candidate rule qualifies only supplied synthetic HTTP traces.
Evidence to gather
Supplied configuration, intent and HTTP records; exact plan fingerprint; timestamps; route/role identifiers; each raw GET exchange and its order; complete unauthorized-cell list; and every triplet phase/cache label. Preserve attributable contradictory responses before reporting any matrix gap.
A fixture interpreter bounded to .invalid URL labels, with no DNS, socket, crawl or live domain. An HTTP role is a synthetic label, not authentication. A shared cache label proves no shared cache; Age/X-Cache alone do not establish attribution. The rule does not execute cookies, Authorization, JavaScript, TLS, URL aliases or HEAD. 206, 304 without a complete body, unsupported encoding, missing/ambiguous cell and incomplete cache state yield inconclusive. The result does not qualify every page of a site.
Control method and criteria
Method
Before observations, supply intent.ts06_access and bind its fingerprint in configuration.ts06_access. Declare routes, synthetic canaries, fictional roles, exact route/role tests, and cold anonymous → synthetic authorized seed → anonymous replay triplets with the same cache label. Inspect supplied GETs without DNS resolution or network requests. Authentication redirects must remain on the same origin (scheme, host, effective port) and follow an explicit path allowlist. A 404 counts as denial only when the plan declares it for that route.
Acceptance criteria
Pass means only that all declared unauthorized route/role cells are complete, denied without a sensitive marker, and every supplied triplet follows the declared order without a replay leak; the control measures neither real identity nor a real cache. Any attributable response to an unauthorized role containing a canary fails, including detected encoded bodies or response headers. A 2xx representation delivered to an unauthorized role also fails.
Non-applicability
The whole control may be not applicable only with a complete, dated, reasoned synthetic inventory review declaring no sensitive route in scope; no contradictory test or triplet may then be present.
Detailed rules
TS06-A01 · Access denied in the supplied synthetic HTTP matrix
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
At least one sensitive route is explicitly declared in the synthetic scope.
Evidence
Configuration/intent/http records linked to the target, plan fingerprint, routes/roles/tests, raw GET exchanges with timestamps, canaries and labelled cache triplets.
Method
Compare the prior plan bound to configuration with a complete synthetic GET matrix by route and role. Detect markers in headers and bodies, preserve contradictions before validating duplicates/gaps, verify same-origin redirects and cold/authorized/replay sequences.
Acceptance criteria
Pass covers only the complete supplied synthetic matrix: no unauthorized response contains a canary, denial is established under the plan, and every cold → authorized seed → anonymous replay triplet is complete and ordered. An attributable leak or unauthorized 2xx representation yields fail.
When the result remains inconclusive
Missing/future/inconsistent plan, missing/duplicate cell, absent/ambiguous role header, cross-origin redirect, 206, 304 without retained representation, unsupported encoding, or incomplete triplet/attribution.
Non-applicability
No atomic exemption. Whole-control NA requires a complete, dated, reasoned inventory review linked to intent.
Assumptions
Fixtures are supplied, synthetic and unauthenticated. Role and cache labels prove neither identity nor a shared cache.
Limitations
No DNS, socket, live collection, real identity, authentication, cookies, real cache, TLS, JavaScript, path aliases, HEAD, or whole-site assessment. Canary detection covers only implemented encodings; other cases are inconclusive.
TS07 · 3 rules
Robots meta directives and X-Robots-Tag match the page objective.
Documents and resources with a declared indexing objective.
Evidence to gather
One directive or a compatible combination, with no accidental noindex.
The engine must be allowed to crawl the resource to read the directive.
Control method and criteria
Method
Review final headers, source HTML, access and required rendered states under A01–A03.
Acceptance criteria
Effective target-bot directives in final headers and HTML match that objective; unknown directives and any necessary rendered states are reviewed.
Non-applicability
No resource subject to an indexing policy in scope.
Detailed rules
TS07-A01 · Effective directives and objective
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each document with a declared indexing objective, for an explicitly named crawler and context.
Evidence
Raw repeated headers, source HTML, token/crawler/effect table and dated technical reference. For non-HTML, the html-kind record documents why this surface does not apply, with Content-Type, without inventing HTML. This profile also retains both full meta inventories, contexts/namespaces, original tags/body-byte spans, templates, decoding, reported errors, versions and fingerprints in calculated observations linked to the report and compared during replay. The new profile additionally retains ordered HTTP/meta values, scopes, unknowns, dimension decisions and intervals in bound replayed observations.
Method
Inventory all final X-Robots-Tag headers and robots/target-crawler meta tags in source HTML, separate from redirect hops. Apply documented crawler semantics, including duplicates, scope, case, parameters and ignored rules. Optional source_reader=html-tree-directives-v1, declared before capture, constructs two complete static hypotheses without executing scripts; HTML robots/googlebot meta in head/body without foreign ancestors are combined separately with final headers. Ordinary template contents are retained but excluded from active directives. Optional prior presentation_reader=google-preview-intent-v1 compares minimum/maximum permission intervals for text, images and video under the preview-intent contract; extraction and states remain separate. The google-indexing-2026-10-v2 profile interprets standalone-page Googlebot directives. Certain exclusion remains evidence alongside unknown tokens. Dated restrictions are compared with capture time; ignored and unknown instructions are retained. Certain HTTP noindex remains interpretable even when body reading is unavailable. Access and rendering remain separate. Profile v2 requires commas between rules or separate fields/tags. A whitespace-only rule list is undocumented syntax: NT without decisive independent evidence; a certain contradiction in another field remains NC. RFC date commas inside unavailable_after are retained. Explicit v1 intent remains historical, with no implicit migration. V2 dates must be fully recognized by the bounded draft.9 migration grammar, identical across interpreters; plausible unsupported formats, suffixes or unseparated scope changes yield NT without decisive independent evidence. Even index follow stays NT: this limitation is explicit. Every two-digit RFC year is outside profile v2: NT without decisive independent evidence, even if the calendar or weekday appears to resolve the century. Only four-digit years are assessable. Negative zero offsets retain a known UTC instant. A restriction expires strictly after its date; equality does not establish expiration.
Acceptance criteria
Combined effects match the declared indexing objective and declared presentation/link restrictions. For Google: an applicable restriction prevails over permission, none includes noindex/nofollow; nofollow or a preview limit alone does not mean noindex. Missing directives are not failure when intent permits indexing. For this profile, two pass yield pass, two fail yield fail, every other pair stays inconclusive; never merge directives across alternative hypotheses or confuse them with observed rendered states. For this new profile, all possible values within the intended interval yield pass; all outside on one side yield fail; otherwise inconclusive. Independent contradiction prevails within a reading; existing source consensus and rendered priority remain.
When the result remains inconclusive
Missing objective, unknown syntax/scope, partial capture or missing context: inconclusive. A documented ignored directive is recorded, not automatically treated as an error. Present but unsupported, null or inconsistent directive_crawler: inconclusive; no favorable fallback. For this profile: incomplete reading, reported error, unsupported encoding, declared open/closed shadow, template for, foreign-context robots metadata, missing content/mixed roles or near form defined by the contract, unknown directive and exceeded bound remain inconclusive. Unreadable HTML never becomes header-only agreement. The preview profile retains unqualified image defaults, max-snippet:0 video interaction, unsupported syntax and exceeded bounds as unknown under the contract’s conservative intervals. Noindex does not give a presentation pass.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Intent and crawler fixed before review; do not extrapolate Google rules to another engine. For indexifembedded or unavailable_after, include the required embedding context and date. Intent retains crawler as the exact HTTP User-Agent. Optional directive_crawler, frozen before collection and limited here to googlebot, selects directive semantics only for this client representation; it does not describe a response received by Googlebot. Without this field, historical behavior requires crawler=googlebot. Absent source_reader preserves the legacy reader; null/unknown or missing Node 24 never falls back. This profile requires explicit HTTP UTF-8 HTML, consumes one initial BOM and retains unreported repairs by the pinned parser. The bilingual source-directives contract specifies assumptions/bounds without asserting HTML validity. Bounds concern a permission cap, not actual display. Selection and bounds are prior; absent reader preserves historical behavior and no scalar is automatically migrated.
Limitations
Assesses observed declarations, not ingestion or actual indexing. A01 alone does not cover access or rendering. Automation is semiAuto: the bounded interpreter does not cover every syntax, crawler or context; unsupported inputs remain inconclusive and require review. This methodological choice does not simulate Google. No rendering, access, review or TS10 outcome is inferred. The preview profile assesses neither Google display, image availability, data-nosnippet nor licensed, structured-data or AI usage; it produces no review.
TS07-A02 · Access to the directive
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Every resource for which directive effects are assessed.
Evidence
Robots capture and interpretation for URL/crawler, HTTP trace and access assumptions documented in intent.
Method
Compare effective robots policy and access conditions for the target crawler; distinguish the test client response, explicit blocking and unobserved crawler access. With explicit directive_crawler, require an explicit robots_policy whose product_token matches googlebot case-insensitively; select that group and never fall back to the browser agent group.
Acceptance criteria
No observed obstacle prevents reading the directive in the declared context. Robots disallow contradicts a strategy relying on reading noindex. An attributable HTTP 401/403 remains fail even if robots evidence is missing.
When the result remains inconclusive
Unavailable or ambiguous policy, unresolved challenge, missing capture: inconclusive, never NA for missing access. The new path without a matching profile remains inconclusive. Attributable HTTP 401/403 denial retains precedence.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Policy is interpreted by the shared TS04 reader. A new profile is declared in intent before capture. Without robots_policy, legacy inputs retain the fixed legacy-exact-v1 profile without implicit coverage extension. The client does not authenticate as Googlebot. Intent retains crawler as the exact HTTP User-Agent. Optional directive_crawler, frozen before collection and limited here to googlebot, selects directive semantics only for this client representation; it does not describe a response received by Googlebot. Without this field, historical robots profiles retain their behavior. Optional prior google-robotstxt-fields-v2 extends the closed registry of fields outside access scope using pinned google/robotstxt sources; old profiles remain unchanged with no automatic selection.
Limitations
No evidence of an actual engine visit; TS04 and other access controls are not globally validated. Automation is semiAuto: the bounded interpreter does not cover every syntax, crawler or context; unsupported inputs remain inconclusive and require review. Registry fields and sitemap are recorded without assessing usage preferences, TS42 or indexing and never delimit groups. Other fields and tolerances remain unsupported. Full line numbers and values are retained; reason previews disclose truncation.
TS07-A03 · Required rendered states
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Pages whose scripts or states can affect directives, or whose stability is not established.
Evidence
Retained headers/source HTML, prior plan, dated raw DOMs with binding digest of the HTTP trace, final URL, context, browser/version, script state, interactions, waiting conditions and errors. Reasoned comparison and limitations; no simulated engine capture. The new profile additionally retains ordered HTTP/meta values, scopes, unknowns, dimension decisions and intervals in bound replayed observations.
Method
Fix required states, interactions and waiting conditions before capture. Compare final headers and source HTML with each DOM, declaring browser/version, enabled scripts, time, errors and context. Bind each capture to the source response and target. Do not assume the engine renders initially noindex HTML. The DOM reader is chosen before capture: structured-inventory-v2, or the fixed legacy serialization reader when the field is absent. No fallback after refusal. The complete structured inventory retains namespaces, positions, duplicates, serialization and navigation attribution records; no node is removed based on its presumed origin. The optional new source_reader affects only the A01 source prerequisite, never each DOM reader; priority for an attributable rendered contradiction remains unchanged. Optional prior presentation_reader=google-preview-intent-v1 compares minimum/maximum permission intervals for text, images and video under the preview-intent contract; extraction and states remain separate.
Acceptance criteria
All required states are documented and compatible with intent in the declared context. A contradiction in a complete, attributable state is fail even if other states are missing. Removing initial noindex with JavaScript does not yield pass: A03 remains inconclusive unless a required state supplies another contradiction; A01 retains its own source verdict. For this new profile, all possible values within the intended interval yield pass; all outside on one side yield fail; otherwise inconclusive. Independent contradiction prevails within a reading; existing source consensus and rendered priority remain.
When the result remains inconclusive
Missing required plan/capture, truncated state, script error, inconsistent source/target/context binding, invalid chronology, uninterpretable directive or late removal of initial noindex: inconclusive without an inferred pass. An established contradiction in another attributable state remains fail. For the structured reader: incomplete tree/transport, loading document, known API alteration, missing integrity history, separate source/DOM acquisition without same-navigation attribution or a different agent: inconclusive. A digest alone does not prove navigation. Present but unsupported, null or inconsistent directive_crawler: inconclusive; no favorable fallback. The preview profile retains unqualified image defaults, max-snippet:0 video interaction, unsupported syntax and exceeded bounds as unknown under the contract’s conservative intervals. Noindex does not give a presentation pass.
Non-applicability
Non-HTML or directive stability demonstrated by documented review; intent evidence references this justification and supporting records. No unsupported “no JS” assertion.
Assumptions
Required states are listed before the test; local and engine rendering remain distinct. The structured reader interprets HTML meta children directly in the real document head; ambiguous placement or shadow remains inconclusive. It retains combination with the declared navigation headers. Intent retains crawler as the exact HTTP User-Agent. Optional directive_crawler, frozen before collection and limited here to googlebot, selects directive semantics only for this client representation; it does not describe a response received by Googlebot. Without this field, historical behavior requires crawler=googlebot. Bounds concern a permission cap, not actual display. Selection and bounds are prior; absent reader preserves historical behavior and no scalar is automatically migrated.
Limitations
semiAuto: the plan and sufficiency of observations require review. The interpreter compares supplied captures; it does not execute JavaScript or establish exhaustive states, TS25, engine rendering or indexing. Supplied attribution and APIs are not authenticated; authored synthetic records are explicitly labeled, never actual visits. Frames, template fragments and closed shadow roots are outside scope. Bounds and migration are documented in docs/structured-rendering.md. The preview profile assesses neither Google display, image availability, data-nosnippet nor licensed, structured-data or AI usage; it produces no review.
TS08 · 3 rules
The actual indexing status is checked in Search Console.
URLs whose Google indexing state must be established.
Evidence to gather
Known URL, crawling permission, indexing state and Google-selected canonical documented.
Non-live API, supplied unauthenticated attribution/dates; missing/reserved fields, insufficient freshness and absent reviews remain inconclusive under the bounded profile. No site extrapolation.
Control method and criteria
Method
Declare selection, objectives, sources and prior knowledge before acquisition; retain native API JSON, limitations and supplied reviews under google-inspection-evidence-v1.
Acceptance criteria
All three rules pass for the entire selected set. C qualifies documentation of Google-reported status, never an indexing promise or current site state.
Non-applicability
Google is explicitly out of scope; lack of access alone is insufficient.
Detailed rules
TS08-A01 · Qualified prior scope and objectives.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicit selected URL set whose Google-reported state must be documented.
Evidence
Dated sourced plan, native request/response JSON and hashes, actual metadata, supplied evidence-bound reviews; inspection-evidence-v1 contract.
Method
Declare members, objectives/sources, selection reasons, prior knowledge and freshness policy; retain the bound prior plan review.
Acceptance criteria
Supported selection/objective review, plan and review before acquisition, no omitted member. Supplied contradiction or acquisition preceding the plan fails; absence alone is inconclusive.
When the result remains inconclusive
Missing, invalid or ambiguous evidence, review or binding; retain limitations, unknowns and API errors.
Non-applicability
No atomic exemption; lack of access is not NA.
Assumptions
Dates, authorship, provenance, access and attribution are supplied, never authenticated by hashes alone.
Limitations
Selected-set documentation only; non-live API and crawl time distinct from field timestamps. No current state, causality, TS12 or SEO outcome inferred.
TS08-A02 · Attributed and readable native inspections.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicit selected URL set whose Google-reported state must be documented.
Evidence
Dated sourced plan, native request/response JSON and hashes, actual metadata, supplied evidence-bound reviews; inspection-evidence-v1 contract.
Method
Read native bytes using diagnostic1, compare URL/property attribution, retain fields and check dates against prior policy.
Acceptance criteria
Every member has a usable response with known required fields and dates within policy. Explicitly allowed absent API fields stay visible; API errors and unknown values never become C.
When the result remains inconclusive
Missing, invalid or ambiguous evidence, review or binding; retain limitations, unknowns and API errors.
Non-applicability
No atomic exemption; lack of access is not NA.
Assumptions
Dates, authorship, provenance, access and attribution are supplied, never authenticated by hashes alone.
Limitations
Selected-set documentation only; non-live API and crawl time distinct from field timestamps. No current state, causality, TS12 or SEO outcome inferred.
TS08-A03 · Evidence-bound interpretation and decision.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicit selected URL set whose Google-reported state must be documented.
Evidence
Dated sourced plan, native request/response JSON and hashes, actual metadata, supplied evidence-bound reviews; inspection-evidence-v1 contract.
Method
Read supplied review: exact API verdict claim, interpretation, relation to prior objective, temporal scope, typed explanation and operational decision.
Acceptance criteria
All facets are qualified; a documented discrepancy may pass. Explicit verdict/scope contradiction or contradiction judgment fails and survives independent unknowns. Missing review or unsupported cause remains inconclusive.
When the result remains inconclusive
Missing, invalid or ambiguous evidence, review or binding; retain limitations, unknowns and API errors.
Non-applicability
No atomic exemption; lack of access is not NA.
Assumptions
Dates, authorship, provenance, access and attribution are supplied, never authenticated by hashes alone.
Limitations
Selected-set documentation only; non-live API and crawl time distinct from field timestamps. No current state, causality, TS12 or SEO outcome inferred.
TS09 · 1 rules
Intentional exclusions have an owner and a rationale.
Intentionally excluded page families.
Evidence to gather
Exclusion register: page type, mechanism, rationale, owner and review.
The business relevance of an exclusion cannot be automated.
Control method and criteria
Method
Tie each excluded family to a rule, owner and review date.
Acceptance criteria
Every exclusion in scope has a mechanism, rationale, owner and review date.
Non-applicability
No intentional exclusions, with a policy inventory provided.
Detailed rules
TS09-A01 · Exclusion register and ownership
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS09 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: configuration, intent.
Method
Read the native exclusion-register-v1 JSON register; compare each selected family with its prior mechanism, then require owner, rationale and review date. Require an evidence-bound review. The url-exclusion-observed-v2 profile requires a register, one representative HTTP response and robots.txt per family, followed by a review explicitly bound to the displayed evidence. A native contradiction remains NC without a review; a match without review remains NT. This sample does not establish the entire family, Google index state or confidentiality.
Acceptance criteria
Mechanisms agree and every family has governance information; supplied review supports the scope. A mechanism mismatch fails.
When the result remains inconclusive
Missing or ambiguous fields, missing register or unbound review are inconclusive. Review date is a declared calendar date, not evidence that review occurred.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS10 · 4 rules
Each canonical page publishes an absolute, stable and consistent URL.
Families with a declared canonicalization strategy.
Evidence to gather
Signals converge on the same canonical URL without a chain.
rel=canonical is a strong signal, not a guaranteed directive.
Control method and criteria
Method
Compare the final URL, rel=canonical, sitemap and internal links.
Acceptance criteria
Rules A01–A04 establish a consistent preference under the declared strategy; exceptions and absences are justified, not inferred from collection gaps.
Non-applicability
No relevant document, supported by an inventory and strategy.
Detailed rules
TS10-A01 · Canonical declaration
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each family member and its declared canonicalization strategy.
Evidence
Family inventory in intent; headers and source (or html non-applicability record for non-HTML); extraction with location and method, required DOM attached when needed. Bind each capture to the family, context and date. Declare required methods and DOM states before assessment; bind DOMs to the HTTP trace by fingerprint. A rendering exemption needs a source-bound review and supporting records, not a bare “no JS” claim. Also retain profile observations: document, body, canonical/base, templates, prefix tokens, context, errors, decoding, sources/runtime and separate decisions; replay compares these records. Retain ordered HTTP diagnostics, raw fields/parameters, excluded/unknown contexts, requested/final URLs, timestamp and source-trace fingerprint.
Method
List members, preferred URL and expected method; compare final URLs, HTTP Link, HTML rel=canonical and required rendered states. Retain multiple declarations, even identical ones. The DOM reader is chosen before capture: structured-inventory-v2, or the fixed legacy serialization reader when the field is absent. No fallback after refusal. The complete structured inventory retains namespaces, positions, duplicates, serialization and navigation attribution records; no node is removed based on its presumed origin. Optional prior intent.canonical.source_reader=html-tree-canonical-v1 compares two complete static source hypotheses with byte-attributed source/tree positions. The source-canonical.md contract defines its boundaries. Optional prior intent.canonical.http_reader=http-link-context-v1 applies docs/http-canonical-context.md to final GET 200 Link fields; absent selection retains the historical reader.
Acceptance criteria
Present signals and those required by strategy identify the same absolute HTTP(S) URL without a fragment. HTML in head or HTTP Link are accepted; no universal HTML tag requirement. A relative canonical is fail for this TSEP rule without claiming Google cannot interpret it. Retain repeated identical declarations, which may agree; an attributable conflict remains fail despite another missing capture. Two source pass yield pass, two fail yield fail, otherwise inconclusive. Ordinary body canonical remains a contradiction even for the preferred URL; relative values are never resolved through base. Attributable HTTP Link, redirect and DOM contradictions remain independent of source unknowns. The new reader separates context from literal destination, retaining first rel and repeated declarations; unknowns prevent pass and independent attributable HTTP conflicts remain fail.
When the result remains inconclusive
Incomplete family/intent, ambiguous Link, truncated document or missing required rendered state: inconclusive. For the structured reader: incomplete tree/transport, loading document, known API alteration, missing integrity history, separate source/DOM acquisition without same-navigation attribution or a different agent: inconclusive. A digest alone does not prove navigation. After-head reinsertion, indirect head descendant, foreign context, unknown/modifying attributes, declared shadow, incomplete bounded reading/diagnostics prevent success as defined by the contract; retain any separately qualified contradiction. Unknown HTTP selection, unqualified context/uncertain equivalence, extensions or unsupported syntax are inconclusive without favorable fallback; the HTTP contract fixes bounds and their scope.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Strategy distinguishes preferred canonical and duplicates; comparisons do not silently remove parameters or normalize case or slashes. In structured DOM, a difference between absolute raw href and the resolved property prevents a conclusion on that surface, without substituting either value or asserting an SEO defect. A relative or out-of-head canonical in ordinary DOM remains a TSEP contradiction; open shadow remains inconclusive. Absent field preserves legacy reading. Null/unknown or absent Node 24 never falls back. This profile neither validates HTML nor replaces rendering or supplied human judgment.
Limitations
Relative URLs, placement and convergence are TSEP criteria; engine canonical selection is not observed here. Supplied attribution and APIs are not authenticated; authored synthetic records are explicitly labeled, never actual visits. Frames, template fragments and closed shadow roots are outside scope. Bounds and migration are documented in docs/structured-rendering.md. Source scope only; A04 and DOM readers are not extended. The hypotheses are not coexisting observed rendered states. No Google canonical choice is inferred. No engine execution or destination normalization; an RFC-valid relative can fail TSEP’s absolute criterion. See draft.19 migration; historical reader preserved.
TS10-A02 · Direct canonical destination
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Every preferred destination in declared families.
Evidence
Destination trace and body tied to the family; declaration graph and reasoned content comparison. The human compatibility review identifies its author, date, each member compared with the preferred representation, reasoned judgment and exact examined captures by fingerprint. A missing/stale reference or unestablished comparison prevents pass. Also retain profile observations: document, body, canonical/base, templates, prefix tokens, context, errors, decoding, sources/runtime and separate decisions; replay compares these records. Retain ordered HTTP diagnostics, raw fields/parameters, excluded/unknown contexts, requested/final URLs, timestamp and source-trace fingerprint.
Method
Test the destination, retain GET and content; verify that any canonical there does not point elsewhere. Compare content with the declared family. The DOM reader is chosen before capture: structured-inventory-v2, or the fixed legacy serialization reader when the field is absent. No fallback after refusal. The complete structured inventory retains namespaces, positions, duplicates, serialization and navigation attribution records; no node is removed based on its presumed origin. Optional prior intent.canonical.source_reader=html-tree-canonical-v1 compares two complete static source hypotheses with byte-attributed source/tree positions. The source-canonical.md contract defines its boundaries. Optional prior intent.canonical.http_reader=http-link-context-v1 applies docs/http-canonical-context.md to final GET 200 Link fields; absent selection retains the historical reader.
Acceptance criteria
The expected destination is directly accessible with 200, without canonical chains or cycles, and compatible content. A duplicate may remain 200 and point to the preferred URL; not every duplicate final URL must equal it. Two source pass yield pass, two fail yield fail, otherwise inconclusive. Ordinary body canonical remains a contradiction even for the preferred URL; relative values are never resolved through base. Attributable HTTP Link, redirect and DOM contradictions remain independent of source unknowns. The new reader separates context from literal destination, retaining first rel and repeated declarations; unknowns prevent pass and independent attributable HTTP conflicts remain fail.
When the result remains inconclusive
Uncollected destination, timeout or incomparable content: inconclusive. An observed 404/5xx, cycle or hop is a contradiction. For the structured reader: incomplete tree/transport, loading document, known API alteration, missing integrity history, separate source/DOM acquisition without same-navigation attribution or a different agent: inconclusive. A digest alone does not prove navigation. After-head reinsertion, indirect head descendant, foreign context, unknown/modifying attributes, declared shadow, incomplete bounded reading/diagnostics prevent success as defined by the contract; retain any separately qualified contradiction. Unknown HTTP selection, unqualified context/uncertain equivalence, extensions or unsupported syntax are inconclusive without favorable fallback; the HTTP contract fixes bounds and their scope.
Non-applicability
No atomic exemption when the control applies.
Assumptions
Content similarity is assessed in business context without a universal similarity threshold. In structured DOM, a difference between absolute raw href and the resolved property prevents a conclusion on that surface, without substituting either value or asserting an SEO defect. A relative or out-of-head canonical in ordinary DOM remains a TSEP contradiction; open shadow remains inconclusive. Absent field preserves legacy reading. Null/unknown or absent Node 24 never falls back. This profile neither validates HTML nor replaces rendering or supplied human judgment.
Limitations
A successful GET does not prove Google will select this URL; no temporal stability is inferred from one instant. A comparator can check the supplied review’s bindings and coverage; it does not turn that judgment into automatic content comparison. Supplied attribution and APIs are not authenticated; authored synthetic records are explicitly labeled, never actual visits. Frames, template fragments and closed shadow roots are outside scope. Bounds and migration are documented in docs/structured-rendering.md. Source scope only; A04 and DOM readers are not extended. The hypotheses are not coexisting observed rendered states. No Google canonical choice is inferred. No engine execution or destination normalization; an RFC-valid relative can fail TSEP’s absolute criterion. See draft.19 migration; historical reader preserved.
TS10-A03 · Sitemap agreement
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Families associated with a sitemap under the declared strategy.
Evidence
Raw sitemaps and index coverage, family/entry mapping and justification of omissions. Retain XML bytes and complete annotation values; bounded reason preview with explicit truncation.
Method
Compare entries from all sitemaps/indexes required for the family and preferred URL; retain exclusions justified by strategy. Reconcile captures of each index and all expected children. An observed failure remains fail when another branch is missing; an omission becomes fail only after the declared population has been fully examined. Optional sitemap-locations-v1 must be declared before capture; absence uses the fixed legacy reader, unknown values never fall back. Only direct Sitemaps 0.9 loc under url counts as a page URL; under sitemap it identifies children. Decode XML and trim surrounding XML whitespace only, then compare literally without URL normalization. Record recognized XHTML alternate, image and ordinary fields separately, without comparing them as page URLs.
Acceptance criteria
Observed and required entries agree with declared preference; a duplicate published as a competing canonical without justification is fail.
When the result remains inconclusive
Incomplete index, unavailable expected sitemap or unknown strategy: inconclusive. Unknown reader, missing/wrong namespace, unsupported extension/attribute, duplicate leaf, ambiguous structure, mixed text, DTD/entities, malformed XML or exceeded bound: entire document inconclusive.
Non-applicability
No sitemap used for this family, established by documented strategy and inventory. Retain a sitemap record explaining absence; no whole-TS10 NA.
Assumptions
Sitemap scope is declared; absence is not inferred from a 404 at one guessed path. The new reader requires explicitly covered namespaces and structures; prefixes are arbitrary and annotation values are not validated. Preference remains supplied intent, not observed engine choice.
Limitations
Sitemap = published preference, not engine selection or an exhaustive site inventory. No hreflang, image or value-validity verdict. The bounded reader is not a full XML Schema validator. Profile, structural registry, limits and migration: docs/sitemap-locations.md and docs/migration-draft.14.md.
TS10-A04 · Internal-link agreement
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each family and declared source-page population.
Evidence
Crawl export with source URL, href, destination, pages actually visited, failures and exclusions; reconciliation with the declared population. Retain source HTML and DOMs needed for extraction, bound to their traces, contexts and dates; a rendering exemption is reviewed and supported. Exceptions identify source, destination and reason. The new profile retains inventory, namespaces, templates, tags/bytes, calculated URLs, bases/limits, versions, per-hypothesis decisions/counts in replayable observations.
Method
Extract links from the announced population; compare destinations and documented exceptions with canonical preference. The DOM reader is chosen before capture: structured-inventory-v2, or the fixed legacy serialization reader when the field is absent. No fallback after refusal. The complete structured inventory retains namespaces, positions, duplicates, serialization and navigation attribution records; no node is removed based on its presumed origin. Optional prior intent.canonical.links.source_reader=html-tree-links-v1 qualifies attributed HTML a/area hrefs, base and WHATWG resolution under two static hypotheses. source-link-policy.md defines this method; earlier rendered readers remain unchanged. Draft.18 adds html-tree-links-v2: a first base whose href fails WHATWG parsing adds base uncertainty; v1 remains unchanged. Computation against the final URL is then conditional, without inferring a destination for dependent hrefs. source-link-policy-v2.md defines this delta.
Acceptance criteria
All assessed links follow strategy; no unexplained competing destination. Zero links can satisfy the rule only when the announced population is fully examined. An attributable competing link remains fail even if another source page or required state is missing. Two source passes yield pass, two failures yield fail, otherwise inconclusive. An uncertain base cannot establish failure for dependent hrefs; an independent qualified absolute conflict remains usable. Zero counts and limited convergence scope remain visible through control and gate without adding a link-presence requirement.
When the result remains inconclusive
Missing source pages, unexamined links or absent crawl: inconclusive, never success from zero results. For the structured reader: incomplete tree/transport, loading document, known API alteration, missing integrity history, separate source/DOM acquisition without same-navigation attribution or a different agent: inconclusive. A digest alone does not prove navigation. Null/unknown source selection, missing Node24, incomplete traversal/diagnostic: inconclusive without fallback. SVG/foreign ancestors, declared shadow and duplicate link attributes remain unknown; unmodeled CSP/base prevents conclusive dependent-href resolution.
Non-applicability
No atomic exemption when the control applies.
Assumptions
The crawl checks a declared population; it does not by itself prove that population exhaustive. Structured reader v2 retains raw hrefs; bounded resolution only without a base declaration and with baseURI equal to the final URL. Shadow links or unsupported syntax remain inconclusive. Family URLs must already equal their WHATWG serialization or source is inconclusive, without silent normalization. Outside-family URLs are retained, never guessed duplicates. No-namespace href with no nofollow/download filtering; static destination only. Empty/whitespace base href, data/javascript schemes and CSP remain distinct from that parse failure; never select a second base instead.
Limitations
No extrapolation to external links, pages outside the population or future dates. Supplied attribution and APIs are not authenticated; authored synthetic records are explicitly labeled, never actual visits. Frames, template fragments and closed shadow roots are outside scope. Bounds and migration are documented in docs/structured-rendering.md. Source profile measures neither activation, link presence/sufficiency, forms/events nor Google behavior. Bounds, retained out-of-scope elements and migration: source-link-policy.md and migration-draft.17.md. Version2 correction and preserved historical results: migration-draft.18.md. The diagnostic establishes neither a general browser bug nor a Google state.
TS11 · 2 rules
Genuine duplicate variants converge without hiding distinct pages.
Identified duplicate or variant families.
Evidence to gather
Documented mapping between each duplicate and its relevant canonical.
Computed similarity does not replace an editorial decision.
Control method and criteria
Method
Sample parameters, pagination, filters and print versions; compare content and canonicals.
Acceptance criteria
Each mapping is justified by content comparison; no tested distinct page is unintentionally consolidated.
Non-applicability
No variants or duplication identified after a documented inventory.
Detailed rules
TS11-A01 · Editorial comparison of variants
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Explicitly selected TS11 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: http, html, content, intent.
Method
For each declared duplicate or distinct pair, read both complete UTF-8 HTML responses and retain fingerprints. Require a bound comparative review including source-scope sufficiency.
Acceptance criteria
Both contents are available and the supplied editorial review supports the declared relation. Contradictory review fails; text equality or similarity never supplies that review.
When the result remains inconclusive
Missing content, unsupported HTML, render-dependent comparison or missing judgment: inconclusive.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS11-A02 · Convergence without absorbing distinct pages
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS11 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: http, html, content, intent.
Method
Read HTTP and HTML canonicals separately for both members. A duplicate points to the preference; a distinct page points to itself. Require review of the decision and source scope.
Acceptance criteria
Every qualified declaration agrees with the prior editorial relation; a conflicting declaration fails even if another surface is unavailable.
When the result remains inconclusive
No explicit canonical, uninterpretable source or required rendering unavailable: inconclusive, without inferring engine selection.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS12 · 3 rules
Google’s selected canonical is compared with the declared canonical.
URLs whose Google canonical must be compared with the declared canonical.
Evidence to gather
Agreement or a qualified, addressed divergence.
Missing required rendering or absent Google canonical: inconclusive. Literal comparison without inferred URL equivalence, live state, causality, TS10 or indexing.
Control method and criteria
Method
Declare sourced preference, readers and rendered states; attribute API JSON and captures, compare literal strings and retain supplied reviews/decisions under google-canonical-comparison-v1.
Acceptance criteria
Qualified prior plan and all planned surfaces; retained values, separate dates and bound decisions. Documentary C, never canonical equality; documented differences allowed.
Non-applicability
Google explicitly out of scope; missing access is NT.
Detailed rules
TS12-A01 · Qualified prior comparison plan.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected set whose reported and captured canonicals must be compared.
Evidence
Prior plan/review, native API JSON, HTTP traces, supplied structured DOM states and reviews bound to exact evidence; canonical-comparison-v1 contract.
Method
Declare selection/objectives, prior knowledge, sourced preference, readers and rendered states; qualify the bound plan before every acquisition.
Acceptance criteria
Supported selection/objectives/preferences/surfaces/temporal_policy judgments, prior chronology and complete set. Supplied contradiction or acquisition before plan fails; gaps are inconclusive.
When the result remains inconclusive
Missing/unknown/invalid evidence, required state, value, policy, review or binding; retain limits and errors.
Non-applicability
No atomic exemption; lack of access or rendering is not NA.
Assumptions
Supplied data, dates, provenance and judgments; hashes do not authenticate people, navigation or history.
Limitations
Missing required rendering or absent Google canonical: inconclusive. Literal comparison without inferred URL equivalence, live state, causality, TS10 or indexing.
TS12-A02 · Complete attributed readings and comparisons.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected set whose reported and captured canonicals must be compared.
Evidence
Prior plan/review, native API JSON, HTTP traces, supplied structured DOM states and reviews bound to exact evidence; canonical-comparison-v1 contract.
Method
Read native evidence and both static HTML hypotheses; retain separate HTTP/HTML/DOM candidates, dates and literal comparisons.
Acceptance criteria
Qualified API, present Google canonical, readable HTTP/HTML and every planned DOM state; prior thresholds satisfied, duplicates retained. Different values allowed; source-only/absent Google remains inconclusive.
When the result remains inconclusive
Missing/unknown/invalid evidence, required state, value, policy, review or binding; retain limits and errors.
Non-applicability
No atomic exemption; lack of access or rendering is not NA.
Assumptions
Supplied data, dates, provenance and judgments; hashes do not authenticate people, navigation or history.
Limitations
Missing required rendering or absent Google canonical: inconclusive. Literal comparison without inferred URL equivalence, live state, causality, TS10 or indexing.
TS12-A03 · Qualification and decision bound to comparisons.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected set whose reported and captured canonicals must be compared.
Evidence
Prior plan/review, native API JSON, HTTP traces, supplied structured DOM states and reviews bound to exact evidence; canonical-comparison-v1 contract.
Method
Examine every surface value claim in a supplied evidence-bound review with interpretation, chronology, changes, objective, explanation and decision.
Acceptance criteria
Claims match known lists, supported qualification, reasoned relation and decision. A contradicted claim retains fail despite another unknown; missing review or unsupported established-cause assertion is inconclusive.
When the result remains inconclusive
Missing/unknown/invalid evidence, required state, value, policy, review or binding; retain limits and errors.
Non-applicability
No atomic exemption; lack of access or rendering is not NA.
Assumptions
Supplied data, dates, provenance and judgments; hashes do not authenticate people, navigation or history.
Limitations
Missing required rendering or absent Google canonical: inconclusive. Literal comparison without inferred URL equivalence, live state, causality, TS10 or indexing.
TS13 · 2 rules
The sitemap contains only useful absolute canonical URLs.
Sitemaps used for the URLs in scope.
Evidence to gather
Inventory without redirects, 4xx responses, noindex pages or duplicate canonicals.
Declared supplied file/page population; bounded HTML sources and unauthenticated supplied reviews. No inferred real audit, site completeness, whole TS15 result, Google-selected canonical, indexing or ranking.
Control method and criteria
Method
Apply TS13-A01/A02 to declared originals and supplied pages under sitemap-quality-v1.
Acceptance criteria
Each scoped entry resolves, is canonical under the strategy and is intended for indexing; exclusions and sample limits are explicit.
Non-applicability
No sitemap used, with inventory and decision provided.
Detailed rules
TS13-A01 · Qualified native population and absolute URLs.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Page entries in prior declared sitemap files, bounded supplied-sitemap-quality-v1 profile.
Evidence
Plan, dated XML/gzip originals and SHA-256, index/position/loc of each entry. Literal repetitions remain visible without automatic failure.
Method
Reconcile declared roots/children with complete originals; read each page loc, retain occurrences and check absolute HTTP(S) syntax.
Acceptance criteria
Pass requires all declared files and qualified locations. A relative loc, fragment, credentials or invalid port fails; missing coverage is inconclusive.
When the result remains inconclusive
Missing, ambiguous or out-of-profile plan, document, child, binding, capture or review; exceeded bound. Retain every independent fail and other unknowns.
Non-applicability
No atomic exemption; missing evidence is not NA.
Assumptions
Prior plan, literal URLs, supplied window of at most24hours and original integrity. Declared dates, context and judgments, without authentication.
Limitations
Declared supplied file/page population; bounded HTML sources and unauthenticated supplied reviews. No inferred real audit, site completeness, whole TS15 result, Google-selected canonical, indexing or ranking.
TS13-A02 · Referenced pages consistent with the supplied strategy.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Page entries in prior declared sitemap files, bounded supplied-sitemap-quality-v1 profile.
Evidence
File and HTTP request/response originals, per-page context/date, plan and review with SHA-256 of the examined evidence. No missing review generated by the tool.
Method
For each distinct native URL, check direct GET200, HTTP/HTML Googlebot directives and literal canonical; reconcile prior strategy and review bound to page and files.
Acceptance criteria
Pass requires qualified source, identical explicit canonical, useful/indexable/self-canonical intent and supported review, rendering source-only. Redirect, complete non200 status, noindex, different canonical or contradicted judgment fails. Required rendering, absent canonical/review or unsupported format is inconclusive.
When the result remains inconclusive
Missing, ambiguous or out-of-profile plan, document, child, binding, capture or review; exceeded bound. Retain every independent fail and other unknowns.
Non-applicability
No atomic exemption; missing evidence is not NA.
Assumptions
Prior plan, literal URLs, supplied window of at most24hours and original integrity. Declared dates, context and judgments, without authentication.
Limitations
Declared supplied file/page population; bounded HTML sources and unauthenticated supplied reviews. No inferred real audit, site completeness, whole TS15 result, Google-selected canonical, indexing or ranking.
TS14 · 1 rules
lastmod reflects a significant change to the page.
Sitemaps containing lastmod.
Evidence to gather
ISO 8601 timestamp tied to an actual change, not file generation.
Matching date and supplied review do not prove an actual change or its significance. UTC-day or zoned-instant precision; no complete CMS history, ideal freshness or engine processing inferred.
Control method and criteria
Method
Read each native page lastmod; compare its UTC date or zoned instant with an attributed original JSON event, then check the bound significance review.
Acceptance criteria
Each tested date maps to a traceable significant change; file generation alone is insufficient.
Non-applicability
No lastmod declared; its absence is not itself a defect.
Detailed rules
TS14-A01 · lastmod linked to a documented significant change.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Page entries carrying lastmod in the prior population; supplied-sitemap-lastmod-v1 profile. Index lastmod is outside scope.
Evidence
Dated/fingerprinted XML original, file URL and entry position, original UTF8 JSON event with SHA-256, change_id, URL, changed_at, kind and description; attributed bound review.
Method
Read each native page lastmod; compare its UTC date or zoned instant with an attributed original JSON event, then check the bound significance review.
Acceptance criteria
Pass requires matching nonfuture dates, attributed content event and supported review. Invalid/future date, traceable mismatch, file generation alone or contradicted review fails. Insufficient history/review is inconclusive. Complete native absence of lastmod is an atomic exemption, never a defect.
When the result remains inconclusive
Missing, ambiguous or out-of-profile plan, document, child, binding, capture or review; exceeded bound. Retain every independent fail and other unknowns. Missing timezone or out-of-profile lastmod precision is inconclusive, never a fabricated defect.
Non-applicability
Atomic not-applicable only for absence read from a complete native entry. All-exempt entries produce neither C nor automatic whole-control NA.
Assumptions
Prior plan, literal URLs, supplied window of at most24hours and original integrity. Declared dates, context and judgments, without authentication.
Limitations
Matching date and supplied review do not prove an actual change or its significance. UTC-day or zoned-instant precision; no complete CMS history, ideal freshness or engine processing inferred.
TS15 · 3 rules
Sitemap size and segmentation limits are respected.
Declared population of supplied native sitemap files; roots are not automatically discovered.
Evidence to gather
Base64/SHA-256 originals, declared URLs/dates and set plan; native-sitemap-files-v1 bounds.
Supplied files only, no observed server or site completeness. No full XSD, lastmod/changefreq/priority values, URL host/path/length, canonical or indexing validation.
Control method and criteria
Method
Read original bytes, base XML structure, decompressed size, direct entries and index children in the declared set.
Acceptance criteria
Within the bounded profile: qualified UTF-8 and minimal structure, at most52,428,800 bytes and50,000 direct entries per file, coverage of the declared set.
Non-applicability
No sitemap used in scope.
Detailed rules
TS15-A01 · Encoding and minimal structure of supplied files.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared population of supplied native sitemap files; roots are not automatically discovered.
Evidence
Base64/SHA-256 originals, declared URLs/dates and set plan; native-sitemap-files-v1 bounds.
Method
Check strict UTF-8,0.9 root, unique nonempty loc and unique ordered leaves; DTD/unqualified extensions stay unknown.
Acceptance criteria
Every complete file passes the bounded structure; established structural contradiction fails.
When the result remains inconclusive
Missing/ambiguous file, incomplete stream, unknown profile, reader bound, nested index or unqualified extension; independent violation retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied URL, date, origin and completeness, unauthenticated. No server observation.
Limitations
Supplied files only, no observed server or site completeness. No full XSD, lastmod/changefreq/priority values, URL host/path/length, canonical or indexing validation.
TS15-A02 · Actual size and population limits.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared population of supplied native sitemap files; roots are not automatically discovered.
Evidence
Base64/SHA-256 originals, declared URLs/dates and set plan; native-sitemap-files-v1 bounds.
Method
Count actually decompressed bytes and direct url/sitemap elements, including duplicates and entries without loc.
Acceptance criteria
Each file is at most52,428,800 bytes and50,000 entries; observed excess fails, partial reading without excess is inconclusive.
When the result remains inconclusive
Missing/ambiguous file, incomplete stream, unknown profile, reader bound, nested index or unqualified extension; independent violation retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied URL, date, origin and completeness, unauthenticated. No server observation.
Limitations
Supplied files only, no observed server or site completeness. No full XSD, lastmod/changefreq/priority values, URL host/path/length, canonical or indexing validation.
TS15-A03 · Coverage of declared population and bound children.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared population of supplied native sitemap files; roots are not automatically discovered.
Evidence
Base64/SHA-256 originals, declared URLs/dates and set plan; native-sitemap-files-v1 bounds.
Method
Bind each document to an exact declared URL and each index child to a complete leaf; roots and scope remain declared.
Acceptance criteria
All declared documents and branches are qualified; absence/ambiguity/outside-profile is inconclusive, never negative evidence about site sitemap use.
When the result remains inconclusive
Missing/ambiguous file, incomplete stream, unknown profile, reader bound, nested index or unqualified extension; independent violation retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied URL, date, origin and completeness, unauthenticated. No server observation.
Limitations
Supplied files only, no observed server or site completeness. No full XSD, lastmod/changefreq/priority values, URL host/path/length, canonical or indexing validation.
TS16 · 1 rules
Every important page receives at least one crawlable internal link.
Important destinations and internal sources selected before captures, with dated original inventory and bound prior plan; incoming-document-links-v1.
Evidence to gather
Original inventory, prior plan, HTTP/DOM originals, requested/final URLs, dates, destination status, raw href, anchor reference and per-destination diagnostics. DOM is required for surfaces that depend on it; an independent source witness suffices without DOM, without inventing one.
Population and importance are supplied, not authenticated. No site completeness, observed acquisition or interaction, editorial value, Google visit, indexing or ranking. Bounded absence does not establish a site-wide orphan. Expected source content and soft404s are not assessed.
Control method and criteria
Method
For each destination, seek an a/href witness from a distinct qualified internal document: source HTML under two static hypotheses or provider-declared no-interaction DOM. Qualify each source, destination and surface separately.
Acceptance criteria
Each declared destination has a qualified incoming witness and its original HTTP evidence. Absence is established only across every qualified eligible surface of the prior inventory and remains bounded to that population.
Non-applicability
No relevant important page only with justification and inventory; no automatic NA in the bounded reader.
Detailed rules
TS16-A01 · Incoming witness in the prior internal population.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Important destinations and internal sources selected before captures, with dated original inventory and bound prior plan; incoming-document-links-v1.
Evidence
Original inventory, prior plan, HTTP/DOM originals, requested/final URLs, dates, destination status, raw href, anchor reference and per-destination diagnostics. DOM is required for surfaces that depend on it; an independent source witness suffices without DOM, without inventing one.
Method
For each destination, seek an a/href witness from a distinct qualified internal document: source HTML under two static hypotheses or provider-declared no-interaction DOM. Qualify each source, destination and surface separately.
Acceptance criteria
Pass when every destination has an independently qualified witness and a destination original. Fail when a destination has no witness across the complete qualified eligible population. Otherwise inconclusive; an independent fail survives other unknowns.
When the result remains inconclusive
Insufficient plan/inventory/original, ambiguous population, unqualified surface, incoherent dates or absent runtime. A pair whose destination redirects back to its source remains inconclusive; another witness may suffice.
Non-applicability
No automatic NA in this profile.
Assumptions
Inventory observed before the plan binding its digest, captures within the prior window; exact origins and no-interaction states supplied. Integrity does not authenticate evidence or simultaneity.
Limitations
Population and importance are supplied, not authenticated. No site completeness, observed acquisition or interaction, editorial value, Google visit, indexing or ranking. Bounded absence does not establish a site-wide orphan. Expected source content and soft404s are not assessed.
TS17 · 2 rules
Essential links use an a element with a resolvable href.
Declared essential destinations under the prior source-and-rendered strategy, on supplied captures.
Evidence to gather
Original HTTP bytes, bound DOM v2 tree, prior plan and separate source/render diagnostics; provider-declared states.
C only within the declared strategy. No established visibility, interaction, editorial importance, authenticity, Google visit, indexing or ranking. Source presence is not a universal Google requirement.
Control method and criteria
Method
Compare HTML a/href links in source and every declared DOM state; separate stages and exact document URLs.
Acceptance criteria
Each declared destination has a resolvable a/href in both required stages within essential-document-links-v1.
Non-applicability
No relevant navigation, with a justified scope.
Detailed rules
TS17-A01 · Essential links present in supplied source.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared essential destinations under the prior source-and-rendered strategy, on supplied captures.
Evidence
Original HTTP bytes, bound DOM v2 tree, prior plan and separate source/render diagnostics; provider-declared states.
Method
Read native source under both static scripting hypotheses; require their agreement.
Acceptance criteria
Every destination in the qualified stage: pass; established absence in complete inventory: fail; otherwise inconclusive.
When the result remains inconclusive
Missing/incomplete/out-of-profile plan or stage, active base, ambiguous reading or missing runtime. Independent contradictions remain.
Non-applicability
No automatic NA in this profile.
Assumptions
Prior plan, population, scenarios and completeness supplied; checked HTTP/DOM association but unauthenticated acquisition.
Limitations
C only within the declared strategy. No established visibility, interaction, editorial importance, authenticity, Google visit, indexing or ranking. Source presence is not a universal Google requirement.
TS17-A02 · Essential links present in declared rendered states.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared essential destinations under the prior source-and-rendered strategy, on supplied captures.
Evidence
Original HTTP bytes, bound DOM v2 tree, prior plan and separate source/render diagnostics; provider-declared states.
Method
Check each complete HTTP-bound tree and disclose repeated snapshots; scenarios are unauthenticated.
Acceptance criteria
Every destination in the qualified stage: pass; established absence in complete inventory: fail; otherwise inconclusive.
When the result remains inconclusive
Missing/incomplete/out-of-profile plan or stage, active base, ambiguous reading or missing runtime. Independent contradictions remain.
Non-applicability
No automatic NA in this profile.
Assumptions
Prior plan, population, scenarios and completeness supplied; checked HTTP/DOM association but unauthenticated acquisition.
Limitations
C only within the declared strategy. No established visibility, interaction, editorial importance, authenticity, Google visit, indexing or ranking. Source presence is not a universal Google requirement.
TS18 · 3 rules
Depth and orphan pages are measured within an explicit scope.
Population, roots, families and boundaries declared before captures; bounded supplied-graph-reconciliation-v1 profile.
Evidence to gather
Dated fingerprinted original inventories, declared production/dependencies, prior plan, original HTTP/source/DOM, pairs and bounds, per-inventory dates and supplied reviews bound to exact dossiers.
Declared graph only: no completeness, site-wide orphan, universal SEO depth, authenticated acquisition/reviews, observed interaction, indexing or ranking. HTTP200 does not verify expected content or soft404s. The reader does not adjudicate supplied rationale.
Control method and criteria
Method
Reconcile original reference, crawl, CMS and sitemap inventories; compute native bounded graph links/distances; verify supplied reviews bound to family and difference measurements.
Acceptance criteria
Three complete layers within supplied scope: qualified reconciliation, qualified native measurements and bound documentary reviews. An evidenced reviewed defect remains NC despite another unknown.
Non-applicability
No relevant navigation graph, with a justification; a missing inventory means NT.
Detailed rules
TS18-A01 · Prior scope and reconciled original inventories.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Population, roots, families and boundaries declared before captures; bounded supplied-graph-reconciliation-v1 profile.
Evidence
Dated fingerprinted original inventories, declared production/dependencies, prior plan, original HTTP/source/DOM, pairs and bounds, per-inventory dates and supplied reviews bound to exact dossiers.
Method
Read explicitly declared formats and lineage; ordered reference bound to plan, crawl following links from roots only, native CMS and sitemap with explicit optional dependency.
Acceptance criteria
Pass if all originals, dates, families and declarations are qualified; otherwise inconclusive. Matching lists do not establish completeness. Mixed or list seeding is inconclusive in this profile.
When the result remains inconclusive
Missing, ambiguous, out-of-profile, misbound or out-of-window plan/original/surface/review; required runtime absent. Unknowns remain explicit and independent defects survive.
Non-applicability
No automatic NA; missing proof is inconclusive.
Assumptions
Exact origins/documents, prior plan, captures within at most24hours; unauthenticated production and no-interaction declarations.
Limitations
Declared graph only: no completeness, site-wide orphan, universal SEO depth, authenticated acquisition/reviews, observed interaction, indexing or ranking. HTTP200 does not verify expected content or soft404s. The reader does not adjudicate supplied rationale.
TS18-A02 · Depths and incoming degrees within the bounded graph.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Population, roots, families and boundaries declared before captures; bounded supplied-graph-reconciliation-v1 profile.
Evidence
Dated fingerprinted original inventories, declared production/dependencies, prior plan, original HTTP/source/DOM, pairs and bounds, per-inventory dates and supplied reviews bound to exact dossiers.
Method
Read each pair from source under two hypotheses or qualified no-interaction DOM; compute lower/upper distances and counts of distinct incoming sources, excluding self-links.
Acceptance criteria
Pass if roots and every pair are qualified; otherwise inconclusive even if one depth is exact. A no-incoming candidate requires an upper degree of0. No universal depth threshold.
When the result remains inconclusive
Missing, ambiguous, out-of-profile, misbound or out-of-window plan/original/surface/review; required runtime absent. Unknowns remain explicit and independent defects survive.
Non-applicability
No automatic NA; missing proof is inconclusive.
Assumptions
Exact origins/documents, prior plan, captures within at most24hours; unauthenticated production and no-interaction declarations.
Limitations
Declared graph only: no completeness, site-wide orphan, universal SEO depth, authenticated acquisition/reviews, observed interaction, indexing or ranking. HTTP200 does not verify expected content or soft404s. The reader does not adjudicate supplied rationale.
TS18-A03 · Supplied documentary qualification of families and differences.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Population, roots, families and boundaries declared before captures; bounded supplied-graph-reconciliation-v1 profile.
Evidence
Dated fingerprinted original inventories, declared production/dependencies, prior plan, original HTTP/source/DOM, pairs and bounds, per-inventory dates and supplied reviews bound to exact dossiers.
Method
Derive subjects only from native measurements; check one review for each family, known difference, no-incoming candidate and unreachable document, bound to plan, originals, dates and measurements.
Acceptance criteria
Pass if every qualified subject has a correctly bound supplied explanation; fail if a supplied defect binds an evidenced subject; otherwise inconclusive. Reviews cannot cure unknown measurements and are never software-created human approval.
When the result remains inconclusive
Missing, ambiguous, out-of-profile, misbound or out-of-window plan/original/surface/review; required runtime absent. Unknowns remain explicit and independent defects survive.
Non-applicability
No automatic NA; missing proof is inconclusive.
Assumptions
Exact origins/documents, prior plan, captures within at most24hours; unauthenticated production and no-interaction declarations.
Limitations
Declared graph only: no completeness, site-wide orphan, universal SEO depth, authenticated acquisition/reviews, observed interaction, indexing or ranking. HTTP200 does not verify expected content or soft404s. The reader does not adjudicate supplied rationale.
TS19 · 2 rules
Parameters, filters and calendars do not create an infinite URL space.
Parameters, filters, calendars and other combinatorial URL spaces.
Evidence to gather
Indexing and navigation rule for each parameter pattern.
The actual crawled volume requires logs or Search Console.
Control method and criteria
Method
Group URLs by pattern, count combinations and look for crawl traps.
Acceptance criteria
Each tested pattern has a navigation/indexing policy; observed limits and traps are explained without inferring actual crawl volume.
Non-applicability
Inventory attesting to the absence of such patterns.
Detailed rules
TS19-A01 · Bounded combinatorial-pattern policy
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS19 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: configuration, intent.
Method
Compare max_combinations, navigation and indexing in native url-pattern-config-v1 with each prior pattern; require review of the chosen bounds.
Acceptance criteria
Every supplied axis matches the selected finite plan. A conflicting value, including zero against a positive planned limit, fails.
When the result remains inconclusive
Missing axis/configuration, non-integer bound outside1–128 or absent review: inconclusive.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS19-A02 · Observed population and trap decision
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS19 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: crawl, intent.
Method
Read url-crawl-v1, count distinct URLs and compare with the finite list and bound; retain the reasoned trap/cycle decision and its review.
Acceptance criteria
Observed URLs belong to the planned population, their count respects the bound and traps are explained. An outside URL or exceeded bound fails.
When the result remains inconclusive
Incomplete supplied crawl, ambiguous identities, absent list or decision: inconclusive. A finite sample never proves whole-site finiteness.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS20 · 2 rules
The URL structure is readable, stable and correctly encoded.
Published URL patterns.
Evidence to gather
Documented URL patterns and no unintended variants.
A readable URL is not sufficient evidence of SEO performance.
Control method and criteria
Method
Identify spaces, fragments, encoded characters, case and volatile identifiers.
Acceptance criteria
Encoding, case, stability and variations match declared rules; no observed unintended variant is left without a decision.
Non-applicability
No public URL in scope.
Detailed rules
TS20-A01 · URL shape under supplied policy
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS20 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: crawl, configuration, intent.
Method
Read the later capture and url-shape-config-v1. Check spaces/controls, backslashes, percent escapes, fragments and path case against prior choices; require human readability review.
Acceptance criteria
Configuration matches the plan and every URL satisfies its lexical axes. A qualified mismatch fails. No implicit case change or decoding.
When the result remains inconclusive
Unsupported URL/authority, unknown policy, missing capture or review: inconclusive.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS20-A02 · Temporal stability and variation decisions
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS20 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: crawl, configuration, intent.
Method
Compare two ordered url-crawl-v1 captures with matching identities; every changed URL requires one reasoned before/after decision in the reviewed plan.
Acceptance criteria
URLs match at the two dates or their variation is explicitly decided and reviewed. An observed change without a decision fails.
When the result remains inconclusive
One date, reversed/equal dates, missing identity or review: inconclusive. Future stability remains unknown.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS21 · 2 rules
Discovered but unindexed URLs are investigated by family.
Families reported as discovered or crawled but not indexed.
Evidence to gather
Hypothesis per family, URL sample and post-fix result.
A Search Console label describes a state, not always its cause.
Control method and criteria
Method
Segment the Pages report by template and compare it with sitemaps and logs.
Acceptance criteria
Each selected family has a documented diagnosis, a testable hypothesis and a decision; unproven causality is disclosed.
Non-applicability
A dated report contains no relevant family, or Google is explicitly excluded.
Detailed rules
TS21-A01 · Attribution of nonindexed families
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS21 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: search-console, logs, sitemap, intent. Conditional native evidence follows declared methods.
Method
Read supplied Google URL Inspection requests/responses for each selected URL, compare property, URL and family label; reconcile native urlset and TSV log export in their declared window. Require segmentation/attribution review.
Acceptance criteria
Native pieces are available and attributed to the selected family; sitemap membership agrees with the plan. Request, family-label or sitemap disagreement fails. Logs describe only their supplied window and client.
When the result remains inconclusive
Missing evidence, absent/error API result, unsupported label, uninterpretable logs or absent review: inconclusive.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS21-A02 · Testable hypothesis and decision without invented causality
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Explicitly selected TS21 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: content, intent. Conditional native evidence follows declared methods.
Method
Read family-diagnosis-v1: diagnosis, hypothesis, prediction, falsification, measurement, decision, owner and due date for the same URL list. Check planned-versus-observed follow-up and bound review.
Acceptance criteria
Diagnostic axes are supplied and reviewed; causality=unproven and follow_up=planned-not-observed. Declaring causality from a label or correlation fails this profile.
When the result remains inconclusive
Hypothesis without falsification, misattributed family, claimed observed follow-up outside a separate method or missing judgment: inconclusive.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS22 · 2 rules
Each hreflang variant points to an indexable canonical URL.
Localized variant clusters using hreflang.
Evidence to gather
Valid language/region, 200 response and consistent canonical.
hreflang helps targeting; it does not replace genuinely localized content.
Control method and criteria
Method
Parse HTML, HTTP or sitemap annotations and resolve every URL.
Acceptance criteria
Each cluster target is accessible, intended for indexing and consistent with its canonical; language/region codes are checked.
Non-applicability
No hreflang cluster in scope, with an inventory provided.
Detailed rules
TS22-A01 · Native annotations and registered codes
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS22 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: hreflang, http, html, intent. Conditional native evidence follows declared methods.
Method
Read declared HTML, Link headers and XHTML urlsets separately; retain agreement of both static HTML hypotheses. Check each observed code against the frozen IANA registry subset and attribution to its planned destination.
Acceptance criteria
Observed codes belong to the documented language/script/region profile and destinations agree. An explicitly invalid code or conflicting destination fails; x-default qualifies only the reserved token.
When the result remains inconclusive
Deprecated code, exceptional region outside the subset, missing method/page, ambiguous HTML, relative annotation or absent review: inconclusive.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS22-A02 · Hreflang destinations and indexing-permission signals
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS22 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: hreflang, http, html, robots, intent. Conditional native evidence follows declared methods.
Method
For every selected destination compare indexing intent, direct HTTP200, HTTP/HTML directives, explicit self-canonical and same-origin robots.txt under the prior Google profile. Require source-scope review.
Acceptance criteria
Qualified signals permit and agree with the planned destination. A conflicting response, noindex, divergent canonical or evidenced robots denial fails despite other unknowns.
When the result remains inconclusive
Missing/unqualified robots, absent canonical, partial trace, required rendering or absent review: inconclusive. Indexing permission is not indexing.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS23 · 1 rules
hreflang annotations are reciprocal and include the current page.
Cluster and primary channels declared before capture; bounded hreflang-reciprocity-v1 profile.
Evidence to gather
Prior plan/expected mappings, selected channels, original HTTP requests/responses and hashes, dates, element/head-closure positions, static hypotheses, primary/secondary sets, exclusions and unknowns.
Supplied cluster and primary mode declarations: no capture authenticity, site completeness, TS22 language validity, indexability/canonical, TS24 x-default suitability, translation, executed JavaScript or Google processing. Relevant supplied sitemap/DOM channels remain outside this profile.
Control method and criteria
Method
Read native HTML or HTTP Link annotations from originals, preserve two HTML hypotheses and secondary channels, compare every code–URL pair to the prior cluster without unioning channels.
Acceptance criteria
Each cluster page includes the entire expected set in its primary channel, including self-reference; no qualified target contradiction. Several codes may share a URL and cross-domain clusters are allowed.
Non-applicability
No hreflang cluster in scope.
Detailed rules
TS23-A01 · Native reciprocal and self references within the prior cluster.
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Cluster and primary channels declared before capture; bounded hreflang-reciprocity-v1 profile.
Evidence
Prior plan/expected mappings, selected channels, original HTTP requests/responses and hashes, dates, element/head-closure positions, static hypotheses, primary/secondary sets, exclusions and unknowns.
Method
Read native HTML or HTTP Link annotations from originals, preserve two HTML hypotheses and secondary channels, compare every code–URL pair to the prior cluster without unioning channels.
Acceptance criteria
Pass if all pages are qualified and include the expected set in their primary channel. Fail for established qualified absence, invalid primary-HTML placement or target conflict. Otherwise inconclusive; independent contradictions survive unknowns.
When the result remains inconclusive
Missing/ambiguous plan or original, unqualified chronology/channel, source recovery outside admitted boundary, language/URL outside closed admission, unplanned outside annotation or missing required runtime.
Non-applicability
No automatic NA; an empty plan does not establish non-applicability.
Assumptions
Prior plan, at most24-hour window, HTTP200 requested=final without redirects, exact absolute HTTP(S) URLs. Two static HTML hypotheses, no script execution.
Limitations
Supplied cluster and primary mode declarations: no capture authenticity, site completeness, TS22 language validity, indexability/canonical, TS24 x-default suitability, translation, executed JavaScript or Google processing. Relevant supplied sitemap/DOM channels remain outside this profile.
TS24 · 1 rules
x-default represents a neutral destination or an explicit default variant.
Group and x-default policy supplied before capture; bounded xdefault-role-v1 profile.
Evidence to gather
Prior policy/context, original HTTP and hashes, primary/secondary observations, original bound reviews, dates and unknowns.
Supplied scope, no representative audience or authenticated semantic role; HTTP200 does not detect error templates/soft404s. No translation, Google visit, indexing, completeness or global conformity.
Control method and criteria
Method
Read native HTML/HTTP Link observations; check destination, motivated context, captured availability and bound supplied role review; retain unknowns and contested reviews.
Acceptance criteria
Qualified presence/context, policy-consistent target, original200 and consistent supplied review. Independently evidenced failure is NC; no inferred approval or semantic validity.
Non-applicability
No native NA or manual override; historical manual dossiers stay separate, optional absence is inconclusive.
Detailed rules
TS24-A01 · Documented x-default role in the prior context.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Group and x-default policy supplied before capture; bounded xdefault-role-v1 profile.
Evidence
Prior policy/context, original HTTP and hashes, primary/secondary observations, original bound reviews, dates and unknowns.
Method
Read native HTML/HTTP Link observations; check destination, motivated context, captured availability and bound supplied role review; retain unknowns and contested reviews.
Acceptance criteria
Pass requires every surface qualified, an unambiguous expected target, its original200 and bound consistent review. Fail for qualified required-primary absence, any qualified target conflicting with the unique policy destination, including among multiple declarations, attributable404/410, contradicted URL distinctness or one bound defect review. Otherwise inconclusive.
When the result remains inconclusive
Missing/unqualified plan, context, original or review; unqualified declarations or divergent hypotheses without an independent contradiction, contested reviews, status outside200/404/410, relevant unexamined channel or missing required runtime.
Non-applicability
No native NA or manual override; historical manual dossiers stay separate, optional absence is inconclusive.
Assumptions
Prior plan and one motivated context; one non-redirect GET per original, window<=24h, two static HTML hypotheses. Supplied review, unauthenticated author.
Limitations
Supplied scope, no representative audience or authenticated semantic role; HTTP200 does not detect error templates/soft404s. No translation, Google visit, indexing, completeness or global conformity.
TS25 · 2 rules
Critical content exists in source HTML or becomes observable after rendering.
Critical items and stage policies declared before capture, profile critical-stage-presence-v1.
Evidence to gather
Prior plan, HTTP/DOM originals, fingerprints, conditions, per-item/stage values, actually supplied reviews and dates.
Declared scope only, static hypotheses without execution; unauthenticated reviews and attribution. No inferred Google rendering, CSS visibility, truth, structured validity, indexing or global conformity.
Control method and criteria
Method
Check five role dispositions, then items in static source hypotheses and planned rendered states; retain originals, exclusions and bound supplied reviews.
Acceptance criteria
Two passing rules within supplied scope: motivated coverage and presence under prior policies. Any qualified independent failure yields NC; otherwise unknowns yield NT.
Non-applicability
No native NA; motivated out-of-scope roles retained, never equivalent to control NA.
Detailed rules
TS25-A01 · Prior critical scope and five role dispositions.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Critical items and stage policies declared before capture, profile critical-stage-presence-v1.
Evidence
Prior plan, HTTP/DOM originals, fingerprints, conditions, per-item/stage values, actually supplied reviews and dates.
Method
Check five role dispositions, then items in static source hypotheses and planned rendered states; retain originals, exclusions and bound supplied reviews.
Acceptance criteria
Pass requires motivated population, five exact decisions and a prior bound supported review. Bound contradiction review: fail. Missing, unbound or unknown review: inconclusive.
When the result remains inconclusive
Missing or invalid plan/capture/review, unsupported role, conflicting readings, unqualified rendered context, extra/duplicate states, exceeded bounds. An independent failure remains fail. Draft.44 / reader3: supplied TS25 review fields reviewer, assistance and reason are each limited to8192 raw UTF8 bytes before strip or normalization; each entire review object, including additional fields, to32768 compact UTF8 JSON bytes. Admission checks every supplied review, including unused ones. An overrun is technical refusal before publication, never public C or NT; exact originals are not rewritten. Each native rule diagnostic is bounded to4MiB of sorted compact UTF8 JSON, including A01 and error returns. Overflow produces an explicitly incomplete compact diagnostic retaining an independently established fail, otherwise inconclusive; never pass. Transport refuses that marker and also caps the sum of actual serialized TS25 observation artifacts per target at4MiB (UTF8 JSON indent2, trailing newline), for requested rules. Individual maxima do not guarantee that every combination satisfies aggregate bounds. Other controls and the shared validator are unchanged.
Non-applicability
No native NA; motivated out-of-scope roles retained, never equivalent to control NA.
Assumptions
1–32 items,0–16 prior states, window<=24h, HTTP<=30s; five explicit roles. Two HTML hypotheses must agree; required states combine with qualified-failure precedence. Supplied review, no authentication.
Limitations
Declared scope only, static hypotheses without execution; unauthenticated reviews and attribution. No inferred Google rendering, CSS visibility, truth, structured validity, indexing or global conformity.
TS25-A02 · Critical presence under each item’s source/render policy.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Critical items and stage policies declared before capture, profile critical-stage-presence-v1.
Evidence
Prior plan, HTTP/DOM originals, fingerprints, conditions, per-item/stage values, actually supplied reviews and dates.
Method
Check five role dispositions, then items in static source hypotheses and planned rendered states; retain originals, exclusions and bound supplied reviews.
Acceptance criteria
Pass requires all items present under their policy and qualified state coverage. Independently qualified absence: fail despite another unknown. Otherwise inconclusive.
When the result remains inconclusive
Missing or invalid plan/capture/review, unsupported role, conflicting readings, unqualified rendered context, extra/duplicate states, exceeded bounds. An independent failure remains fail. A non-object render container remains unknown; it does not erase an independently required qualified source absence. Draft.44 / reader3: supplied TS25 review fields reviewer, assistance and reason are each limited to8192 raw UTF8 bytes before strip or normalization; each entire review object, including additional fields, to32768 compact UTF8 JSON bytes. Admission checks every supplied review, including unused ones. An overrun is technical refusal before publication, never public C or NT; exact originals are not rewritten. Each native rule diagnostic is bounded to4MiB of sorted compact UTF8 JSON, including A01 and error returns. Overflow produces an explicitly incomplete compact diagnostic retaining an independently established fail, otherwise inconclusive; never pass. Transport refuses that marker and also caps the sum of actual serialized TS25 observation artifacts per target at4MiB (UTF8 JSON indent2, trailing newline), for requested rules. Individual maxima do not guarantee that every combination satisfies aggregate bounds. Other controls and the shared validator are unchanged.
Non-applicability
No native NA; motivated out-of-scope roles retained, never equivalent to control NA.
Assumptions
1–32 items,0–16 prior states, window<=24h, HTTP<=30s; five explicit roles. Two HTML hypotheses must agree; required states combine with qualified-failure precedence. Supplied review, no authentication.
Limitations
Declared scope only, static hypotheses without execution; unauthenticated reviews and attribution. No inferred Google rendering, CSS visibility, truth, structured validity, indexing or global conformity.
TS26 · 2 rules
Resources required for rendering are neither blocked nor failing.
Resources needed to render the tested templates.
Evidence to gather
Critical resources accessible and no error removes essential content.
An error-free console does not prove indexing.
Control method and criteria
Method
Inspect network activity, robots rules, CSP and console errors on priority templates.
Acceptance criteria
No tested critical resource is prevented by network error, robots policy or CSP; console and network evidence are retained.
Non-applicability
No dependent rendering resource, supported by an inventory.
Detailed rules
TS26-A01 · Resource access and native policies
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, robots, html, intent.
Method
For each selected critical resource compare direct HTTP200, same-origin robots and intersection of HTTP CSP policies from the HTTPS document. Retain complete source to exclude unqualified meta CSP.
Acceptance criteria
A qualified HTTP error, robots denial or CSP denial fails independently of other gaps.
When the result remains inconclusive
Absent inventory, missing robots, unsupported CSP directive, nonce, meta CSP, ambiguous source or absent review: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS26-A02 · Traffic and console attributed to rendering
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: render, http, intent.
Method
Read a supplied bounded HAR export, bind its document response to native HTTP bytes, then check every critical resource. Retain dated HAR-bound console and criticality review.
Acceptance criteria
Selected resources have2xx responses without supplied network error. Unclassified console errors remain NT; native network failure remains NC.
When the result remains inconclusive
Incomplete HAR, omitted body, unattributed context/session, missing console or unqualified error: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS27 · 2 rules
SPA states and routes produce shareable URLs and consistent server responses.
Application routes or SPA states intended for indexing.
Evidence to gather
Each indexable view has its own URL, 200 response, content and signals.
Choosing SSR, CSR or SSG is not in itself an SEO guarantee.
Control method and criteria
Method
Open routes directly and test refresh, history, canonical and HTTP status.
Acceptance criteria
Direct opening, refresh and history preserve the expected URL, content, status and signals for each selected route.
Non-applicability
No relevant application or SPA route.
Detailed rules
TS27-A01 · Attributed routes and history
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
Method
Check four supplied states in direct, refresh, back, forward order: session, sequence, time, URL, server-response binding and status.
Acceptance criteria
Every state retains its route URL and intended200 source. A qualified conflicting URL or status fails.
When the result remains inconclusive
Missing/ambiguous state, action, binding, session or order; uncollected frame/shadow surface: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS27-A02 · Content and canonical in each SPA state
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
Method
Within the same qualified states compare literal IDs, essential text and link destinations with the plan, then one explicit head canonical. Require operation review.
Acceptance criteria
States retain their intended content and signals. Absence on a complete surface, differing content or conflicting canonical fails.
When the result remains inconclusive
Partial state, hidden context, ambiguous ID, differing HTML hypotheses or absent review: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS28 · 2 rules
The document exposes an understandable HTML structure independently of appearance.
HTML documents in scope.
Evidence to gather
Logical structure, one identifiable main subject and accessible components.
Syntax validity alone proves neither quality nor relevance.
Control method and criteria
Method
Inspect title, language, main landmark, heading levels, links and labels on a sample.
Acceptance criteria
Title, language, structure, navigation and labels match the content and its use; human review is recorded without an accessibility certification.
Non-applicability
No relevant HTML document.
Detailed rules
TS28-A01 · Native source and supplied DOM structure
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
Method
Compare source and supplied serialization: title, language, declared main landmark, ordered headings, links and labels. H1 count follows the plan.
Acceptance criteria
Structures agree with the prior plan; qualified structural conflicts fail.
When the result remains inconclusive
Absent source/DOM, undeclared language, ambiguous tree or unqualified visual context: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS28-A02 · Meaning and navigation review
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
Method
Reuse attributed structural facts and require a distinct bound review of title/language adequacy, hierarchy, main subject, navigation and labels in declared use.
Acceptance criteria
Facts are qualified and a reasoned judgment supports meaning and use; evidenced contradiction fails.
When the result remains inconclusive
Parser output alone, an unbound review or insufficient originals are not enough: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS29 · 2 rules
Essential content remains available when scripts or styles fail.
Flows whose essential content and navigation are defined.
Evidence to gather
Primary information and navigation remain available, or a fallback is documented.
Acceptable degradation depends on the component’s function.
Control method and criteria
Method
Test source HTML, disabled JavaScript and degraded network conditions.
Acceptance criteria
Blocked-script and degraded-style scenarios preserve declared functions or an actually tested fallback.
Non-applicability
No relevant web flow, with a justification.
Detailed rules
TS29-A01 · Blocked-script scenario and tested fallback
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
Method
Read source and a supplied state explicitly marked scripts-blocked; compare every essential content/link or the prior fallback within that same state. Require action and operation review.
Acceptance criteria
All main expectations or all tested fallback expectations are supported. Qualified failures of both main and fallback fail; text alone does not establish function.
When the result remains inconclusive
Normal condition, partial capture, merely described fallback, hidden context or missing review: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS29-A02 · Degraded-style scenario and tested fallback
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
Method
Apply the same examination in an explicitly styles-degraded state with action observations and a bound review. Script disabling does not qualify this scenario.
Acceptance criteria
Essential functions or tested fallback remain supported in this distinct scenario.
When the result remains inconclusive
Missing degraded-style scenario, fallback evidence or attributed judgment: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS30 · 2 rules
Essential metadata is unique, visible and consistent with the page.
Pages whose editorial metadata is assessed.
Evidence to gather
Consistent topic and promise without mechanical duplication.
Google may rewrite the title link or snippet in search results.
Control method and criteria
Method
Compare title, description, H1, Open Graph and main content by template.
Acceptance criteria
Present metadata describes content without contradiction; uniqueness and duplication are assessed within the declared corpus, with human review.
Non-applicability
No document with relevant editorial metadata.
Detailed rules
TS30-A01 · Metadata and duplicates in the declared corpus
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md. Amendment: docs/render-transport-prerequisites-v2.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.
Method
Read native title, description, H1, og:title, og:description for each page. Compare prior values and duplicates among selected pages; require a prior decision for each intentional duplicate. Separately qualify H1 and descendant-text flags; preserve native contradictions in other fields.
Acceptance criteria
Values and multiplicity agree; each observed duplicate has one reasoned decision. The corpus is limited to supplied pages.
When the result remains inconclusive
Missing source, omitted field policy, ambiguous parse or missing review: NT. null permits only an explicitly absent optional field. Hidden/unqualified H1 or descendant text: NT, without manufacturing absence.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS30-A02 · Editorial coherence and main content
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md. Amendment: docs/render-transport-prerequisites-v2.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.
Method
Reconcile native metadata and identified main content; require a distinct review of promise, meaning and relevant visibility. Separately qualify H1 and descendant-text flags; preserve native contradictions in other fields.
Acceptance criteria
Facts agree with the plan and the bound editorial review supports them; qualified native or human contradiction fails.
When the result remains inconclusive
Unqualified required source/rendering, hidden content, meaning without review or unbound judgment: NT. Hidden/unqualified H1 or descendant text: NT, without manufacturing absence.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS31 · 3 rules
JSON-LD describes entities that are visible and appropriate to the content.
Documents publishing structured data.
Evidence to gather
Valid, consistent graph with no invented entity or rating.
Valid markup guarantees neither a rich result nor higher rankings.
Control method and criteria
Method
Compare each important property with visible content and type-specific guidance.
Acceptance criteria
Examined syntax and properties match visible facts and the selected type; no fabricated data is observed.
Non-applicability
No structured data published in scope.
Detailed rules
TS31-A01 · Reviewed prior scope and hypotheses.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page with JSON-LD; planned source and DOM profile.
Evidence
Native HTTP, attributed trees, supplied contexts/guidance, recomputed graphs and bound reviews; jsonld-visible-content-v1 contract.
Method
Qualify the plan, dated guidance and bound prior scope/source-base/guidance review.
Acceptance criteria
Three supported judgments; bound contradiction fails, missing or unknown review is inconclusive.
When the result remains inconclusive
Gaps, bounds, missing context/runtime, ambiguous reading, empty graph, notice or unknown review; independent contradictions preserved.
Non-applicability
No atomic exemption; absence in a bounded profile does not establish NA.
Assumptions
Supplied scope, bases, dates, visible content and judgments; hashes do not authenticate.
Limitations
JSON-LD and documentary review of the selected page; no Schema.org vocabulary validation, authenticated truth/visibility, rich result, indexing or ranking.
TS31-A02 · Attributed source and rendered JSON-LD reading.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page with JSON-LD; planned source and DOM profile.
Evidence
Native HTTP, attributed trees, supplied contexts/guidance, recomputed graphs and bound reviews; jsonld-visible-content-v1 contract.
Method
Recompute exact scripts under both source hypotheses and all planned DOM states using supplied contexts.
Acceptance criteria
Complete readings and at least one nonempty graph without notices; attributed invalid JSON fails, other limits are inconclusive.
When the result remains inconclusive
Gaps, bounds, missing context/runtime, ambiguous reading, empty graph, notice or unknown review; independent contradictions preserved.
Non-applicability
No atomic exemption; absence in a bounded profile does not establish NA.
Assumptions
Supplied scope, bases, dates, visible content and judgments; hashes do not authenticate.
Limitations
JSON-LD and documentary review of the selected page; no Schema.org vocabulary validation, authenticated truth/visibility, rich result, indexing or ranking.
TS31-A03 · Content and type consistency reviewed per entity.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page with JSON-LD; planned source and DOM profile.
Evidence
Native HTTP, attributed trees, supplied contexts/guidance, recomputed graphs and bound reviews; jsonld-visible-content-v1 contract.
Method
Bind supplied content and every flattened node to complete reviews covering visibility, type, all properties and absence of fabrication.
Acceptance criteria
Exact population and supported qualifications; bound supplied contradiction fails, gaps or unknowns are inconclusive.
When the result remains inconclusive
Gaps, bounds, missing context/runtime, ambiguous reading, empty graph, notice or unknown review; independent contradictions preserved.
Non-applicability
No atomic exemption; absence in a bounded profile does not establish NA.
Assumptions
Supplied scope, bases, dates, visible content and judgments; hashes do not authenticate.
Limitations
JSON-LD and documentary review of the selected page; no Schema.org vocabulary validation, authenticated truth/visibility, rich result, indexing or ranking.
TS32 · 3 rules
Stable @id values connect the same entities without creating duplicates.
Graphs using entity identifiers.
Evidence to gather
Archived graph, inventory of present entities and identifiers, assessed references and duplicates.
Schema.org defines a vocabulary; interpretation depends on the consumer.
Control method and criteria
Method
Build the graph and identify unnamed nodes, variable identifiers and duplicates.
Acceptance criteria
The same entities retain identifiers across the corpus; graph references resolve and duplicates are assessed, without requiring all types named in the legacy grid.
Non-applicability
No relevant graph with identifiers.
Detailed rules
TS32-A01 · Qualified prior registry and corpus.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Declared corpus of 2–16 JSON-LD exports using identifiers.
Evidence
Prior registry, native exports, local contexts, recomputed graphs and bound reviews; jsonld-identity-corpus-v1 contract.
Method
Check distinct entities, plan and bound prior population/mapping/reference review.
Acceptance criteria
Collision-free registry and three supported judgments; distinct-entity collision fails even with absent review.
When the result remains inconclusive
Missing evidence, review, runtime or context; empty/named graph, notice or unqualified reference/ID. Independent contradictions preserved.
Non-applicability
No NA in this bounded profile.
Assumptions
Declared/reviewed origin, completeness, bases, dates and mappings; not authenticated.
Limitations
Supplied corpus coherence, no temporal stability, real identity, page collection, cross-document merging or Google guarantee.
TS32-A02 · Required identifiers and corpus references.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Declared corpus of 2–16 JSON-LD exports using identifiers.
Evidence
Prior registry, native exports, local contexts, recomputed graphs and bound reviews; jsonld-identity-corpus-v1 contract.
Method
Recompute native exports independently and compare defined IRIs with the registry; inventory references and scope.
Acceptance criteria
Required IRIs defined and scope/references qualified; required absence from a complete nonempty graph fails, gaps or ambiguity are inconclusive.
When the result remains inconclusive
Missing evidence, review, runtime or context; empty/named graph, notice or unqualified reference/ID. Independent contradictions preserved.
Non-applicability
No NA in this bounded profile.
Assumptions
Declared/reviewed origin, completeness, bases, dates and mappings; not authenticated.
Limitations
Supplied corpus coherence, no temporal stability, real identity, page collection, cross-document merging or Google guarantee.
TS32-A03 · Evidence-bound mapping and duplicate review.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Declared corpus of 2–16 JSON-LD exports using identifiers.
Evidence
Prior registry, native exports, local contexts, recomputed graphs and bound reviews; jsonld-identity-corpus-v1 contract.
Method
Bind each export and recomputed node to mapping, repetition/duplicate and reference-meaning reviews.
Acceptance criteria
Exact coverage and supported judgments; bound contradiction fails, incomplete/unknown review is inconclusive.
When the result remains inconclusive
Missing evidence, review, runtime or context; empty/named graph, notice or unqualified reference/ID. Independent contradictions preserved.
Non-applicability
No NA in this bounded profile.
Assumptions
Declared/reviewed origin, completeness, bases, dates and mappings; not authenticated.
Limitations
Supplied corpus coherence, no temporal stability, real identity, page collection, cross-document merging or Google guarantee.
TS33 · 3 rules
Errors, warnings and unsupported uses are distinguished.
Selected page with bound HTTP/DOM JSON-LD captures and a separate native Google indexed result.
Evidence to gather
Report with no blocking error and qualified warnings.
Vocabulary names and roles only; no inferred complete semantic validity, cross-snapshot correspondence, current eligibility or display. Supplied origins and dates are not authenticated.
Control method and criteria
Method
Qualify the plan; recompute capture syntax and Schema.org names; separately classify native indexed-version messages and their decisions.
Acceptance criteria
All three rules pass within the declared scope: qualified plan, attributed syntax and names, indexed messages without blocking errors and with an exact review. Correspondence between snapshots remains unestablished.
Non-applicability
No NA in this profile; missing markup or evidence remains NT.
Detailed rules
TS33-A01 · Qualified prior scope, features and layers.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page, bound HTTP/DOM JSON-LD captures and separate indexed APIv1 snapshot.
Evidence
Plan, native captures, pinned vocabulary30.1, original API outputs and bound reviews; jsonld-validation-layers-v1 contract.
Method
Check prior plan, dated feature guidance and bound scope/support/separation review.
Acceptance criteria
Three supported qualifications; reasoned contradiction fails, absence/unknown is inconclusive.
When the result remains inconclusive
Missing evidence/review/runtime, unattributed layer, unknown format/severity or undetected feature; independent errors retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied/reviewed origin, dates and completeness, not authenticated; Google backend version unexposed.
Limitations
Schema.org names only; separate snapshots, no inferred live test, current eligibility, display or indexing.
TS33-A02 · Syntax and vocabulary names on bound captures.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page, bound HTTP/DOM JSON-LD captures and separate indexed APIv1 snapshot.
Evidence
Plan, native captures, pinned vocabulary30.1, original API outputs and bound reviews; jsonld-validation-layers-v1 contract.
Method
Reprocess source/DOM with TS31 readers; compare classes/properties with complete Schema.org30.1, equivalent HTTP/HTTPS namespaces.
Acceptance criteria
Attributed typed graphs without syntax error, missing term or contradictory role; unknowns remain distinct.
When the result remains inconclusive
Missing evidence/review/runtime, unattributed layer, unknown format/severity or undetected feature; independent errors retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied/reviewed origin, dates and completeness, not authenticated; Google backend version unexposed.
Limitations
Schema.org names only; separate snapshots, no inferred live test, current eligibility, display or indexing.
TS33-A03 · Native Google messages and decisions retained without downgrade.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected page, bound HTTP/DOM JSON-LD captures and separate indexed APIv1 snapshot.
Evidence
Plan, native captures, pinned vocabulary30.1, original API outputs and bound reviews; jsonld-validation-layers-v1 contract.
Method
Read all APIv1 messages, severities and features; bind an exact review to the indexed response, separate from current captures.
Acceptance criteria
No ERROR/FAIL; exact coverage and qualifications. Error, omission or downgrade fails even when documented; technical failure is inconclusive.
When the result remains inconclusive
Missing evidence/review/runtime, unattributed layer, unknown format/severity or undetected feature; independent errors retained.
Non-applicability
No NA in this profile.
Assumptions
Supplied/reviewed origin, dates and completeness, not authenticated; Google backend version unexposed.
Limitations
Schema.org names only; separate snapshots, no inferred live test, current eligibility, display or indexing.
TS34 · 3 rules
Field Core Web Vitals are documented and classified at the 75th percentile.
Cohorts with relevant field data.
Evidence to gather
LCP ≤ 2.5 s, INP ≤ 200 ms and CLS ≤ 0.1 at the 75th percentile for a Good assessment.
Missing CrUX data does not mean the page is fast.
Control method and criteria
Method
Use an identified field source: CrUX, Search Console or RUM. Record period, device, granularity and population; do not conflate URL and origin.
Acceptance criteria
Source, period, granularity, device and LCP/INP/CLS p75 are recorded and classified against cited thresholds; poor values remain visible and inform a decision.
Non-applicability
Flows explicitly outside CWV scope; missing data alone means NT.
Detailed rules
TS34-A01 · Attributable field cohort
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Declared performance scope for this control and qualified reading profile.
Evidence
Original JSON with source/date/hash; plan and supplied review when required, diagnostics and limits under docs/performance-evidence.md.
Method
Identify source, request/returned key, URL/origin, device, period and population under performance-evidence-v1. No implicit scope fallback.
Acceptance criteria
Cohort matches the plan with retained dates/provenance. Explicit lab-for-field substitution fails; a different or old cohort remains inconclusive.
When the result remains inconclusive
Insufficient source/plan/dates/measures; unsupported format/profile, scope mismatch, exceeded bounds or missing review under the contract. Absence never becomes C or NA.
Non-applicability
No automatic atomic exemption; whole-control non-applicability requires its own evidence.
Assumptions
Supplied data/reviews are not authenticated. Plan precedes assessment and lab runs; a historical cohort is not preregistration.
Limitations
C describes documentation, not good performance. No display/ranking, demonstrated cause, automatic human review or global conformity. Replay performs no new measurement.
TS34-A02 · Retained p75 measurements and classes
Protocol assessment mode : automatic. App availability is shown on the control card.
Scope
Declared performance scope for this control and qualified reading profile.
Evidence
Original JSON with source/date/hash; plan and supplied review when required, diagnostics and limits under docs/performance-evidence.md.
Method
Read LCP/INP/CLS p75 in native units and compare exactly with cited thresholds, without relabeling FID/TBT. Retain poor values and unknowns.
Acceptance criteria
All three measures are classified correctly. A bound classification contradicting p75 fails; correctly documented poor performance passes.
When the result remains inconclusive
Insufficient source/plan/dates/measures; unsupported format/profile, scope mismatch, exceeded bounds or missing review under the contract. Absence never becomes C or NA.
Non-applicability
No automatic atomic exemption; whole-control non-applicability requires its own evidence.
Assumptions
Supplied data/reviews are not authenticated. Plan precedes assessment and lab runs; a historical cohort is not preregistration.
Limitations
C describes documentation, not good performance. No display/ranking, demonstrated cause, automatic human review or global conformity. Replay performs no new measurement.
TS34-A03 · Reasoned decision bound to measurements
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Declared performance scope for this control and qualified reading profile.
Evidence
Original JSON with source/date/hash; plan and supplied review when required, diagnostics and limits under docs/performance-evidence.md.
Method
Retain supplied review, author, provenance, date, source hash and decision for each metric; verify binding without fabricating judgment.
Acceptance criteria
Each metric retains its class, reason and action. A contradictory class fails. Missing/incomplete/unbound review is inconclusive.
When the result remains inconclusive
Insufficient source/plan/dates/measures; unsupported format/profile, scope mismatch, exceeded bounds or missing review under the contract. Absence never becomes C or NA.
Non-applicability
No automatic atomic exemption; whole-control non-applicability requires its own evidence.
Assumptions
Supplied data/reviews are not authenticated. Plan precedes assessment and lab runs; a historical cohort is not preregistration.
Limitations
C describes documentation, not good performance. No display/ranking, demonstrated cause, automatic human review or global conformity. Replay performs no new measurement.
TS35 · 2 rules
Laboratory tests support diagnosis rather than simulate field data.
Lab performance diagnostics.
Evidence to gather
Reproducible Lighthouse/WebPageTest report tied to a remediation hypothesis.
A Lighthouse score of 100 guarantees neither field CWV nor rankings.
Control method and criteria
Method
Retain URL, device, network profile, tool version and detailed metrics.
Acceptance criteria
URL, tool/version, device, network and measurements are retained; conclusions remain limited to the lab and tied to a hypothesis.
Non-applicability
No lab diagnostic planned in this scope.
Detailed rules
TS35-A01 · Repeatable laboratory context and measurements
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Declared performance scope for this control and qualified reading profile.
Evidence
Original JSON with source/date/hash; plan and supplied review when required, diagnostics and limits under docs/performance-evidence.md.
Method
Retain a planned series of 2–10 distinct Lighthouse reports, dates, URLs, tool/version, client, device, throttling, native measures and spread.
Acceptance criteria
Series matches planned context/count. URL contrary to plan fails; different context, missing measure or runtime error remains inconclusive.
When the result remains inconclusive
Insufficient source/plan/dates/measures; unsupported format/profile, scope mismatch, exceeded bounds or missing review under the contract. Absence never becomes C or NA.
Non-applicability
No automatic atomic exemption; whole-control non-applicability requires its own evidence.
Assumptions
Supplied data/reviews are not authenticated. Plan precedes assessment and lab runs; a historical cohort is not preregistration.
Limitations
C describes documentation, not good performance. No display/ranking, demonstrated cause, automatic human review or global conformity. Replay performs no new measurement.
TS35-A02 · Diagnostic hypothesis and next verification
Protocol assessment mode : manual. App availability is shown on the control card.
Scope
Declared performance scope for this control and qualified reading profile.
Evidence
Original JSON with source/date/hash; plan and supplied review when required, diagnostics and limits under docs/performance-evidence.md.
Method
Bind a supplied review to ordered reports, measured metrics, a hypothesis and next measurement. Separate laboratory, INP and field results.
Acceptance criteria
Bound review names hypothesis, metrics and action without field substitution. Explicit lab/CWV or TBT/INP substitution fails; absent review is inconclusive.
When the result remains inconclusive
Insufficient source/plan/dates/measures; unsupported format/profile, scope mismatch, exceeded bounds or missing review under the contract. Absence never becomes C or NA.
Non-applicability
No automatic atomic exemption; whole-control non-applicability requires its own evidence.
Assumptions
Supplied data/reviews are not authenticated. Plan precedes assessment and lab runs; a historical cohort is not preregistration.
Limitations
C describes documentation, not good performance. No display/ranking, demonstrated cause, automatic human review or global conformity. Replay performs no new measurement.
TS36 · 3 rules
Monitoring connects Search Console, logs and deployments to decision dates.
Changes whose crawl/indexing follow-up is assessed.
Evidence to gather
Deployment log, crawl/indexing anomalies and signed decisions.
Temporal correlation is not sufficient to attribute a traffic change.
Control method and criteria
Method
Create a pre-change baseline, then verify at D+1, D+7 and D+30 according to risk.
Acceptance criteria
Baseline, deployment and risk-based follow-up observations are dated; anomalies and decisions are linked without automatic causal attribution.
Non-applicability
No change subject to follow-up within the declared period.
Detailed rules
TS36-A01 · Prior plan and release chronology.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected release whose dated follow-up is assessed.
Evidence
Bound plan/reviews, deployment receipt, native API and supplied normalized logs; release-monitoring-v1 contract.
Method
Qualify the bound plan before baseline, receipt identities and baseline/deployment order.
Acceptance criteria
Supported plan, matching identity and baseline recorded before deployment; explicit contradiction fails, gaps remain inconclusive.
When the result remains inconclusive
Future stage, missing evidence, errors, unknown values, incomplete logs or invalid bindings; preserve independent contradictions.
Non-applicability
No atomic exemption; absence or delay never establishes NA.
Assumptions
Supplied scope, dates, layer and judgments; hashes alone authenticate nothing.
Limitations
Documentary C for selected baseline/D+1/D+7/D+30; no causality, authenticated Google visit, indexing or global coverage.
TS36-A02 · Observations attributed to follow-up stages.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected release whose dated follow-up is assessed.
Evidence
Bound plan/reviews, deployment receipt, native API and supplied normalized logs; release-monitoring-v1 contract.
Method
Read baseline/d1/d7/d30, qualify TS08-A02 API and exact-window log inventories.
Acceptance criteria
All four stages reached, complete attributed evidence within bounds; future/absence/error remains inconclusive.
When the result remains inconclusive
Future stage, missing evidence, errors, unknown values, incomplete logs or invalid bindings; preserve independent contradictions.
Non-applicability
No atomic exemption; absence or delay never establishes NA.
Assumptions
Supplied scope, dates, layer and judgments; hashes alone authenticate nothing.
Limitations
Documentary C for selected baseline/D+1/D+7/D+30; no causality, authenticated Google visit, indexing or global coverage.
TS36-A03 · Interpretation, decisions and closure bound to evidence.
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Selected release whose dated follow-up is assessed.
Evidence
Bound plan/reviews, deployment receipt, native API and supplied normalized logs; release-monitoring-v1 contract.
Method
Compare claims to known values, retain changes without causality and qualify supplied reviews/decisions.
Acceptance criteria
Faithful claims, supported reviews and complete cycle; false known claim or closure before a future stage fails; other gaps inconclusive.
When the result remains inconclusive
Future stage, missing evidence, errors, unknown values, incomplete logs or invalid bindings; preserve independent contradictions.
Non-applicability
No atomic exemption; absence or delay never establishes NA.
Assumptions
Supplied scope, dates, layer and judgments; hashes alone authenticate nothing.
Limitations
Documentary C for selected baseline/D+1/D+7/D+30; no causality, authenticated Google visit, indexing or global coverage.
TS37 · 3 rules
HTTPS, HSTS and embedded resources create neither certificate errors nor mixed content.
Hosts and resources of a public web service.
Evidence to gather
Archived certificates and HTTP chains, reviewed mixed resources, explicit HSTS decision and documented scope.
HSTS strengthens transport after the policy is received; it fixes neither an invalid certificate nor a poor URL architecture.
Control method and criteria
Method
Test certificates on public hosts, follow HTTP/HTTPS variants, record Strict-Transport-Security and find HTTP subresources.
Acceptance criteria
Certificates and redirects are valid for tested hosts; mixed content is reviewed; the HSTS decision and scope are documented without requiring preload.
Non-applicability
No relevant public HTTP service.
Detailed rules
TS37-A01 · Certificates, host, time and supplied trust
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: tls, intent.
Method
Recheck supplied public PEMs with offline OpenSSL3: chain, server purpose, DNS host, supplied time and explicit supplied roots. Disable implicit stores; retain version and diagnostic.
Acceptance criteria
Profile verification succeeds under supplied roots. A supported X509 error, including expiry or wrong host, fails.
When the result remains inconclusive
Missing OpenSSL3, unusable PEM, misattributed capture, absent roots or unqualified error code: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS37-A02 · HTTPS redirects and HSTS decision
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, configuration, intent.
Method
Follow the supplied HTTP chain to HTTPS without downgrade, check direct200 response, compare HSTS configuration and header with planned enablement, max-age, subdomains, scope, owner and rationale.
Acceptance criteria
Chains and HSTS decision agree; HSTS may be explicitly disabled. No preload requirement.
When the result remains inconclusive
Missing chain/configuration, ambiguous header, absent scope or decision: NT.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS37-A03 · Embedded resources and mixed traffic in scope
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md. Amendment: docs/render-transport-prerequisites-v2.md.
Evidence
Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
Method
Bind HAR and console to the HTTPS document; inspect observed requests and source embedded URLs. The strict profile requires HTTPS for these resources even when a browser might upgrade them. With unqualified base href, a relative URL stays NT; examine absolute URLs independently despite CSS/srcset or another unknown scheme.
Acceptance criteria
No HTTP URL observed on these surfaces; dynamic-coverage review retained. An observed native HTTP URL fails despite another gap.
When the result remains inconclusive
Truncated HAR, missing body, unqualified CSS/srcset, incomplete context or absent review: NT. Unqualified relative resolution with base href: NT; an independent HTTP contradiction stays NC.
Non-applicability
No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
Assumptions
Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
Limitations
No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
TS38 · 2 rules
Host, case and trailing-slash variants converge on one rule.
Host, case and slash variants of resources declared equivalent.
Evidence to gather
One stable final URL per resource, no chain and consistent internal signals.
Case can be significant depending on the server and application; the rule must be tested, not assumed.
Control method and criteria
Method
Replay www/non-www, HTTP/HTTPS, relevant case and trailing-slash variants on sample routes; compare redirect, canonical, sitemap and links.
Acceptance criteria
Every tested variant follows the declared rule; redirects, canonicals, sitemaps and links agree without merging distinct resources.
Non-applicability
No relevant variant after an explicit inventory.
Detailed rules
TS38-A01 · Trajectories and canonicals of equivalent variants
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS38 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: http, html, content, intent.
Method
Require reviewed equivalence and read every native trajectory: one hop from each variant, direct200 preferred response, HTTP/HTML canonical pointing to it.
Acceptance criteria
Every variant converges in one hop and every qualified canonical agrees. Declared merging of distinct resources or native disagreement fails.
When the result remains inconclusive
Missing trace/canonical, undecided equivalence or necessary rendering: inconclusive.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS38-A02 · Internal signals for variants
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS38 items; url-policy-v1 profile defined in docs/url-policy-evidence.md.
Evidence
Prior plan, original bytes and SHA-256, dates/context, atomic observations, reasoned human review bound to the entire dossier. Kinds: sitemap, html, crawl, content, intent.
Method
Read the selected complete native urlset and every planned link source. Require the preference in that sitemap, no nonpreferred variant in sitemap/links, and equivalence/scope review.
Acceptance criteria
Sitemap and scoped links agree with the preference; disagreement or merging distinct pages fails. Zero links remains an observation of the complete supplied corpus.
When the result remains inconclusive
XML index, truncated file, missing link source, ambiguous population/review: inconclusive; no global absence inferred.
Non-applicability
No atomic exemption in this profile. Empty population or absent evidence: NT, never automatic NA.
Assumptions
Supplied population and provenance; review assumes scope sufficiency and business judgment. Content, imported verdicts or hashes never prove authenticity.
Limitations
Bounded offline reading, without collection, browser execution, generated human judgment or real audit. Reviewed source scope only; no site completeness, indexing, ranking or causality inferred.
TS39 · 3 rules
The CDN, Vary and geolocation do not serve contradictory SEO signals.
Delivery varying by region, cache, device or negotiation.
Evidence to gather
Configuration, prior matrix, native HTTP, rendered states or positive exemptions, bound reviews and cache journals where tested. Googlebot access policy is qualified separately from test-client requests; no actual visit inferred.
First bounded profile with one canonical member per cell and reuse without transformation. Supplied reviews, sources, regions, clocks and logs are not authenticated; no general cache simulation. Two points do not cover all POPs/routes, and C does not establish actual Googlebot access.
Control method and criteria
Method
Declare and review matrix, configuration and policy before collection; compare native signals, content and access per cell; qualify contexts and cache reuse through bound evidence under delivery-evidence-v1.
Acceptance criteria
All three rules pass over declared cells: reviewed policy, consistent signals and attributed mechanisms; legitimate variations, independent defects and unqualified cells remain distinct.
Non-applicability
Configuration attests to the absence of variation mechanisms.
Detailed rules
TS39-A01 · Reviewed prior matrix and configuration
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Delivery varying by region, cache, device or negotiation.
Evidence
Configuration, prior matrix, native HTTP, rendered states or positive exemptions, bound reviews and cache journals where tested. Googlebot access policy is qualified separately from test-client requests; no actual visit inferred.
Method
Check window, cells, mechanisms, retained configuration and bound prior review, including representativeness and Googlebot access policy.
Acceptance criteria
Configuration and matrix qualified by supported review; documented rejection = fail.
When the result remains inconclusive
Missing, late or unbound configuration/review; unqualified matrix minimum or mechanism.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied intent, context and source/review qualifications; their truth remains to verify.
Limitations
First bounded profile with one canonical member per cell and reuse without transformation. Supplied reviews, sources, regions, clocks and logs are not authenticated; no general cache simulation. Two points do not cover all POPs/routes, and C does not establish actual Googlebot access.
TS39-A02 · Signal consistency in each context
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Delivery varying by region, cache, device or negotiation.
Evidence
Configuration, prior matrix, native HTTP, rendered states or positive exemptions, bound reviews and cache journals where tested. Googlebot access policy is qualified separately from test-client requests; no actual visit inferred.
Method
Compare status/final URL, recalculate TS07-A01/A02/A03 and TS10-A01, then compare language/content/accessibility through bound reviews; retain each unknown.
Acceptance criteria
All cells follow policy; positive rendering exemption retained. Any attributable contradiction fails despite other unknowns.
When the result remains inconclusive
Missing cell, source, rendering, review or profile; incomplete body, unbound context or unknown semantics.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied intent, context and source/review qualifications; their truth remains to verify.
Limitations
First bounded profile with one canonical member per cell and reuse without transformation. Supplied reviews, sources, regions, clocks and logs are not authenticated; no general cache simulation. Two points do not cover all POPs/routes, and C does not establish actual Googlebot access.
TS39-A03 · Context and cache attribution
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Delivery varying by region, cache, device or negotiation.
Evidence
Configuration, prior matrix, native HTTP, rendered states or positive exemptions, bound reviews and cache journals where tested. Googlebot access policy is qualified separately from test-client requests; no actual visit inferred.
Method
Qualify contexts/mechanisms through bound sources; for cache, link stored entry, served request, layer, clock, Vary and freshness review.
Acceptance criteria
Consistent attribution and policy over all cells/checks; attributed reuse incompatible with Vary or policy fails. A test is not an operator visit.
When the result remains inconclusive
Unqualified region, source, journal, linkage or freshness; Age/HIT, User-Agent, sequence or ETag alone are insufficient.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied intent, context and source/review qualifications; their truth remains to verify.
Limitations
First bounded profile with one canonical member per cell and reuse without transformation. Supplied reviews, sources, regions, clocks and logs are not authenticated; no general cache simulation. Two points do not cover all POPs/routes, and C does not establish actual Googlebot access.
TS40 · 2 rules
The hreflang methods in use are complete and consistent.
Clusters using at least one hreflang method.
Evidence to gather
Equivalent reciprocal clusters; when sitemaps are used, valid xhtml namespace and entries per URL.
Combining HTML, headers and sitemaps offers no search benefit and increases divergence risk.
Control method and criteria
Method
Identify all published methods, verify clusters and compare annotations when methods coexist.
Acceptance criteria
Each used method covers the cluster; if several are published, their annotations are consistent; no single-method requirement is imposed.
Non-applicability
No hreflang annotations in scope.
Detailed rules
TS40-A01 · Independent completeness of published methods
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS40 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: hreflang, intent. Conditional native evidence follows declared methods.
Method
Inventory methods before capture; read every method/page independently and check the complete expected group including self-reference. A secondary method does not complete a partial primary one.
Acceptance criteria
Each complete method contains the expected mappings. Demonstrated omission on a complete surface or a conflicting destination fails; one chosen method is allowed.
When the result remains inconclusive
Missing capture/method, truncated/index XML, published method omitted from plan, outside-group mapping or absent review: inconclusive.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS40-A02 · Consistency across methods and cluster pages
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Explicitly selected TS40 families or clusters; indexing-locale-v1, docs/indexing-locale-evidence.md.
Evidence
Prior plan, exact originals, fingerprints, dates/context, observations and reasoned review bound to the whole dossier. Minimum kinds: hreflang, intent. Conditional native evidence follows declared methods.
Method
Compare qualified mappings across methods/pages without merging their sets. Retain independent destination conflicts even when a third method is missing; compare set equality when both are complete.
Acceptance criteria
Complete methods and pages agree. One complete method is allowed. A native conflict or differing complete sets fails.
When the result remains inconclusive
Comparison without a qualified surface, partial capture, missing method or absent review: inconclusive unless an independent contradiction is established.
Non-applicability
No atomic exemption. Empty population, unassessed Google or an unobserved cluster remains NT in this profile.
Assumptions
Supplied unauthenticated scope, provenance, segmentation and reviews. Two static HTML hypotheses are not two navigations. Frozen codes do not predict engine processing.
Limitations
Offline reading of supplied evidence; no authenticated Google origin, human identity or crawler visit; no current index state, causality, translation quality, targeting or global conformity established.
TS41 · 3 rules
Critical SEO invariants are replayed automatically before and after deployment.
Deployments subject to project-defined SEO invariants.
Evidence to gather
Bound plan/reviews, identified command/environment, native input/output receipts, process exit codes, JSONL journal and artifacts around application.
First strict native TSEP profile without overrides; supplied commands are never executed. Reviews, completeness, clocks and runner are supplied, not authenticated. C qualifies the declared process, not global SEO health, causality or remote CI.
Control method and criteria
Method
Fix the population, matrix and policy before attempts; replay native inputs/outputs, bound events and negative rehearsal under release-invariants-v1.
Acceptance criteria
Reviewed representative plan, covered executions and correct failure/unknown handling; all three rules pass. A correctly blocked SEO defect stays visible without failing the process.
Non-applicability
No relevant deployment or pipeline within the scope and period.
Detailed rules
TS41-A01 · Prior plan and representativeness
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Deployments subject to project-defined SEO invariants.
Evidence
Bound plan/reviews, identified command/environment, native input/output receipts, process exit codes, JSONL journal and artifacts around application.
Method
Check the window, attempts, matrix, strict policy and bound representativeness review before the window.
Acceptance criteria
Complete plan and supported review; explicit bound rejection = fail.
When the result remains inconclusive
Missing, unbound, late or incomplete plan/review; unsupported profile, threshold or scope.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied population, comparable context, artifact identities and reviews; their truth remains to qualify.
Limitations
First strict native TSEP profile without overrides; supplied commands are never executed. Reviews, completeness, clocks and runner are supplied, not authenticated. C qualifies the declared process, not global SEO health, causality or remote CI.
TS41-A02 · Execution coverage and output fidelity
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Deployments subject to project-defined SEO invariants.
Evidence
Bound plan/reviews, identified command/environment, native input/output receipts, process exit codes, JSONL journal and artifacts around application.
Method
Recalculate retained inputs; check matrix, artifacts, command, triggers and chronology without executing argv.
Acceptance criteria
Exact population and faithful outputs including retained unknowns; conclusive binding or output contradiction = fail.
When the result remains inconclusive
Missing receipt, cell, review, event or runtime; ambiguous journal, extra execution or differing inconclusive recalculation.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied population, comparable context, artifact identities and reviews; their truth remains to qualify.
Limitations
First strict native TSEP profile without overrides; supplied commands are never executed. Reviews, completeness, clocks and runner are supplied, not authenticated. C qualifies the declared process, not global SEO health, causality or remote CI.
TS41-A03 · Negative rehearsal and process response
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Deployments subject to project-defined SEO invariants.
Evidence
Bound plan/reviews, identified command/environment, native input/output receipts, process exit codes, JSONL journal and artifacts around application.
Method
Check prior negative failure, distinct pass/fail/inconclusive exit codes and explicit block/apply or accept/hold event.
Acceptance criteria
Effective negative rehearsal and phase-correct responses; masked failure/unknown, wrong action or observed override = fail.
When the result remains inconclusive
Missing/unqualified rehearsal, process exit, binding or action; journal absence cannot establish a block.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied population, comparable context, artifact identities and reviews; their truth remains to qualify.
Limitations
First strict native TSEP profile without overrides; supplied commands are never executed. Reviews, completeness, clocks and runner are supplied, not authenticated. C qualifies the declared process, not global SEO health, causality or remote CI.
TS42 · 3 rules
Each automated agent is governed according to its documented purpose.
Automated agents covered by site policy.
Evidence to gather
Mechanism/purpose inventory, dated operator sources bound to reviews, owner decision and tradeoffs, captured robots policy.
Supplied scope and bounded robots profile; no automatic registry. Sources, reviews and decisions are unauthenticated; no inferred visit, real identity, operator compliance, indexing or citation.
Control method and criteria
Method
Document mappings and their review, retain the owner decision, then compare its implementation under agent-governance-v1; retain coupled purposes and unknowns.
Acceptance criteria
All three rules pass for each declared target and mechanism; qualified policy matches the accepted choice, with supplied review and responsibility.
Non-applicability
No agent policy in the declared scope, with a reason provided.
Detailed rules
TS42-A01 · Documented purposes and mechanisms
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each target URL and mechanism of the previously declared policy.
Evidence
Inputs, dates, hashes and detailed findings under docs/agent-usage-policy.md.
Method
Bind operator, actor, token, mechanism and purposes to dated UTF-8 sources; check hashes and supplied bound review.
Acceptance criteria
Every mapping has a complete, dated, bound supported review with explicit robots applicability. A bound contradiction fails.
When the result remains inconclusive
Missing, stale or ambiguous source; missing hash, binding, completeness or review.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory; declared source interpretation and personal authority, without automatic authentication.
Limitations
Supplied scope and bounded robots profile; no automatic registry. Sources, reviews and decisions are unauthenticated; no inferred visit, real identity, operator compliance, indexing or citation.
TS42-A02 · Owner decisions and tradeoffs
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each target URL and mechanism of the previously declared policy.
Evidence
Inputs, dates, hashes and detailed findings under docs/agent-usage-policy.md.
Method
Check every reasoned choice, the separate declared owner/delegate decision and its plan binding; retain any arbitration of coupled purposes.
Acceptance criteria
Each mechanism/purpose pair has a choice and reason; the owner accepts the plan and its exact tradeoffs. A bound rejection fails.
When the result remains inconclusive
Missing/undeclared author, unbound decision, inconsistent dates, incomplete choice or arbitration.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory; declared source interpretation and personal authority, without automatic authentication.
Limitations
Supplied scope and bounded robots profile; no automatic registry. Sources, reviews and decisions are unauthenticated; no inferred visit, real identity, operator compliance, indexing or citation.
TS42-A03 · Captured policy and effective choice
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each target URL and mechanism of the previously declared policy.
Evidence
Inputs, dates, hashes and detailed findings under docs/agent-usage-policy.md.
Method
Group tokens case-insensitively, qualify mappings and compare Allow/Disallow with the effective choice; retain reading, tradeoffs, contradictions and unknowns.
Acceptance criteria
For each qualified group, the attributable client robots 200 policy matches the accepted choice. Any independent contradiction fails.
When the result remains inconclusive
Opposing purposes without arbitration, unsupported mechanism, ignored field or missing HTTP/source/decision evidence; other robots profiles unqualified.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory; declared source interpretation and personal authority, without automatic authentication.
Limitations
Supplied scope and bounded robots profile; no automatic registry. Sources, reviews and decisions are unauthenticated; no inferred visit, real identity, operator compliance, indexing or citation.
TS43 · 3 rules
Access for authorized crawlers is tested with the full user-agent string and reconciled with logs.
Access-policy tests for declared agents.
Evidence to gather
Prior plan, reviewed full User-Agent, raw HTTP, native JSONL logs, bound supplied reviews, command/receipt and identity qualification.
First profile: assessor-initiated test client; no actual visit, identity, security or operator access inferred. Sources, logs, reviews and receipt are unauthenticated.
Control method and criteria
Method
Declare operator access separately from test-client treatment; compare its full chain, reconcile logs and qualify its origin honestly under agent-access-v1.
Acceptance criteria
All three rules pass for the declared test scope, with planned response, qualified correlation and explicitly unverified operator identity; an intended denial can conform.
Non-applicability
No agent to test in the declared policy.
Detailed rules
TS43-A01 · Full client and expected treatment
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each URL and HTTP client within the previously declared test scope.
Evidence
Evidence, dates, bindings and observations under docs/agent-access-evidence.md.
Method
Read sources and bound review; check the dated HTTP chain then planned test-client response/body.
Acceptance criteria
Reviewed documentation and response agree with the test plan; retain independent contradictions despite other missing evidence.
When the result remains inconclusive
Missing client/source/review, incomplete chain, absent test expectation or required body reference.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied sources, context, log quality and reviews; test scope limited to its client.
Limitations
First profile: assessor-initiated test client; no actual visit, identity, security or operator access inferred. Sources, logs, reviews and receipt are unauthenticated.
TS43-A02 · Chain reconciled with logs
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each URL and HTTP client within the previously declared test scope.
Evidence
Evidence, dates, bindings and observations under docs/agent-access-evidence.md.
Method
Check export and layer/ID/cache/clock review, then identify each unique in-window line before literal comparison.
Acceptance criteria
Every hop has an attributed record with matching method, URL, client and status; any qualified difference fails despite another missing hop.
When the result remains inconclusive
Missing logs, client-supplied/reused ID, duplicate, other layer, unknown format or insufficient window/review.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied sources, context, log quality and reviews; test scope limited to its client.
Limitations
First profile: assessor-initiated test client; no actual visit, identity, security or operator access inferred. Sources, logs, reviews and receipt are unauthenticated.
TS43-A03 · Test origin without invented identity
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Each URL and HTTP client within the previously declared test scope.
Evidence
Evidence, dates, bindings and observations under docs/agent-access-evidence.md.
Method
Check bound execution receipt and supplied attribution; distinguish assessor test from an operator visit.
Acceptance criteria
Assessor-test origin, not-verified operator identity and no real-visit claim; any bound contrary claim fails.
When the result remains inconclusive
Missing receipt/command/attribution, inconsistent dates, absent binding or ambiguous identity status.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied sources, context, log quality and reviews; test scope limited to its client.
Limitations
First profile: assessor-initiated test client; no actual visit, identity, security or operator access inferred. Sources, logs, reviews and receipt are unauthenticated.
TS44 · 3 rules
Critical content and evidence remain accessible without undocumented JavaScript execution.
Content intended for declared automated consumers.
Evidence to gather
Prior plan/review, complete HTTP chains, raw HTML/JSON, attributed rendered tree and bound context reviews.
First bounded HTML/JSON profile, optional Node and supplied rendered evidence; no authenticated CSS visibility, truth, reviewer identity, ingestion or citation. Authored DOM explicitly synthetic.
Control method and criteria
Method
Declare critical facts and paths before collection; verify no-JS access, values and exact representation reviews under critical-content-nojs-v1.
Acceptance criteria
All three rules pass for the no-JavaScript reference client, with qualified delivery, coherent values and bound reviews; no actual consumption inferred.
Non-applicability
No content intended for these consumers in scope.
Detailed rules
TS44-A01 · Prior critical scope
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Content intended for declared automated consumers.
Evidence
Prior plan/review, complete HTTP chains, raw HTML/JSON, attributed rendered tree and bound context reviews.
Method
Check inventory, no-JS client, planned states/resources and bound review predating captures.
Acceptance criteria
Complete scope supported by review; bound rejection = fail.
When the result remains inconclusive
Missing, late, unbound or incomplete plan/review, or different reference capability.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory, expected references, context and reviews; scope fixed before capture, unauthenticated evidence.
Limitations
First bounded HTML/JSON profile, optional Node and supplied rendered evidence; no authenticated CSS visibility, truth, reviewer identity, ingestion or citation. Authored DOM explicitly synthetic.
TS44-A02 · Delivery path without JavaScript
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Content intended for declared automated consumers.
Evidence
Prior plan/review, complete HTTP chains, raw HTML/JSON, attributed rendered tree and bound context reviews.
Method
Check the prior path, explicit resource link if needed, anonymous HTTP and all critical elements.
Acceptance criteria
Expected destination/response and present elements; any qualified denial, wrong path or absence fails.
When the result remains inconclusive
Missing capture, unsupported format/runtime/link/context or incomplete unqualified reading.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory, expected references, context and reviews; scope fixed before capture, unauthenticated evidence.
Limitations
First bounded HTML/JSON profile, optional Node and supplied rendered evidence; no authenticated CSS visibility, truth, reviewer identity, ingestion or citation. Authored DOM explicitly synthetic.
TS44-A03 · Value and context coherence
Protocol assessment mode : assisted, with supplied evidence and declarations. App availability is shown on the control card.
Scope
Content intended for declared automated consumers.
Evidence
Prior plan/review, complete HTTP chains, raw HTML/JSON, attributed rendered tree and bound context reviews.
Method
Compare qualified values from each representation/rendered state to the plan; review whole critical context with representation-specific bindings.
Acceptance criteria
Coherent values and reviews; qualified contradiction retained despite other missing evidence.
When the result remains inconclusive
Missing/unknown review, rendering, value or attribution; unplanned supplied state or unsupported context.
Non-applicability
No automatic atomic exemption.
Assumptions
Supplied inventory, expected references, context and reviews; scope fixed before capture, unauthenticated evidence.
Limitations
First bounded HTML/JSON profile, optional Node and supplied rendered evidence; no authenticated CSS visibility, truth, reviewer identity, ingestion or citation. Authored DOM explicitly synthetic.
Exchange format and adapters
Imports use TSEP captures v1 or v2: input_version, rules, targets. Every requested control must include all its rules. Source bodies, hashes, context and reviews remain bound under their reader contract.
The beta accepts 8 MiB and 10 targets per assessment. Incomplete or inconsistent files remain flagged; the app does not fill in evidence.
Format captures / Captures format
Adapter39: TS18 original graph/inventory intake, no repaired hashes or generated reviews. Nested and prior supplied originals coexist. [Contract](graph-reconciliation-evidence.md). Current / Actuel : draft.23, interpreter 23, adapter 24, HTML 7, replay 3. TS43: [test client and log evidence / client de test et journaux](agent-access-evidence.md), supplied reviews and unverified operator identity. Historical / Historique : draft.22, interpreter 22, adapter 23, HTML 6, replay 3. TS42: [usage policy / usages agents](agent-usage-policy.md), explicit synthetic provenance and retained source/decision evidence. Historical / Historique : draft.21, interpreter 21, adapter 22, replay 3. [Performance imports / Imports de performance](performance-evidence.md) add TS34/TS35. The versioned descriptions below are historical; see [current coverage](control-implementation-status.md). Les descriptions versionnées ci-dessous sont historiques ; voir la couverture actuelle. # Offline captures → evidence bundle / Captures locales → paquet de preuves ## Français Version courante : interpréteur 5 / adaptateur 6, [styles SVG bornés](source-text-v5.md) ; [collecteur 6](diagnostic-campaign.md), draft.7 inchangé. `adapters/captures.py` version 6 transforme un fichier de captures fourni en un rapport TSEP draft.7, ses preuves, sa décision et son export EARL. Il appelle l’interpréteur de référence existant et calcule les résultats depuis les entrées brutes. Il ne lit pas les verdicts attendus du corpus. Ce composant interne ne constitue pas une implémentation indépendante. Son format de paquet reste en version 1 ; l’évaluation suit la [migration normative draft.7](migration-draft.7.md). Depuis la version 3, l’interpréteur étend la [couverture binaire et gzip/deflate](guided-capture.md), sans changer le contrat. Les deux versions d’outil figurent dans `import.json`. La version 4 vérifie aussi l’origine des modules locaux chargés et leurs empreintes avant/après interprétation. Voir la [migration des outils](guided-capture.md) ; aucune authentification de l’exécution Python n’est revendiquée. Un [rapport HTML autonome](html-report.md) peut présenter le paquet et comparer deux évaluations conservées. La migration vers **interpréteur 4 / adaptateur 5 / collecteur 3** est décrite dans [Texte source v4](source-text-v4.md). Elle conserve draft.7, l’entrée binaire 2 et les captures originales ; réévaluer crée un nouveau paquet, pas un remplacement. Les empreintes des dépendances HTML de Python sont enregistrées. Un rejeu compare les résultats et signale séparément une différence d’environnement Python. ### Premier paquet Depuis la racine du dépôt, avec Python 3.9+ et un dossier de destination **nouveau** : ```sh python3 adapters/captures.py examples/captures/ts01-markers.json \ --output-dir /tmp/tsep-capture-ts01 --assessor 'Synthetic demo author' \ --label 'One synthetic URL' --selection-method 'Supplied synthetic fixture only' \ --access synthetic --mode automatic --lang fr python3 tsep.py validate /tmp/tsep-capture-ts01/report.json python3 tsep.py gate /tmp/tsep-capture-ts01/report.json --summary --lang fr ``` Résultat : TS01 C, `GO_WITH_RESERVATIONS`, **1 contrôle sur 44 et une cible synthétique**. L’intention et les marqueurs précèdent la capture fictive. Ce C est limité à cette cible et aux deux règles de TS01. Un second exemple démontre volontairement une couverture insuffisante : ```sh python3 adapters/captures.py examples/captures/ts07-source-only.json \ --output-dir /tmp/tsep-capture-ts07 --assessor 'Synthetic demo author' \ --label 'Source captures only' --selection-method 'Supplied synthetic fixture only' \ --access synthetic --mode semiAuto --lang fr python3 tsep.py gate /tmp/tsep-capture-ts07/report.json --summary --lang fr ``` TS07-A01/A02 passent, mais A03 est omise : **TS07 NT, NO_GO**, et `gate` retourne 1. L’adaptateur retourne 0 lorsque la conversion est valide, y compris pour NO_GO ; utiliser `tsep.py gate` pour le code de décision. Une conversion invalide retourne 64, une syntaxe CLI invalide 2. `--json` affiche le résumé structuré au lieu du résumé lisible ; `--lang en` sélectionne l’anglais. `examples/captures/ts10-family.json` couvre les quatre règles TS10 ; employer `--mode manual`. Sa revue humaine et ses captures sont **synthétiques**, déjà fournies. La sortie est C sur TS10 seulement. Les trois entrées sont des dérivés contrôlés du corpus, régénérés par `examples/replay.py` et vérifiés sans modifier les sources par `scripts/verify.py`. ### Entrée et périmètre L’objet JSON contient exactement `input_version: "1"` ou `"2"`, `rules` et `targets`, selon le [format d’entrée](conformance.md), le [plan source/DOM](rendered-states.md) et les [familles canoniques](canonical-families.md). Choisir explicitement les règles parmi TS01-A01/A02, TS07-A01/A02/A03 et TS10-A01 à A04. Fournir les échanges HTTP complets par saut, HTML et robots.txt bruts, intention préalable, contexte et les revues/captures supplémentaires requises. Les CRLF et champs répétés restent dans les chaînes d’origine. Un objet de cas avec `expected` est refusé. L’outil accepte un fichier UTF-8 d’au plus 8 Mio et 1 à 100 cibles HTTP(S) distinctes ; aucune lecture d’une URL ou d’un chemin contenu dans le JSON. Les clés dupliquées, valeurs JSON non finies, URLs invalides et règles inconnues sont refusées. Les entrées structurellement mal formées peuvent être refusées ; une preuve incomplète ou hors du sous-ensemble interprété reste inconclusive. Le rapport est `custom` et sélectionne par défaut les parents des règles demandées. `--controls TS01,TS07` peut ajouter des contrôles, qui restent NT et not-started si aucune règle n’est demandée. Aucun parent demandé ne peut être omis. `--exclude` est répétable. `--assessor`, `--label`, `--selection-method` et `--access public|restricted|synthetic` sont obligatoires ; l’outil ne devine ni l’échantillonnage ni la confidentialité et ne masque pas les données fournies. `--mode` vaut manual par défaut. Un C automatic exige toutes les règles du contrôle automatic, leur couverture complète et l’outil nommé/versionné. TS01 le permet ; TS07 exige au moins semiAuto et TS10 manual. Les revues fournies ne sont ni fabriquées ni authentifiées par l’adaptateur. Un mode incompatible avec un C calculé est refusé avant livraison, sans changement silencieux du verdict. ### Fichiers produits et dates | Fichier | Contenu | | --- | --- | | `input.json` | Octets d’origine exacts, conservés comme preuve | | `import.json` | Version de l’outil/protocole, empreintes du code et de l’entrée, date d’import, accès et règles demandées/omises par contrôle | | `assessment.json` | Résultats calculés par règle/cible, avant rattachement des preuves | | `evidence/target-N-KIND.json` | Champs fournis, séparés par cible et type, avec base de datation explicite | | `report.json` | Rapport format 2 validé, preuves relatives et SHA-256 | | `gate.json` | Décision, causes bloquantes NC/NT et couverture déclarée | | `earl.jsonld` | Assertions du contrôle et de chaque résultat atomique | | `SHA256SUMS` | Empreinte de chaque fichier livré, sauf le manifeste lui-même | Les types dérivés correspondent aux champs effectivement fournis : intention et revues, HTTP, source HTML, robots, rendu, sitemaps et crawl. Pour une ressource non HTML, la preuve `html` conserve les réponses et leur type média explicite, conformément au contrat ; elle n’invente pas de document HTML. Aucun DOM absent, aucune revue ou preuve d’absence n’est créé. Les preuves communes sont rattachées à toutes les cibles ; les extraits d’une cible ne servent pas de preuve à une autre. Chaque extrait conserve les dates originales. Sa date d’artefact est la plus récente des dates fournies, avec la date de cible pour les champs non datés ; `date_basis` précise cette convention d’agrégation. Si une date manque ou est invalide, l’artefact est daté **à l’import seulement**, explicitement, sans réparer la capture. Le calcul garde ses inconnues. Toute date fournie valide située dans le futur est refusée. La date d’import des fichiers d’origine et de calcul ne prouve pas une date de collecte ; aucune date déclarée n’est authentifiée. Le paquet est validé dans un dossier temporaire avant création de la destination. Un dossier, fichier ou lien existant n’est jamais remplacé. Le parent doit déjà exister. Une erreur de copie retire le nouveau dossier partiellement écrit. Déplacer le paquet complet conserve ses chemins de preuve relatifs. La date d’import fait varier les octets de deux imports ; seuls les résultats calculés sur une entrée et une version identiques sont reproductibles. ### Limites et validation Une règle en échec conserve NC même si d’autres manquent. C nécessite toutes les règles et toutes les cibles requises, au moins un pass, aucune inconnue ni aucun fail ; des exemptions seules ne justifient pas NA au niveau du contrôle. Les règles non demandées restent omises et visibles dans `import.json`, sans fausse assertion d’exécution. La politique de décision reste inchangée en draft.7. Les limites de l’interpréteur restent celles de la [conformance](conformance.md) : pas de collecte, exécution JavaScript, observation moteur ou conformité globale. Les attendus normatifs du corpus ne sont jamais substitués aux résultats calculés. La recette convertit toutes les entrées brutes du corpus et vérifie intégrité, portabilité, limites de modes, inconnues, échecs, non-écrasement et erreurs de copie. Ce contrôle du parcours ne constitue pas une seconde interprétation normative. ## English Historical: interpreter 5 / adapter 6, [bounded SVG styles](source-text-v5.md); [collector 6](diagnostic-campaign.md), draft.7 unchanged. Interpreter 4 / adapter 5 / collector 3 migration is documented in [Source text v4](source-text-v4.md). Draft.7, binary input 2 and original captures are preserved; re-evaluation creates a new bundle. Selected Python HTML dependency hashes are recorded. Replay compares results and separately discloses a Python runtime difference. `adapters/captures.py` version 6 converts supplied offline captures into a TSEP draft.7 report, evidence, decision and EARL export. It uses the existing bounded reference interpreter and computes outcomes from raw input, without reading conformance expectations. This internal component is neither an independent implementation. Its bundle format remains version 1; assessment follows the [draft.7 normative migration](migration-draft.7.md). Since version 3 the interpreter extends [binary and gzip/deflate coverage](guided-capture.md), without changing the contract. Both tool versions appear in `import.json`. Version 4 also checks loaded local module origins and fingerprints before/after interpretation. See the [tool migration](guided-capture.md); this does not authenticate Python execution. A [standalone HTML report](html-report.md) can present the bundle and compare two retained assessments. ### First bundle Run the commands above from the repository root with Python 3.9+, choosing a **new** output directory and `--lang en` for the English summary. The TS01 sample produces C and `GO_WITH_RESERVATIONS` on **1 control out of 44, one synthetic target**. Prior intent and markers are supplied. The TS07 source-only sample has passing A01/A02 but omits A03: **NT, NO_GO**. `tsep.py gate` deliberately exits 1. Successful conversion exits 0 even for NO_GO; run `tsep.py gate` for the decision exit code. Invalid conversion exits 64; malformed CLI syntax exits 2. `--json` selects the structured summary. `examples/captures/ts10-family.json` covers all four TS10 rules using `--mode manual`, with supplied **synthetic** human review and captures, yielding C for TS10 only. The three raw examples are controlled corpus derivatives, regenerated by `examples/replay.py` and checked without source changes by `scripts/verify.py`. ### Input and scope The JSON object contains exactly `input_version: "1"` or `"2"`, `rules` and `targets` in the [input format](conformance.md), [source/DOM plan](rendered-states.md) and [canonical family format](canonical-families.md). Explicitly select rules from TS01-A01/A02, TS07-A01/A02/A03 and TS10-A01 through A04. Supply complete HTTP exchanges per hop, raw HTML/robots.txt, prior intent, context and required additional captures/reviews. Original strings retain CRLF and repeated headers. Case wrappers with `expected` are rejected. The UTF-8 input file is limited to 8 MiB and 1–100 distinct HTTP(S) targets; no URL or file path inside the input is fetched. Duplicate JSON keys, nonfinite values, invalid URLs and unknown rules are rejected. Structurally malformed inputs may be rejected; incomplete or unsupported evidence remains inconclusive. The `custom` report selects requested rules' parents by default. Optional `--controls TS01,TS07` can add controls, left NT/not-started if no rule is requested, and cannot omit requested parents. Repeat `--exclude` as needed. `--assessor`, `--label`, `--selection-method` and `--access public|restricted|synthetic` are required: sampling and confidentiality are not inferred, and data is not redacted. `--mode` defaults to manual. Automatic C requires every control rule automatic, complete coverage and tool name/version. TS01 permits it; TS07 requires at least semiAuto and TS10 manual. Supplied reviews are not created or authenticated by the adapter. A mode incompatible with computed C is rejected before delivery, without silently changing the verdict. ### Output and dates `input.json` retains the exact original bytes. `import.json` records tool/protocol versions, code/input hashes, import time, access and requested/omitted rules per control. `assessment.json` contains computed rule/target results before evidence linking. `evidence/target-N-KIND.json` retains supplied fields per target/type with an explicit date basis. `report.json` is validated format 2 with relative paths and SHA-256; `gate.json` records decision, NC/NT blockers and coverage; `earl.jsonld` contains control and atomic assertions. `SHA256SUMS` covers every delivered file except itself. Derived types match supplied intent/reviews, HTTP, HTML source, robots, rendering, sitemaps and crawl fields. For non-HTML, the contract's `html` evidence retains responses with their explicit media types without inventing HTML. Missing DOM, reviews or absence evidence are never created. Shared evidence covers all targets; target extracts never become another target's evidence. Original dates remain in each extract. Its artifact date is the latest supplied date, using the target observation date for undated fields; `date_basis` states this aggregation convention. Missing/invalid dates give an explicitly **import-time-only** artifact date, without repairing capture data or changing unknown outcomes. Any valid supplied future date is rejected. Original-input and computed-result artifact dates indicate import, not collection. No declared date is authenticated. Validation runs in staging before creating the destination. Existing files, directories or links are never replaced; the parent must exist. A copy failure removes the newly created partial directory. Moving the entire bundle preserves relative evidence paths. Import time changes bytes across imports; computed outcomes are reproducible for identical input and code versions. ### Limits and verification A failure preserves NC despite missing rules. C requires every required rule and target, at least one pass, no fail or unknown. All-exempt atoms alone cannot establish whole-control NA. Omitted rules remain visible in `import.json` without invented execution assertions. Decision policy remains unchanged in draft.7. The [reference limits](conformance.md) still apply: no collection, JavaScript execution, engine observation or global conformity. Normative corpus expectations never replace computed outcomes. Tests convert every raw corpus input and verify integrity, portability, mode constraints, unknowns, failures, non-overwrite and copy failures. These workflow checks are not a second normative interpretation.
Dossiers de preuves / Evidence dossiers
# Supplied evidence dossier v1 / Dossier de preuves fourni v1
Normative for the new rules that explicitly select this profile, from
0.3.0-draft.2. Existing readers and rules are unchanged.
Normatif uniquement pour les nouvelles règles sélectionnant ce profil, dès
0.3.0-draft.2. Les lecteurs et règles existants restent inchangés.
## Français
Une cible porte `url`, `observed_at`, `context` (id, tool, tool_version, bounds),
`intent.declared_at`, le client HTTP exact `intent.crawler` et les plans sous
`intent.evidence_checks[TSxx]`. Un plan possède reader, scope_reason et 1–32 items
avec id unique (128 octets maximum). Les pièces se trouvent sous
`evidence_checks[TSxx]` : synthetic booléen explicite, records, documents et reviews
(trois listes requises, 128 éléments maximum chacune). La taille du dossier est
bornée à 8 Mio. Aucune découverte implicite, interprétation de verdict importé,
collecte ni exécution de commande présente dans une pièce.
Un record contient id, kind, observed_at, context_id, native. Ce dernier a exactement
raw_base64, sha256, encoding, complete : base64 canonique des octets originaux,
SHA-256 exact, encoding identity, complete true pour une interprétation positive.
Le lecteur d'intégrité historique des fichiers sitemap est réutilisé sans changer
son comportement. Un original présent corrompu est un refus technique, distinct
de NT. Un record absent, incomplet, compressé ou dépassant 1 Mio est indéterminé.
Le JSON est UTF-8, avec format explicite ; clés dupliquées et nombres non finis
sont refusés par la lecture, sans réparation ni conclusion d'absence.
Un document contient url, observed_at, context_id et http : 1–12 échanges natifs
au format historique. Le lecteur HTTP existant contrôle requête, client, réponse,
complétude, URL et redirections. Le corps utilisé est limité à 1 Mio. La lecture
HTML source réutilise le sous-ensemble strict historique `canonical.html` ; elle
n'émule pas un navigateur et ne récupère pas les contextes non pris en charge.
Les originaux restent conservés même lorsqu'ils ne sont pas interprétables.
Toutes les pièces portent le même context_id que la cible et sont datées entre
la déclaration du plan et l'évaluation. Les dates sont fournies, non authentifiées.
Une review identifie subject=`TSxx-Ayy:item_id`, reviewer, reason, judgment
(supported ou contradicted), reviewed_at, provenance et binding_sha256. Elle est
bornée à 32 Kio ; reviewer/reason sont non blancs et limités à 8 192 octets UTF-8.
Sa date suit **toutes** les pièces records/documents liées et précède l'évaluation.
Provenance vaut synthetic-exercise pour un dossier synthétique, sinon human ou
human-assisted. Aucune revue produite par le lecteur.
L'empreinte de revue est SHA-256 du JSON UTF-8 canonique (clés triées,
ensure_ascii=false, séparateurs virgule/deux-points sans espaces, nombres finis)
de `{target:url, observed_at, intent, context, control:TSxx, evidence:dossier_sans_reviews}`.
Les empreintes lient les pièces sans authentifier acquisition, dates, contenu ou
identité humaine. Une revue contradictoire ne produit fail que si ses préalables
natifs sont qualifiés ; elle ne résout pas une preuve manquante. Une contradiction
native indépendante survit aux autres inconnues.
Pour une règle : tout fail qualifié entraîne fail ; sinon toute inconnue ou
population vide entraîne inconclusive ; sinon pass. Aucune NA atomique. Le rapport
exige toutes les règles/cibles avant C, préserve NC malgré les lacunes et produit
NT pour les preuves insuffisantes. Il garde les types réellement fournis, sans
inventer une preuve absente. Les documents sources peuvent servir de contenu ou
de corpus de liens explicitement étiqueté ; cela ne prétend pas à un crawl réel.
Le transport refuse de réétiqueter un dossier ou une revue synthétique comme réel.
## English
A target supplies url, observed_at, context (id, tool, tool_version, bounds),
intent.declared_at, exact HTTP intent.crawler and plans under
intent.evidence_checks[TSxx]. Each plan has reader, scope_reason and1–32 items with
unique IDs of at most128 bytes. Evidence lives under evidence_checks[TSxx]: explicit
boolean synthetic plus required records, documents and reviews lists, each bounded
to128 entries. Dossiers are limited to8MiB. No implicit discovery, acceptance of
imported verdicts, collection or execution of commands found in evidence.
Records contain id, kind, observed_at, context_id and native. The latter has exactly
raw_base64, sha256, encoding, complete: canonical original-byte base64, exact SHA-256,
identity encoding and complete=true for positive interpretation. The unchanged
historical sitemap original-byte integrity reader is reused. A corrupt present
original is a technical refusal, distinct from NT. Missing, incomplete, compressed
or over1MiB evidence is inconclusive. JSON must be UTF-8 with an explicit format;
duplicate keys and nonfinite values cannot be repaired into an absence conclusion.
Documents contain url, observed_at, context_id and1–12 historical native HTTP
exchanges. The existing HTTP reader checks request/client/response/completeness/URL
and redirects. Used body is bounded to1MiB. Source HTML reuses strict historical
canonical.html; it does not emulate a browser or recover unsupported contexts.
Originals remain retained even when uninterpretable.
Every record/document shares the target context_id and is dated between prior
plan declaration and assessment. Supplied dates are not authenticated. Reviews
contain subject=TSxx-Ayy:item_id, reviewer, reason, judgment (supported/contradicted),
reviewed_at, provenance and binding_sha256. Reviews are bounded to32KiB, reviewer
and reason to8192 nonblank UTF-8 bytes each. Review date follows **all** bound
records/documents and precedes assessment. Provenance is synthetic-exercise for
synthetic dossiers, otherwise human/human-assisted. No reviewer judgment is generated.
The review fingerprint is SHA-256 of canonical UTF-8 JSON (sorted keys,
ensure_ascii=false, compact comma/colon separators, finite numbers) for
{target:url, observed_at, intent, context, control:TSxx, evidence:dossier_without_reviews}.
Hashes bind evidence without authenticating acquisition, dates, content or humans.
A contradictory review yields fail only with qualified native prerequisites;
it cannot resolve missing evidence. Independent native failures survive other gaps.
Any qualified fail dominates; otherwise any unknown or empty population is
inconclusive; otherwise pass. No atomic NA. Reports require all rule/target pairs
for C, retain NC despite gaps and use NT for insufficient evidence. Export keeps
actually supplied evidence kinds and never creates missing proof. Source documents
may form explicitly labeled content or internal-link corpora without claiming a
real crawl. Transport refuses relabeling synthetic dossiers/reviews as real.
Search Console
# TS08 intake 2 — integrity / intégrité ## Français L'importeur CLI `adapters/inspection_intake.py` passe à la version **2**. Le protocole draft.33, le lecteur TS08 et ses trois règles ne changent pas. Il s'agit d'une vérification du dossier d'import, pas d'une nouvelle définition de C/NC/NT. La version 1 vérifiait les entrées présentes dans `intake.files`, mais ne rendait pas obligatoire celle d'`input.json`. Elle comparait également la liaison de la revue à `intake.input_sha256` sans comparer séparément cette dernière aux octets réels de l'entrée. Deux contradictions synthétiques ont reproduit cette lacune : une entrée modifiée dont l'empreinte avait été retirée de l'inventaire, et une fausse empreinte globale identique dans le manifeste et la revue. Un rapport pouvait alors être produit malgré ces contradictions internes. Les empreintes auto-déclarées n'ont jamais authentifié l'auteur ou Google. La version 2 exige l'inventaire complet des fichiers produits par `prepare` : plan, entrée, demande de revue vide et originaux numérotés. Aucun fichier supplémentaire, lien symbolique, chemin non canonique ou empreinte autre qu'un SHA-256 hexadécimal minuscule de 64 caractères n'est admis. Les noms ont un vocabulaire ASCII exact ; alias de casse ou de normalisation Unicode refusés. Les bornes sont 16 inspections, 67 fichiers déclarés, 100 entrées parcourues, 8 Mio par fichier et 128 Mio au total. Les bornes normatives du lecteur TS08 restent applicables séparément. Chaque fichier est lu dans un tampon borné, contrôlé puis analysé depuis ce même tampon. `input_sha256` désigne les **octets bruts** d'`input.json`, pas une nouvelle sérialisation JSON. Inventaire, liaison globale, demande de revue vide et revue fournie doivent désigner ces mêmes octets. Le plan et les corps natifs doivent aussi correspondre à leurs projections dans l'entrée ; seule la date `observed_at` de préparation diffère normalement du plan. Une incohérence est un refus de construction avant toute sortie, avec code CLI 1 ; ce n'est ni NC ni NT. Une entrée cohérente avec preuves insuffisantes peut toujours produire NT. ### Migration explicite Conserver le dossier version 1 et son moteur exact. Ne pas réécrire sa version, son manifeste, ses originaux, ses revues ou son ancien rapport. `build` version 2 refuse un import version 1. Pour une nouvelle évaluation, appeler explicitement `prepare` version 2 avec le plan original et les observations conservées, vers un dossier neuf. Conserver la nouvelle demande de revue vide et fournir les revues réellement disponibles dans une copie séparée. Une revue antérieure ne peut être réutilisée que si sa portée et sa liaison aux pièces restent exactes ; ne pas inventer, antidater ou renouveler une décision pour obtenir un résultat. Une liaison différente demande une nouvelle revue effectivement fournie. La nouvelle date d'évaluation peut changer la qualification de fraîcheur ; elle ne rafraîchit ni une acquisition ni le crawl rapporté. Le rejeu d'un ancien rapport reste effectué avec son moteur exact et sa date d'observation conservée. Aucun réimport ou changement de dépendance n'est automatique. Les intégrations choisissent séparément leur archive ; ce correctif ne remplace pas leurs copies existantes. La vérification porte sur la cohérence des pièces fournies, pas leur authenticité. Un auteur capable de réécrire toutes les pièces et empreintes de façon cohérente n'est pas authentifié ou détecté par un manifeste auto-déclaré. Aucun accès réel Google, acquisition Edikka ou avis humain n'est établi par ces essais fictifs. Les résultats observés des tests sources/archive figurent dans le bilan de livraison, pas dans cette description des attentes. ## English CLI `adapters/inspection_intake.py` becomes **version 2**. Protocol draft.33, the TS08 reader and its three rules are unchanged. This verifies intake-package integrity; it does not redefine C/NC/NT. Version 1 checked entries that appeared in `intake.files` without requiring `input.json`. It compared the supplied review binding to `intake.input_sha256` without separately comparing that pointer with the actual input bytes. Two synthetic contradictions reproduced this gap: changed input omitted from the inventory, and an equally false global pointer in the manifest and review. A report could be produced despite these internal contradictions. Self-declared hashes have never authenticated the author or Google. Version 2 requires the exact generated inventory: plan, input, blank review request and numbered originals. Extra files, symlinks, noncanonical paths and digests other than 64 lowercase hexadecimal SHA-256 characters are refused. Paths use an exact ASCII vocabulary; case and Unicode-normalization aliases are unsupported. Bounds are 16 inspections, 67 listed files, 100 traversed entries, 8 MiB per file and 128 MiB total. The separate normative TS08 bounds still apply. Each payload is read once into a bounded buffer, hashed and parsed from that same buffer. `input_sha256` denotes the **raw bytes** of `input.json`, not a new JSON serialization. Inventory, global pointer, blank request and supplied review must bind those same bytes. Original plan/native bodies must match their input projections; only preparation `observed_at` normally differs from the plan. Inconsistency refuses construction before any output with CLI exit 1, not an NC or NT result. Consistent input with insufficient evidence can still produce NT. Preserve version-1 intakes, their exact tools, native files, reviews and reports. Version-2 build refuses version 1; never edit an old version marker to migrate it. Explicitly prepare a new intake from the retained original plan and observations, then supply genuinely available reviews in a separate copy of the new blank request. Reuse a prior review only when its scope and evidence binding still match; a different binding requires an actually supplied new review. Never invent, backdate or renew a decision to obtain a desired outcome. New assessment time may affect freshness qualification; it does not refresh the acquisition or crawl. Replay historical reports with their exact tools and retained observation time. No automatic reimport or dependency migration occurs; integrations select their archives separately. This fix does not replace existing copies. This checks consistency, not authenticity against an author coherently replacing every file and hash. Synthetic tests establish no actual Google/Edikka acquisition or human review. Observed source/archive verification belongs in the retained delivery evidence, not in these expected-behavior instructions.
Comparaison canonique / Canonical comparison
Version 2 — [integrity and explicit migration / intégrité et migration explicite](intake-integrity-v2.md). Preserve version-1 tools and dossiers; conserver les outils et dossiers version1.
# TS12 supplied intake / Import fourni
## Français
Le [contrat](canonical-comparison.md) définit le profil et ses limites. Ce parcours
hors ligne ne contacte ni Google ni le site, n’exécute aucun navigateur et ne
fabrique pas de revue. Node 24 explicite est nécessaire à la lecture HTML.
1. Avant acquisition, conserver un plan cible sans documents, inspection_records,
inspection_reviews ou comparison_reviews. Déclarer inspection + canonical_comparison,
contexte/client, préférences sourcées, scénarios et limites, puis fournir la
revue préalable liée à {url,intent}. Une connaissance antérieure reste déclarée.
2. Acquérir réellement les requêtes/réponses API selon [TS08](search-console-acquisition.md).
Chaque dossier contient request.json, response.json et manifest.json daté, avec
empreintes et provenance réelles. Aucun secret n’est requis dans le dossier.
Fournir séparément la liste documents en JSON : traces HTTP et états DOM structurés
de même navigation. Les outils n’inventent aucune pièce manquante.
3. Importer les fichiers exacts, puis lire input.json et review-request.json.
Ce dernier laisse auteur, dates, revendications, explication et décision vides.
Fournir une revue distincte, liée aux octets et au plan. Garder toute tentative.
4. Construire un nouveau paquet, lire synthèse/atomes/observations/preuves puis
exporter et rejouer avec les outils exacts. Une revue vide donne NT. Les erreurs
API, limites et différences restent consultables ; C qualifie le dossier.
```sh
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/comparison_intake.py prepare plan.json \
--inspection native-url-1 --documents supplied-documents.json --output prepared-new
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/comparison_intake.py build prepared-new \
--reviews supplied-reviews.json --output bundle-new --assessor 'Actual assessor'
TSEP_SOURCE_NODE=/path/to/node24 python3 tsep.py html bundle-new/report.json --lang fr --output report-fr.html
TSEP_SOURCE_NODE=/path/to/node24 python3 adapters/replay.py bundle-new --output replay-new
```
Les commandes HTML/rejeu exposent aussi --help. Le plan, les fichiers natifs et leur
empreinte sont conservés ; aucune destination existante n’est remplacée. L’import
est daté au moment réel du calcul, distinct des acquisitions. Changer les outils
exige une réévaluation distincte. Une ancienne preuve ne devient pas prospective.
Données de compte : restricted ; revues/exemples rédigés : synthetic.
Exemples livrés : examples/captures/ts12-agreement.json, ts12-divergence.json,
ts12-contradiction.json, ts12-source-only.json. Tous sont des exercices rédigés,
DOM compris ; aucune navigation navigateur ou approbation humaine réelle.
## English
The [contract](canonical-comparison.md) defines the bounded profile. This offline
workflow contacts neither Google nor the site, executes no browser and creates no
review. Explicit Node24 is needed for HTML reading. Before acquisition, retain a
target plan without documents/inspection_records/inspection_reviews/comparison_reviews,
with inspection and canonical_comparison intent, context/client, sourced preferences,
scenarios/thresholds and supplied prior review bound to {url,intent}. Disclose prior
knowledge. Acquire genuine native API request/response/manifests through the TS08
procedure and separately supply the exact JSON document list, with HTTP and structured
same-navigation DOM. No missing evidence is invented; no credentials belong in it.
Use the commands above to prepare a new intake, inspect input and blank review request,
then supply a separate genuine review and build a new bundle. Empty reviews remain NT.
Read summary/atoms/observations/evidence and replay with exact tools. Preserve attempts,
original files and hashes; existing destinations are never overwritten. Import time
is actual computation time, separate from acquisition. Changed tools require separate
reassessment; old evidence never becomes prospective. Real account data is restricted;
authored examples/reviews are synthetic. The four supplied examples include authored
DOM and establish no real browser navigation or human approval. C is documentation,
not canonical correctness, Google agreement, TS10 conformity or indexing.
Sitemaps
# TS15 — supplied sitemap files / fichiers sitemap fournis
Profile `native-sitemap-files-v1`, reader1, draft.35. Interpreter34 / adapter35 /
HTML19 / replay3. Three rules; execution and application delivery recorded separately.
44 native reader expectations,31 set expectations and4 review counterexamples were
frozen before their corresponding implementation/change. These are authored synthetic
cases, never independent validation or actual server observations.
## Français
Le résultat porte uniquement sur une **population déclarée de fichiers fournis**.
Une racine n’est pas découverte ni attribuée à robots.txt/Search Console/CMS par
le lecteur. Le nombre de fichiers, les racines et `root_discovery=not-established`
restent visibles, même pour C. Un index non fourni peut désigner d’autres fichiers ;
aucune exhaustivité des sitemaps du site n’est établie. Les URL, dates, provenance
et complétude sont déclarées, non authentifiées. Un NC désigne le fichier fourni
déclaré pour une URL, jamais une réponse du serveur observée.
L’entrée de l’adaptateur reste `input_version=2`, rules et targets. Chaque cible
contient url (première racine), observed_at, sitemap_synthetic booléen, context
(network,bounds,tool,tool_version) et intent.declared_at. intent.sitemap_files contient
reader, selection_reason non vide, window_start/end (<=24h), roots et documents.
Le plan précède la fenêtre ; celle-ci précède observed_at.1–16 URL de documents
distinctes, roots non vide/distinct/sous-ensemble ; URL absolues HTTP(S), sans
identifiants, fragment ni espaces. Comparaison exacte, sans normalisation ni requête.
`sitemap_files` contient au plus16 objets : url déclarée exacte, description,
observed_at dans la fenêtre, provenance=`synthetic-exercise` ou `supplied-native-file`,
et native={raw_base64,sha256,encoding,complete}. encoding vaut identity ou gzip,
complete est booléen, base64 est strict et canonique. SHA-256 lie l’original exact.
Le nom de fichier ne détermine pas l’encodage. Aucun original n’est recompressé.
La provenance synthétique doit correspondre à l’accès synthetic du dossier ; une
pièce fictive ne devient jamais publique par un changement d’étiquette.
L’import refuse techniquement tout original altéré, base64 invalide, encodage
inconnu ou fichier brut >5 242 880 octets. L’enveloppe JSON entière conserve sa borne
8 388 608 octets : plusieurs fichiers peuvent l’atteindre avant leur limite
individuelle. Un XML brut de50Mio est donc refusé ; un gzip fourni assez petit peut
être évalué à sa taille décompressée réelle. Refus de transport ≠ NC/NT du contrôle,
aucun rapport réussi n’est créé à la destination. Données absentes dans un dossier
intègre : inconclusive, jamais C/NA.
A01 lit UTF-8 strict sur les octets décompressés, BOM UTF-8 inclus dans la taille ;
un défaut d’encodage donne fail pour le fichier complet seulement si une lecture
secondaire bornée à65 536 octets attribue sa racine à Sitemaps0.9. Cette lecture
s’arrête au premier élément, refuse DTD/entités avant expansion et n’accepte ni
ne répare un sitemap UTF-16. RSS UTF-16, binaire ou texte sans racine attribuée :
inconclusive. Une racine urlset/sitemapindex lue normalement avec namespace erroné
reste une contradiction explicite. Une racine trop tardive reste inconnue.
Racines urlset/sitemapindex dans le namespace exact
`http://www.sitemaps.org/schemas/sitemap/0.9` ; préfixes libres. Namespace absent ou
erroné d’une de ces formes : fail. Autre format (RSS/Atom) : inconclusive.
Un élément url/sitemap direct exige un loc non vide unique, en tête, puis feuilles
ordinaires uniques et ordonnées : lastmod/changefreq/priority pour url, lastmod pour
sitemap. XML globalement mal formé complet, loc absent/doublé, texte mixte ou élément
de base inattendu : fail. DTD et déclarations d’entités sont arrêtés avant expansion,
sans chargement réseau ; extensions/attributs inconnus et xml:base : inconclusive.
La seule annotation de racine qualifiée est xsi:schemaLocation, conservée sans
charger ni appliquer le schéma. Commentaires et instructions sont inertes.
A02 compte les octets bruts réellement décompressés (BOM, caractères multioctets,
échappements et fins de ligne inclus), et tous les éléments url/sitemap directement
sous leur racine qualifiée. Les doublons et entrées sans loc comptent ; les extensions
ne sont pas des entrées. Maximum inclusif52 428 800 octets et50 000 éléments par
fichier ou index.52 428 801 octets ou50 001 éléments effectivement lus donnent fail,
si le préfixe attribue une racine Sitemaps0.9, même si la lecture s’arrête là.
Sans cette attribution, la mesure arrêtée reste descriptive et A02 inconclusive ;
RSS, DTD et racine au-delà du préfixe ne deviennent pas NC par cette mesure.
Le diagnostic dit exact ou borne inférieure ; le
champ ISIZE, un compteur fourni ou le nom .gz ne suffisent jamais. Une lecture
arrêtée ne qualifie pas A01. Un comptage complet peut passer malgré une feuille
malformée ; A01 reste alors fail. Les trois axes ne doivent pas être confondus.
Un seul membre gzip complet est qualifié. Flux tronqué, CRC erroné, membres concaténés
ou données finales : inconclusive, sauf dépassement déjà établi indépendamment.
CRC/fin de flux n’authentifient pas la source. Capture déclarée incomplète : inconclusive.
Bornes internes : profondeur16,300 000 éléments,4096 caractères par feuille ; dépasser
une borne interne donne inconclusive, jamais une violation de sitemap inventée.
A03 requiert exactement les documents déclarés, un original non ambigu par URL et
une couverture par les racines. Chaque enfant loc d’index doit correspondre à une
URL déclarée et à un fichier feuille complet qualifié. Pas de parcours réseau,
normalisation, suivi de redirection ou attribution depuis le nom. Enfant absent,
orphelin, format illisible, cycle ou index imbriqué : inconclusive. L’absence de
preuve de couverture n’est pas une contradiction démontrée : cette règle ne produit
pas fail. Une contradiction A01/A02 indépendante reste fail malgré cette lacune.
C exige les trois pass pour toute la population déclarée ; NC exige une contradiction,
sinon NT. Aucun NA automatique. Ce profil ne valide pas tout XML Schema, les valeurs
des feuilles facultatives, le sens/la fraîcheur de lastmod, l’hôte/le chemin/la longueur
des URL, leur canonical, leur indexation, les soumissions ni le périmètre éditorial.
Il ne faut pas présenter C comme « sitemap valide pour Google » ou conformité globale.
Les originaux restent dans input.json et les pièces dérivées ; le rejeu exige le même
moteur exact, sans réseau. Les autres règles qui emploient Node gardent leur exigence
propre ; TS15 utilise uniquement Python standard.
## English
The outcome covers only a **declared population of supplied files**. Roots are not
discovered or attributed to robots.txt/Search Console/CMS. Declared document count,
roots and root_discovery=not-established remain visible even for C. An omitted index
may reference other files; no site-wide sitemap completeness is established. URLs,
dates, provenance and completeness are supplied and unauthenticated. NC concerns a
supplied file declared for a URL, never an observed server response.
The exact input fields, bounds and constants are specified above. A target is anchored
to its first root and has an explicit synthetic boolean, dated prior plan, <=24h window,
context,1–16 distinct document URLs and nonempty distinct roots within that list.
There are at most16 supplied records with declared URL, description, provenance,
windowed timestamp and native raw_base64/SHA-256/identity-or-gzip/boolean completeness.
URLs are literal absolute HTTP(S), without credentials, fragment or whitespace.
No network request, URL normalization or implicit file recompression takes place.
Synthetic provenance must match dossier access.
Technical intake rejects changed bytes, invalid/noncanonical base64, unknown encoding,
or original files larger than5,242,880 bytes. The entire JSON retains its8,388,608-byte
bound, which multiple files may reach first. A50MiB plain XML file is refused; a small
enough supplied gzip can exercise the true decompressed threshold. Transport refusal
is not a C/NC/NT control outcome and creates no successful report. Missing evidence
in an intact dossier stays inconclusive, never C/NA.
A01 checks strict UTF-8 bytes, optional UTF-8 BOM, compatible encoding declaration,
exact Sitemaps0.9 namespace and minimal base structure. Prefixes are arbitrary.
A complete known root with wrong/missing namespace fails; RSS/Atom/other roots are
outside the profile. Each direct url/sitemap requires one nonempty loc first, then
unique ordered optional leaves: lastmod/changefreq/priority for url, lastmod for
sitemap. Attributed malformed XML, missing/duplicate loc, mixed base text or unexpected
base elements fail. DTD/entities stop before expansion without network loading.
Unqualified extensions/attributes/xml:base stay inconclusive. Root xsi:schemaLocation
is retained, never fetched or applied. Comments and processing instructions are inert.
Encoding failures establish fail only when a separate bounded first-root reader
attributes Sitemaps0.9 within65,536 bytes. It stops at the first element, rejects
DTD/entities before expansion and never accepts or repairs UTF-16. UTF-16 RSS,
binary or unassigned text remains inconclusive; a late root remains unknown.
A02 measures actual decompressed bytes, including BOM, multibyte characters, escapes
and line endings, and counts all direct url/sitemap elements under their qualified
root, including duplicates and entries missing loc. Foreign extensions do not count.
Inclusive bounds are52,428,800 bytes and50,000 direct entries per file/index. Actually
reading the first excess byte/entry establishes fail only with an attributed
Sitemaps0.9 root. Without that attribution, the stopped byte measurement remains
descriptive and A02 inconclusive, including RSS, DTD and a root beyond the prefix.
Diagnostics distinguish an exact
measure from a lower bound. No decision from ISIZE, filename or supplied counters.
A stopped prefix cannot qualify A01. Complete counts may pass despite a malformed leaf,
whose A01 remains fail. A complete single gzip member is qualified; truncation, bad CRC,
multiple members or trailing data stay unknown except an independently established
excess. Stream integrity never authenticates origin. Declared incomplete files stay
unknown. Internal limits16depth/300,000elements/4,096characters per leaf cause unknown,
never a fabricated sitemap violation.
A03 binds exactly one unambiguous supplied record to every declared URL and traverses
only root index→leaf relationships among that declared set. Every index loc must bind
to a complete qualified supplied leaf. No fetch, redirect following, filename attribution
or normalization. Missing/orphan/unreadable children, cycles or nested indexes stay
inconclusive. Missing coverage is not a proven contradiction, so A03 has no fail
outcome. Independent A01/A02 failures survive missing branches.
C needs all three passes across the declared population; evidenced contradiction gives
NC, otherwise NT. No automatic NA. No complete XSD validation, optional leaf value
semantics, lastmod truth/freshness, URL host/path/length, canonical, indexing, submission
or editorial-scope conclusion. Never describe C as Google eligibility or whole-site
conformity. Original bytes remain in the native input and derived evidence. Standalone
replay requires the exact engine and no network. TS15 uses Python standard library;
other controls keep their own explicit Node runtime requirements.
## Sources / Sources
[Official captured sources and fingerprints](../research/sitemap-files-2026-10-14/provenance.json):
Sitemaps.org protocol and0.9 schemas, Google's large sitemap documentation. Their
syntax/size requirements inform this bounded editorial profile; they do not endorse
TSEP or establish independent validation. No Google account collection was performed.
### Closed outcome domain / Issues fermées — TS15-A03
FR : la règle TS15-A03 déclare dans spec/protocol.json
`allowed_outcomes: ["pass", "inconclusive"]`. Aucun fail ni not-applicable n'est
admis pour cette règle, y compris dans un rapport fourni. Le banc exige au moins
un cas pour chacune de ces deux issues. Toutes les autres règles gardent leurs
issues historiques et l'exigence pass/fail/inconclusive du banc. Supprimer une
classe du corpus ne réduit jamais cette exigence. Le profil ne contient aucune
affirmation déclarative de lien parent/enfant : un fichier déclaré orphelin donne
inconclusive. Une future assertion de parent contradictoire exigerait une autre
version ; elle ne doit pas être déduite de la déclaration de population.
EN: TS15-A03 declares `allowed_outcomes: ["pass", "inconclusive"]` in the canonical
protocol. Neither fail nor not-applicable is accepted for that rule, including
in supplied reports. The corpus must contain each of its two declared outcomes.
Every other rule retains its historical domain and required pass/fail/inconclusive
coverage. Removing a class from the corpus never weakens this requirement.
The profile has no declared parent/child assertion: an orphan declared file stays
inconclusive. A future contradicted parent assertion would require another version;
it must not be inferred from the population declaration.
Liens essentiels / Essential links
# TS17 — DOM self-integrity at intake / intégrité propre du DOM à l’import Capture adapter37; protocol draft.36 / interpreter35 / HTML20 / replay3 unchanged. This is a distinct transport correction, not a new normative control or rule. Twenty-two contradictory inputs were authored before the change. Observed test results and the exact candidate/archive are recorded separately. ## Français L’adaptateur36 pouvait produire un rapport NT pour un snapshot ou un contenu de support dont l’auto-empreinte fournie était fausse. Ce comportement ne satisfaisait pas l’engagement de refus des originaux corrompus. Les dossiers déjà créés et la livraison36 restent conservés avec cette limite et avec leurs outils exacts. L’adaptateur37 vérifie chaque état DOM fourni aux demandes TS17 avant l’interprétation : s’il existe à la fois un snapshot non nul et son empreinte non nulle, celle-ci doit égaler le SHA-256 de la sérialisation de liaison existante (JSON trié, séparateurs compacts, UTF-8, ensure_ascii=false). Si un contenu de support textuel et son empreinte non nulle existent, le SHA-256 porte sur les octets UTF-8 exacts du contenu. Aucune empreinte n’est corrigée ou inventée. Une valeur fournie incohérente, vide ou d’un mauvais type est refusée avec le motif `TS17 DOM integrity`, sans rapport ni répertoire de livraison réussi. La garde examine aussi les états non prévus et les demandes sans plan ou limitées à une seule règle TS17. Une association HTTP/DOM inconnue ne masque pas une corruption. L’intégrité des captures HTTP reste contrôlée avant leur évaluation. Un plan, snapshot, contenu ou hash absent/nul reste une preuve insuffisante pour le lecteur ; il n’est pas transformé en C/NA. Une association `acquisition.http_sha256` différente ou manquante, ou un script de capture d’une autre version, reste une qualification indéterminée. Une auto-empreinte cohérente n’authentifie ni le fournisseur ni l’acquisition. Les règles natives et les autres contrôles conservent leurs comportements historiques. Migration : garder les dossiers/exports36 avec leur moteur36 exact. Pour37, préparer un nouveau dossier depuis les originaux réellement disponibles ; ne pas recalculer un hash pour dissimuler une incohérence et ne pas remplacer une archive livrée. Une association sémantique différente reste visible. L’application reçoit un nouvel import explicite de l’archive qualifiée ; aucun correctif vendor. ## English Adapter36 could produce an NT report for a supplied snapshot or supporting text whose self-digest was false. That did not meet the promised refusal of corrupted originals. Existing36 dossiers and delivery remain retained with this limitation and their exact historical tools. Adapter37 checks every supplied DOM state for a TS17 request before interpretation. When both a non-null snapshot and non-null declared digest exist, the digest must equal SHA-256 of the existing binding serialization (sorted compact JSON, UTF-8, ensure_ascii=false). A supplied text support content and non-null declared digest must match its exact UTF-8 bytes. Never repair or invent a digest. Inconsistent, empty or wrong-type supplied digests refuse with `TS17 DOM integrity`, without a successful report or delivery directory. The guard also checks unplanned states, missing plans and partial TS17 rule requests. Unknown HTTP/DOM association cannot mask self-corruption; HTTP capture integrity is also checked before interpretation. Missing/null plan, snapshot, content or digest remains insufficient evidence for the reader, never C/NA. Different/missing acquisition.http_sha256 or another capture-script version remains an inconclusive qualification. Internally consistent hashes authenticate neither provider nor acquisition. Native rules and other controls retain their old behavior. Migration: preserve36 dossiers/exports and exact engines. For37 prepare a new dossier from actually available originals; do not recompute hashes to hide an inconsistency or replace delivered archives. Semantic association differences remain visible. The app needs an explicitly received newly qualified source archive, not a vendor patch. Test results are separate from this contract description.
Liens entrants / Incoming links
# TS16 — supplied incoming links / liens entrants fournis
Profile `incoming-document-links-v1`, proposed draft.37 / interpreter36 /
adapter38 / HTML21 / replay3. One atomic rule, TS16-A01. Source is prepared
separately; observed qualification and application delivery require separate receipts.
## Français
Population préalable de pages importantes et de sources internes fournie, datée et bornée. Le caractère important et la complétude du choix sont déclarés, non authentifiés.
Pour chaque destination importante, au moins un témoin a/href résoluble provenant d’un autre document interne qualifié, dans la source HTML ou un DOM déclaré sans interaction. Les originaux de la source et de la destination sont conservés.
Un témoin indépendant qualifié suffit pour cette destination ; une autre source inconnue ne l’annule pas. Chaque destination doit néanmoins disposer de son original HTTP qualifié.
Fail seulement si toutes les surfaces éligibles de toutes les sources de l’inventaire préalable sont qualifiées et ne fournissent aucun témoin pour une destination. Le résultat nomme cette population, sans qualifier la page d’orpheline du site. Une absence ainsi établie reste fail si l’original de destination manque : afficher conjointement cette absence, l’original/statut non archivés et l’identité de la destination non vérifiée. Cela peut révéler une erreur de plan, sans prouver un défaut du site.
Sans plan/inventaire qualifié, original de destination, témoin ou preuve bornée d’absence, résultat indéterminé. Aucune NA automatique. Un fail indépendant déjà établi survit aux autres destinations inconnues.
Sans interaction est une déclaration du fournisseur, pas une navigation observée. Un état après interaction ou non classé reste diagnostic ; il ne crée pas de témoin dans ce profil. Le profil ne décrit pas le comportement universel des robots.
Aucune exhaustivité du site, authenticité, interaction observée, visibilité, importance éditoriale, qualité d’ancre, suivi effectif de lien, visite Google, indexation ou classement. Un statut404 conservé ne devient pas à lui seul un défaut TS16.
Une destination demandée distincte dont la chaîne archivée retourne au document source ne fournit pas de témoin qualifié pour cette paire. Cette paire reste indéterminée ; une autre source indépendante peut suffire. Dates, URL demandées/finales et chaîne sont conservées.
## English
Prior supplied, dated and bounded important-page and internal-source populations. Importance and selection completeness are declared, not authenticated.
Each important destination has at least one resolvable a/href witness from a distinct qualified internal document, in source HTML or provider-declared no-interaction DOM. Original source and destination evidence is retained.
One independently qualified witness suffices for that destination; another unknown source does not negate it. Every destination still requires its qualified original HTTP evidence.
Fail only when all eligible surfaces of every prior inventory source are qualified and none provides a witness for a destination. Name that bounded population, without declaring a site-wide orphan. Such established absence remains fail if the destination original is missing: display bounded absence together with unarchived destination/status and unverified destination identity. This may reveal a plan error without proving a site defect.
Without a qualified plan/inventory, destination original, witness or bounded absence proof, remain inconclusive. No automatic NA. An independently established failure survives other unknown destinations.
No-interaction is a provider declaration, not observed navigation. After-interaction or unclassified states remain diagnostic and cannot provide a witness in this profile. This profile does not describe universal crawler behavior.
No site completeness, authenticity, observed interaction, visibility, editorial importance, anchor quality, actual link following, Google visit, indexing or ranking. Retained404 status is not by itself a TS16 defect.
A distinct requested destination whose archived chain returns to this source document supplies no qualified witness for that pair. The pair remains inconclusive; another independent source may suffice. Dates, requested/final URLs and chains are retained.
## Input contract / Contrat d’entrée
**envelope** — Existing input_version2, explicit rules and targets; target.url identifies the scope entry document, not necessarily every destination.
**provenance** — Boolean incoming_links_synthetic plus existing named context; retain this flag even if the plan is absent. App synthetic evidence is explicit; human reviews are never generated.
**prior_plan** — intent.crawler, declared_at and intent.incoming_links {reader, origin, selection_reason, inventory_sha256, window_start, window_end, max_duration_ms, sources, destinations}.
**inventory** — Original UTF-8 line-delimited source URL inventory; bytes/base64/hash and supplied observed_at retained. Exact one URL per line; optional final newline only, no comments, blank rows or silent normalization. Its ordered URLs must match prior sources. Missing/ambiguous evidence remains unknown; corrupt transport bytes are refused.
**sources** — 1–16 distinct {url,final_url,states} entries. states declares1–16 {id,browser,browser_version,scenario,interaction} per source; at least one no-interaction state per source; at most64 declared states over all sources. after-interaction states remain diagnostic.
**destinations** — 1–32 distinct {url,reason} important destinations; reasons supplied before capture. Source and destination populations may intersect; self-document links never witness an incoming link.
**documents** — incoming_links.documents contains at most48 unique {url,http,render} records for the union of source and destination URLs. Records shared by both roles keep one original. Missing records are not synthesized. Extra/duplicate records remain explicit and cannot supply an unplanned witness.
**http** — Existing native original request/response transport2,1–16 complete trace exchanges per document, named client, exact URLs and chronology. Source final200 required for HTML/DOM reading. Destination complete terminal HTTP result is retained as evidence;404 may coexist with a qualifying witness. Unfinished redirect/304/partial evidence cannot substitute an original representation.
**dom** — Existing structured_dom2 with exact HTTP/client association and acquisition provenance; no serialized HTML replacement. Actual state id/browser/version/interaction declarations must match prior state. No-interaction qualification remains documentary.
**bounds** — Entire input<=8MiB; inventory<=131072bytes; source/DOM existing bounded readers apply. Inventory observed_at<=plan declared_at<=window_start<=window_end<=observed_at; each qualified capture inside window, window<=24h. Per-exchange duration0..max_duration_ms with integer bound1..30000.
**url** — Exact WHATWG pre-serialized credential/fragment-free HTTP(S). Same serialized origin only; no registrable-domain inference. Source requested/final and destination requested/final remain within origin. Resolve a/href and remove fragment only; query/canonical/redirect alternatives are not equivalent. A destination capture that ends at this source final URL makes the literal non-self URL pair inconclusive, not a witness; another independent source may satisfy the destination. Keep requested/final URLs, chain and dates, without global equivalence.
## Français — structure, transport et limites précises
Entrée2 : rules et targets ; chaque cible contient url, observed_at,
incoming_links_synthetic booléen, context(network,bounds,tool,tool_version),
intent.crawler et intent.declared_at. intent.incoming_links contient reader,
origin, selection_reason, inventory_sha256, window_start, window_end,
max_duration_ms, sources et destinations. L’inventaire original UTF-8 contient une
URL de source par ligne dans l’ordre du plan ; seul un LF final est facultatif.
Aucun commentaire, BOM, doublon, ligne vide ou normalisation silencieuse.
Conserver label, base64 canonique, sha256 et observed_at. L’inventaire précède ou
égale le plan ; le plan précède ou égale la fenêtre des captures, au plus24h,
terminée avant observed_at de la cible. Durée d’échange bornée0..max_duration_ms,
entier1..30000.
Sources :1–16 objets {url,final_url,states}, avec1–16 états par source et64 au total.
Chaque état préalable est {id,browser,browser_version,scenario,interaction},
interaction valant none ou after-interaction ; au moins un none par source.
Destinations :1–32 objets {url,reason} distincts. Les deux populations peuvent
partager un document ; le conserver une fois. incoming_links.documents contient
au plus48 objets {url,http,render}. Un document dupliqué ne devient pas un témoin ;
une source supplémentaire non prévue ne modifie pas le plan. Les états après
interaction restent diagnostiques. Aucune interaction réelle n’est authentifiée.
Les URL demandées et finales doivent déjà égaler leur sérialisation WHATWG,
HTTP(S), sans identifiants ni fragments, avec la même origine exacte que le plan.
La source finale doit être le200 complet attendu. Conserver1–16 échanges natifs,
leurs octets, dates et agent. Une redirection inachevée, une304 ou une206 ne
constitue pas l’original terminal exigé. Le statut terminal d’une destination
peut être404 sans créer, à lui seul, un défaut TS16. Aucun diagnostic de soft404
n’est déduit d’un200 ni de son contenu.
Un a/href HTML du document principal doit résoudre exactement la destination
après retrait du fragment seulement. Aucune équivalence canonical, redirection,
barre finale, casse ou requête n’est ajoutée. Source : les deux hypothèses statiques
doivent être qualifiées et s’accorder pour cette destination ; leur désaccord sur
une autre destination n’efface pas ce témoin. DOM : snapshot original v2,
auto-empreinte, support, identité d’état et association HTTP/client qualifiés.
Une base active, un contexte étranger/shadow non qualifié, une récupération de
parsing ou une preuve incomplète reste inconclusive pour la surface. Une autre
surface indépendante qualifiée peut néanmoins fournir le témoin.
L’import vérifie les auto-empreintes fournies de l’inventaire, de chaque snapshot
et de ses supports textuels, y compris documents/états non prévus ou plan absent.
Un conteneur HTTP non nul est une liste d’objets ; conteneur invalide, base64
invalide/excessif/non canonique ou auto-empreinte incohérente est refusé
techniquement avant tout rapport réussi. Aucune empreinte n’est réparée. Champ
absent/nul et association sémantique différente restent des preuves insuffisantes
pour le lecteur, jamais une preuve de conformité. Les octets d’entrée et pièces
imbriquées sont conservés sans inventer une capture HTTP de la cible de périmètre.
Entrée JSON<=8Mio, inventaire<=131072octets, lecteurs source/DOM bornés existants,
Node24 explicitement sélectionné. Aucune collecte réseau. Un diagnostic calculé
au-delà de4Mio rend le profil inconclusive plutôt que de tronquer une conclusion.
Les limites du site, l’authenticité, l’importance et la qualité éditoriale, la
visibilité, le suivi effectif des liens et l’indexation restent hors preuve.
## English — additional intake and reading boundaries
Two qualified static scripting hypotheses must agree for the particular destination;
unrelated destination disagreement does not erase its independent witness.
Qualified v2 DOM states retain their original snapshot, self-digest, support,
state identity and HTTP/client association. Active base, unsupported foreign/shadow
context, parse recovery and incomplete evidence leave that surface inconclusive.
Another independent qualified surface may still witness presence. HTTP200 never
establishes semantic page validity or excludes a soft404.
Check supplied inventory, every snapshot and textual support self-digests before
interpretation, including unplanned documents/states and missing plans. Non-null
HTTP is a list of objects. Malformed/excessive/noncanonical byte containers or
inconsistent self-digests refuse transport, with no successful report. Never repair
a hash. Missing/null fields or different semantic associations remain evidence
qualification concerns, not conformity. Preserve original input/nested pieces;
never invent top-level HTTP for the scope target. Explicit Node24, existing bounded
source/DOM readers and8MiB input apply. Diagnostics above4MiB make the profile
inconclusive instead of truncating a conclusion. No external acquisition occurs.
## Review and migration / Revue et migration
Existing dated public references are retained in
`research/essential-links-2026-10-14/provenance.json`. They explain technical HTML
links/URLs, not approval of this profile. Claude’s method comments were proposals,
not human approvals or executed tests. Synthetic cases stay marked. TS01–TS44,
upstream provenance and previously delivered tools remain preserved.
See migration-draft.37.md for explicit new-dossier migration. This candidate is
not a certification, recognized standard, whole-site or global conformity claim.
FR : références publiques datées déjà conservées pour TS17 ; aucune nouvelle
observation d’un tiers ou approbation ne découle de ce profil. Commentaires de
Claude = propositions, pas tests exécutés ni approbation humaine. Cas synthétiques
marqués ; TS01–TS44, provenance et livraisons antérieures conservés. Migration
explicite dans un nouveau dossier ; aucune certification ou conformité globale.
## Source identity boundary / Limite d’identité de la source
FR : l’identité du contenu attendu de la source n’est pas évaluée par TS16. Une
page d’erreur répondant HTTP200 peut fournir un témoin de navigation qualifié ;
le lecteur ne détecte pas les soft404. Le rapport conserve explicitement cette
limite. Une éventuelle vérification d’identité appartient à un autre contrôle et
ne doit pas être inventée à partir du seul statut HTTP ou du texte de la page.
EN: TS16 does not assess expected source-content identity. An HTTP200 error
template can supply a qualified navigation witness; the reader does not detect
soft404s. The report explicitly retains this limitation. Any source identity
assessment belongs to another control and is not inferred from HTTP status or
page text alone.
## Conditional DOM evidence / Preuve DOM conditionnelle
FR : les entrées communes obligatoires sont HTTP, HTML source, inventaire et
intention. Le plan nomme les états requis ; le DOM original reste conditionnel
à la surface utilisée. Un témoin HTML source indépendant peut établir pass sans
DOM fourni. Son absence reste conservée, aucun artefact render n’est inventé.
En revanche, conclure à une absence bornée exige toutes les surfaces éligibles
prévues ; un DOM manquant sans témoin indépendant laisse inconclusive.
EN: Common required inputs are HTTP, source HTML, inventory and intent. The plan
names required states; original DOM evidence is conditional on the surface used.
An independent source HTML witness can establish pass without supplied DOM. Its
absence is retained; no render artifact is invented. Bounded absence still
requires every planned eligible surface; missing DOM without an independent
witness remains inconclusive.
Graphe / Graph
# TS18 — supplied graph reconciliation / rapprochement de graphe fourni
Candidate profile `supplied-graph-reconciliation-v1`; native document plan
`supplied-graph-documents-v1`. Draft.38, interpreter37, adapter39, HTML22, replay3.
The three atomic rules are separate from individual URL/pair observations.
Qualification results are recorded separately from this contract.
## Français
Le plan antérieur `intent.graph` fixe une origine HTTP(S) exacte,1–16 documents,
1–4 racines choisies dans ces documents,1–8 familles couvrant chaque document une
seule fois, une justification de sélection et une fenêtre de24h au maximum.
Chaque document indique une URL demandée égale à son URL finale et1–16 états
nommés, dont au moins un déclaré sans interaction ;64 états au total. Aucune
équivalence de redirection, canonical, barre finale, casse ou paramètres n’est
inférée. Le JSON est limité à8MiB, les diagnostics à4MiB ; aucun verdict tronqué.
`graph_inventories` conserve les originaux `reference`, `crawl`, `cms`, `sitemap` :
base64 canonique, SHA256, complétude et date fournies. Chaque original est borné à
1MiB. La référence contient exactement les URL ordonnées du plan en UTF-8,
une par ligne, avec LF final facultatif ; sa date précède le plan liant son hash.
Les trois autres dates restent dans la fenêtre préalable et sont visibles auprès
du rapprochement. Jusqu’à128 URL distinctes par inventaire. Les URL hors population
restent des diagnostics non évalués ; elles ne deviennent pas des orphelins.
Crawl et CMS utilisent CSV avec dialecte déclaré : encodage `utf-8` ou
`utf-8-sig`, séparateur virgule ou point-virgule, guillemet double,
`doublequote:true`, en-tête ligne1 et nom exact de colonne URL. Pas de détection
heuristique ;32 colonnes,65536 caractères par champ, URL4096 caractères au plus.
Le sitemap réutilise le lecteur TS15 sur un URLset fourni, décodage déclaré,
structure et bornes qualifiées ; aucun index récursif ni collecte.
Chaque production fournit `mode`, `tool`, `tool_version`, `derived_from`.
Le crawl fermé ajoute seulement `seed_roots` et `frontier_sha256` (SHA256 JSON
canonique `{nodes,roots}`), mode `follow-links`, dépendances vides, racines exactes.
Il déclare un départ depuis ces seules racines ; mode liste, amorçage mixte ou
champ d’amorçage supplémentaire sont hors profil et restent NT. Le CMS déclare
`native-export` sans dépendance ; le sitemap déclare `native-export` ou
`cms-generated` dépendant de `cms`. Ces déclarations ne sont pas authentifiées.
L’appartenance à un crawl ne crée jamais une arête ni une profondeur.
`graph_documents` conserve jusqu’à32 dossiers HTTP/DOM originaux. Les lecteurs
TS16/TS17 qualifient les témoins source et DOM : source sous deux hypothèses
statiques concordantes, DOM lié au HTTP et déclaré sans interaction. Un témoin
positif indépendant établit une paire présente ; l’absence exige toutes les
surfaces éligibles qualifiées ; sinon la paire reste inconnue. Les états après
interaction sont diagnostiques. HTTP200 ne prouve ni contenu attendu ni absence
de soft404 ; cette limite reste visible.
Le calcul utilise uniquement les documents déclarés et des sources distinctes,
sans auto-liens. Distance basse : arêtes connues et possibles ; distance haute :
chemin connu. États : `exact`, `interval`, `no_proven_route`, `unreachable` dans
ce seul graphe borné. Les degrés entrants sont aussi des intervalles. Un candidat
sans entrant exige degré maximal0 et n’est jamais une racine ni un orphelin global.
Les cycles déconnectés restent distincts des pages sans aucun lien entrant.
A01 qualifie le rapprochement documentaire, A02 les mesures natives. Leurs domaines fermés sont pass/inconclusive : aucune valeur fail fabriquée pour ces mesures. A03 vérifie
les revues fournies `graph_reviews`, sans produire de jugement : chaque famille,
différence connue d’inventaires, candidat sans entrant et document inaccessible
reçoit un sujet calculé. Les revues lient le plan, les dossiers d’inventaire entiers
(dates comprises), les originaux du graphe et les mesures par SHA256 canonique.
Elles indiquent sujet, hash, auteur fourni, date, motif, provenance synthétique et
`explained`, `defect` ou `unresolved`. La date suit la fin de fenêtre et précède
l’observation. Une revue manquante, ambiguë, mal liée ou supportée par une mesure
inconnue reste indéterminée. Une différence connue et revue comme défaut peut
rester NC malgré un graphe incomplet ailleurs. Le sens du motif et l’identité du
relecteur ne sont pas authentifiés. Les revues de test sont explicitement rédigées
pour les scénarios synthétiques ; aucune revue Edikka ou personnelle n’est créée.
## English
The prior `intent.graph` fixes an exact HTTP(S) origin,1–16 documents,1–4 roots,
1–8 families covering each document exactly once, selection rationale and a
capture window of at most24hours. Requested and final document URLs must match
exactly. Each source declares1–16 named states including a no-interaction state;
64 states total. No redirect/canonical/query/case/slash equivalence. Input JSON is
bounded to8MiB and diagnostics to4MiB, with no truncated conclusion.
Retain canonical base64, SHA256, completeness and supplied dates for original
reference/crawl/CMS/sitemap inventories, each at most1MiB and128 distinct URLs.
The UTF-8 ordered reference lines (optional final LF) predate the plan binding
its hash. Other dates must lie within the window and remain visible alongside
reconciliation. Outside URLs are unevaluated diagnostics, never orphan claims.
CSV encoding/delimiter/quoting/header/URL column are explicit, without guessing:
UTF-8 or UTF-8-BOM, comma/semicolon, double quotes, doublequote enabled, header1;
32 columns,65536 characters per field,4096 per URL. Sitemap uses the exact TS15
URLset reader with declared encoding, no recursive index or acquisition.
Production is supplied and unauthenticated. Crawl declares closed `follow-links`
production from the exact roots only, no dependencies, with bound nodes/roots
frontier. Additional seeding fields, mixed or list seeding are inconclusive.
CMS is a native export; a CMS-generated sitemap explicitly retains its dependency.
Crawl membership never creates native graph edges or establishes reachability.
Up to32 original document records feed the existing TS16/TS17 source/DOM readers.
An independent qualified witness establishes an edge; absence needs every eligible
qualified surface; otherwise unknown. After-interaction states are diagnostic.
HTTP200 does not establish expected source content or exclude soft404s.
Distances use known edges for the upper bound and possible edges for the lower
bound. Exact/interval/no-proven-route/bounded-unreachable states remain distinct.
Incoming degrees count distinct non-self sources as intervals. A no-incoming
candidate needs upper degree0 and is neither a root nor a site-wide orphan.
Disconnected cycles are separate. There is no universal SEO depth threshold.
A01 qualifies original reconciliation; A02 qualifies native measurements; their closed outcome domains are pass/inconclusive, with no fabricated fail for these measurements; A03
checks supplied documentary reviews, never inventing them. Native subjects cover
each family, known inventory difference, bounded no-incoming candidate and
unreachable document. Reviews bind the prior plan, entire inventory records
including dates, graph originals and measurements with canonical SHA256. Supplied
reviewer/date/rationale/synthetic flag/disposition must match. Review time follows
window end and precedes observation. Missing/ambiguous/misbound/unresolved reviews
or unqualified supporting measurements remain inconclusive. An independently
evidenced supplied defect survives unrelated unknowns. Reviewer authenticity and
rationale semantics are not assessed. Synthetic authored test reviews are never
real personal/Edikka approval.
## Integrity, outcomes and delivery / intégrité, résultats et livraison
Provided inconsistent self-hashes are technical intake refusals, including
unplanned evidence or missing plans. Missing evidence remains native inconclusive.
No digest repair, C/NA from absence, global conformity, certification, indexing or
ranking inference. Originals remain intact in exports and exact offline replay.
No network acquisition. Consumers require explicit qualified import and separate
app acceptance; this contract itself proves neither. Historical failures remain.
Hreflang
# TS23 — hreflang réciproque fourni / supplied reciprocal hreflang Candidate `hreflang-reciprocity-v1`, draft.39, interpreter38, adapter40, HTML23, replay3. This contract is separate from observed qualification results. ## Français Le plan `intent.hreflang` précède les captures, donne une justification, 1–16 URL de pages distinctes et1–32 associations code–URL attendues, ainsi que le canal principal `html` ou `http-link` pour chaque page. Toutes les URL de pages sont présentes dans les associations ; plusieurs codes peuvent désigner la même URL. La casse des codes est comparée en ASCII. Les codes sont des jetons bornés, pas une validation du registre linguistique. `x-default` ne reçoit aucun jugement de rôle. Les groupes entre domaines sont admis. Les URL sont des HTTP(S) absolues, sans identifiant ni fragment, admises par le runtime WHATWG explicite sans changement de sérialisation. Aucune équivalence canonical, redirection, paramètres, casse du chemin ou barre finale n’est créée. Une cible relative reste indéterminée dans ce profil fermé ; aucune résolution implicite ne l’ajoute au groupe. Jusqu’à32 associations extérieures explicitement exclues restent visibles hors évaluation ; un extra non prévu est indéterminé. Chaque canal principal doit fournir le jeu attendu complet, auto-référence comprise. Le canal secondaire ne le remplace ni ne le complète ; aucun assemblage de listes partielles. Un conflit qualifié reste NC. Si seul le canal secondaire contient le jeu complet, le diagnostic l’indique : l’écart concerne le mode principal prévu, pas une absence universelle de hreflang. Une contradiction indépendante reste NC malgré des inconnues ailleurs. Les documents `hreflang_documents` gardent les requêtes/réponses HTTP originales v2 en base64 canonique avec SHA256, leur complétude et dates. Un échange GET200 sans redirection par page, demandé=final, client égal au plan, au plus30000ms, dans une fenêtre préalable de24h au maximum, close avant `observed_at`. Un Content-Type unique est requis. Framing/gzip natifs sont décodés sans perte. Les en-têtes Link peuvent qualifier un document non HTML, y compris PDF binaire ; son corps n’est pas prétendu HTML. Les originaux et contextes ne sont pas authentifiés. HTML exige UTF-8 explicitement déclaré. Les lecteurs inchangés d’éléments et du préfixe head lisent les mêmes octets sous deux hypothèses statiques. Les link admis sont directement dans le head avant sa fermeture explicite, en espace de noms HTML, `rel` contenant seulement alternate (doublons identiques admis), avec href/hreflang uniques. `alternate stylesheet` est une feuille de style, pas une annotation linguistique. Commentaires, textes script et templates ordinaires ne deviennent pas des annotations actives. Aucune exécution JavaScript. La fermeture implicite directe du head par div, img, iframe ou texte non blanc peut établir un placement dans body si les deux hypothèses concordent sans erreur de parseur ; le token et sa position originale sont conservés. Une divergence noscript reste inconnue. Réinsertion après fermeture explicite, ambiguïté attributaire, contexte étranger et autres récupérations restent hors profil. Le placement dans body est NC seulement pour un primaire HTML ; les liens non admis du canal secondaire restent diagnostiques. Modificateurs media/type/as et paramètres HTTP hors rel/hreflang (anchor compris) restent indéterminés. Les canaux pertinents sitemap/DOM fournis dans `hreflang_unsupported_channels` restent hors profil et empêchent C, sans effacer une contradiction indépendante. Pas de collecte réseau. TS22 (codes/indexabilité/canonical) et TS24 (rôle x-default) restent distincts. Aucun choix de variante Google, indexation, traduction ou conformité globale n’est déduit. ## English The earlier `intent.hreflang` plan supplies rationale,1–16 distinct page URLs, 1–32 expected code-to-URL mappings and a primary `html` or `http-link` channel for each page. Every page appears in the mapping; several codes may share one URL. Use ASCII code case folding, without language registry validation or x-default role judgment. Cross-domain groups are allowed. Exact absolute credential-free, fragment-free HTTP(S) WHATWG URLs only, without rewriting or inferred canonical, redirect, path-case, slash or query equivalence. Relative targets are inconclusive, never silently resolved. Up to32 explicit excluded outside mappings remain visible; unplanned outside annotations are inconclusive. Every primary channel supplies the complete expected set, including self references. Secondary channels never replace or complete it. Qualified conflicts are failures; a complete secondary set is explicitly shown when the primary is incomplete. This is a prior-mode mismatch, not a claim of universal hreflang absence. Independent qualified contradictions survive unrelated unknowns. Original v2 HTTP request/response byte containers, SHA256, completeness and dates are retained. One unconditional GET200 exchange per page, requested=final, no redirect, exact prior client, at most30000ms within an earlier at-most24-hour window ending before `observed_at`. One Content-Type is required. Native framing/gzip is losslessly decoded. HTTP Link can qualify non-HTML documents including binary PDF without treating their body as HTML. Acquisition/context authenticity is not proved. HTML requires declared UTF-8; unchanged element and source-head observers bind the same bytes under two static hypotheses. Admitted links are direct HTML head children before explicit closure, with an alternate-only ASCII relation set and unambiguous href/hreflang. Identical relation tokens are idempotent; alternate stylesheet is not a language annotation. Comments, script text and ordinary templates are not active annotations. No JavaScript execution is inferred. Direct implicit head closure by div/img/iframe or non-whitespace text can establish body placement when both hypotheses agree without parser errors; retain native closure token and byte position. Noscript divergence remains unknown. Reinsertion after explicit closure, ambiguous attributes, foreign context and other recovery are outside admission. Body placement fails only an HTML primary; non-admitted secondary body links are diagnostic. HTML media/type/as and HTTP parameters beyond rel/hreflang, including anchor, remain inconclusive. Relevant supplied sitemap/DOM channels are unsupported and prevent pass unless an independent failure is established. ## Bounds and integrity / bornes et intégrité Up to48 retained document records,128 annotations per channel/page,8MiB input JSON, 4MiB diagnostics; no truncated conclusion. Every present original self-digest is checked before the plan, including unplanned/unsupported supplied pieces. Broken integrity is a technical refusal. Missing originals/digests remain inconclusive; there is no automatic NA or fabricated review. Exact input originals remain in export and offline replay. Explicit qualified consumer import and separate app acceptance are required. Synthetic fixtures are never real-site evidence. ## Typed boundaries / frontières typées FR : la position du champ détermine sa garde. Un enregistrement de document non objet donne NT avec « structure documentaire non interprétable ». Un champ `http` absent ou nul, une requête/réponse absente ou nulle, ou une auto-empreinte absente restent NT. Une liste HTTP contenant un échange non objet, un conteneur requête/réponse présent non objet, un base64 présent malformé ou une auto-empreinte fausse sont des refus techniques sans rapport. Aucun verdict n’est fabriqué après un refus. Les contrôles historiques conservent leurs contrats propres ; cette version ne leur applique pas rétroactivement cette nouvelle garde. EN: field position determines the guard. A non-object document record is NT with “uninterpretable documentary record structure”. Missing/null HTTP, request or response and missing self-digests remain NT. A non-object exchange within the HTTP list, a present non-object request/response payload, malformed present base64 or contradicted self-digest is a technical refusal without a report. Historical controls retain their own contracts; this version does not silently migrate them. FR/EN : un Link qualifié est comparé à la table du plan préalable, indépendamment d’une lecture HTML inconnue / a qualified Link is compared with the prior mapping table independently of an unknown HTML reading. Le rapport dit « contradiction avec le plan », non un conflit entre lectures / the report describes a contradiction with the plan, not an inferred conflict between readings. URL relative : non évaluée, hors profil / relative URL: not evaluated, outside profile. Un secondaire complet reste visible avec le motif d’écart au canal prévu / a complete secondary is explicitly shown alongside the prior-channel mismatch.
Contenu essentiel / Essential content
# TS25 — critical stage presence / présence critique par stade
Draft.44 defines TS25-A01/A02, reader `critical-stage-presence-v1`, interpreter43,
adapter43, HTML25, replay3. This document specifies a candidate; it does not
establish observed qualification, browser execution, actual client application
or certification. Sources and application receipts are separate.
## Français
Draft.44 / reader3 : les champs reviewer, assistance et reason des revues TS25 fournies sont limités à8192octets UTF8 bruts chacun, avant strip ou normalisation ; chaque objet revue, champs supplémentaires inclus, à32768octets de JSON compact UTF8. Toute revue fournie est vérifiée à l’admission, même inutilisée. Un dépassement donne un refus technique avant publication, jamais C ou NT public ; les originaux sont conservés sans réécriture. Le diagnostic natif de chaque règle est borné à4MiB de JSON compact UTF8 trié, y compris A01 et les sorties d’erreur. Au dépassement, un diagnostic compact explicitement incomplet conserve un fail indépendant établi, sinon inconclusive ; aucun pass. Le transport refuse ce marqueur et borne aussi à4MiB par cible la somme des artefacts TS25 réellement sérialisés (JSON UTF8 indent2, saut de ligne final), pour les règles demandées. Les maxima individuels ne garantissent pas que toutes leurs combinaisons respectent les bornes cumulées. Aucun changement des autres contrôles ni du validateur partagé.
Draft.43 / reader2 : le champ render est un objet documentaire contenant states. render:[] n’est pas équivalent à render:{states:[]}. Un conteneur non objet ou une population mal formée donne une couverture inconnue, sans coercition ni arrêt des lectures source indépendantes. Une absence source requise et qualifiée reste fail ; une source présente ne transforme pas cette couverture inconnue en pass. Une liste states vide est valide quand aucun état n’est requis. Les revues restent liées aux ID d’états, jamais à leurs indices. Cette frontière propre à TS25 ne migre pas celle de TS23. Les self-digests contradictoires conservent leur refus technique.
TS25 compare des **éléments critiques préalablement déclarés** aux originaux
HTTP et aux états DOM fournis. Un résultat C porte seulement sur cette population,
ces éléments, leurs politiques et conditions. Il ne prouve ni l’exhaustivité du
site ni ce que Google a rendu ou indexé. La revue de pertinence du périmètre et
la revue de visibilité/contexte sont réellement fournies par leur responsable ;
le lecteur vérifie leurs liens et leurs dates, sans authentifier leur auteur.
Les exercices rédigés restent marqués synthétiques.
### Entrées et décisions préalables
L’entrée captures de version2 conserve `url`, `observed_at`, `context`, `intent`,
`http`, `render`, `presence_synthetic`, `presence_plan_review` et
`presence_context_reviews`. Le plan `intent.critical_presence` contient :
- `reader`, `window_start`, `window_end`, `max_duration_ms`, `origins`, `final_url` ;
- `population`, `scope_reason`, `items`, `roles`, `states`.
`intent.declared_at` précède la fenêtre ; `intent.crawler` est le User-Agent
HTTP exact, sans usurpation d’une visite Google. La fenêtre couvre au plus24h,
chaque échange au plus30000ms. Contexte réseau, bornes, outil et version sont
explicites. Les URL initiale/finale et chaque saut appartiennent à 1–16 origines
HTTP(S) déclarées. L’interprétation exige une trace complète donnant la réponse
finale200 attendue. Les statuts autres que200 et les réponses non attribuables
restent inconnus pour la présence ; cela ne remplace pas TS01/TS02.
1–32 éléments portent chacun `id`, `role`, `reason`, `selector_id`, `expected`,
`policy`, `states`. Le rôle JSON-LD ajoute `json_pointer`. Les identifiants sont
uniques, les sélecteurs sont des ID HTML littéraux ; aucune sélection CSS libre.
Chaque état préalable porte exactement `id`, `reason`, `browser`,
`browser_version`, `conditions`. Les trois derniers doivent correspondre aux
champs fournis de l’état. Au plus16 états, liste vide permise pour source seule.
Un élément source-only sélectionne zéro état ; les autres politiques en
sélectionnent1–16. Des états prévus pour diagnostic peuvent être fournis sans
être requis par un élément source-only.
A01 exige exactement une décision pour chacun des cinq rôles ci-dessous :
`included` avec les `item_ids` exacts, ou `outside-declared-scope` avec une liste
vide et un motif. Une déclaration générique « complet » ne les remplace pas.
Une exclusion n’est pas une NA. La revue préalable lie le digest canonique de
`{url,intent}`, porte `complete:true`, et un jugement `supported` ou
`contradiction`. Elle est datée entre la déclaration et le début de fenêtre.
`reviewer`, `assistance`, `reason`, `provenance` sont conservés. `supported`
donne pass ; `contradiction` donne fail ; absence, invalidité ou unknown donne
inconclusive. Cette règle ne transforme pas le jugement en fait authentifié.
### Lecture des cinq rôles
| Rôle | Critère borné |
| --- | --- |
| `body-text` | Texte de l’élément HTML dans le body ordinaire, comparé exactement après réduction des seuls espaces ASCII ; NBSP conservé. |
| `document-title` | Élément title enfant direct du head, même comparaison textuelle. Un titre SVG ne compte pas. |
| `link` | Élément HTML a dans le body, href non vide résolu par le lecteur WHATWG Node24 épinglé, égal à l’URL HTTP(S) absolue attendue. Area hors profil. |
| `canonical` | Link enfant direct du head portant le jeton rel canonical et la référence attendue. Ne prouve pas la préférence de Google ni l’unicité globale des canonicals. |
| `jsonld` | Script du head/body de type ASCII insensible à la casse application/ld+json sans paramètre ; chaîne brute au pointeur JSON préalable, comparée sans normalisation ni expansion. |
L’ID absent prouve uniquement l’absence **à cet ID**, pas celle du contenu dans
toute la page. Un ID dupliqué, namespace étranger, contexte inerte/masqué non
qualifié, shadow ou base explicite actif est inconclusive. Les hypothèses source
statiques avec/sans scripting doivent concorder : présent/absent contradictoires
restent inconnus. Aucune exécution JavaScript n’a lieu.
Le JSON est le texte brut du script : pas de décodage d’entités HTML. Bloc vide,
syntaxe JSON mal formée ou identité attendue absente/contraire : absence qualifiée
sur ce bloc complet. Clés dupliquées, non-fini, structure scalaire non prise en
charge, MIME avec paramètres, script externe, dépassement64KiB : inconclusive.
Objet/tableau, profondeur<=64 et<=50000 nœuds ; pointeur RFC6901 sans forme fragment,
index de tableau canonique, feuille chaîne. Aucune validation Schema.org/Google,
concordance sémantique ou identité JSON-LD développée n’est déduite ; TS31–33
restent distincts. Un @id relatif ne devient pas absolu implicitement.
Les DOM fournis utilisent structured-inventory-v2, même navigation déclarée,
empreintes, HTTP et User-Agent associés, document complet, scripts activés,
sans erreurs, date après réception HTTP et avant la fin de fenêtre. Les limites
du collecteur, frames non collectés et shadow fermé inconnu restent explicites.
Une empreinte égale entre plusieurs états est un diagnostic, pas une preuve
qu’ils sont indépendants ni une erreur automatique.
Un texte/lien rendu structurellement présent nécessite aussi une revue de
contexte/visibilité liée à `{url,intent,http,state,item_id}`. Elle est postérieure
à l’état et antérieure à l’évaluation, complète, avec les champs de provenance
ci-dessus. `supported` confirme le jugement fourni ; `contradiction` fournit un
défaut. Plusieurs revues du même couple élément/état, même identiques, restent
inconclusives ; aucune préférence pour la dernière. Une absence native déjà
qualifiée reste un défaut sans cette revue. Title/canonical/JSON-LD reposent sur
leurs critères structurels explicites, sans jugement de visibilité CSS.
### Composition et inconnues
A02 applique la politique de chaque élément : source-only utilise la source ;
render-only exige tous ses états ; source-or-render passe si une branche est
présente, échoue seulement si les deux sont absentes ; source-and-render exige
les deux branches et échoue si l’une est absente. Dans la branche rendue requise,
une absence qualifiée domine une autre inconnue ; sinon tout doit être présent.
L’état requis manquant rend sa lecture inconnue, pas absente. Une branche source
positive peut donc satisfaire OR même si un état rendu manque.
Les états fournis non prévus ou dupliqués rendent la couverture inconnue. Ils
ne suppriment jamais un défaut indépendant qualifié. Cette limite conservatrice
peut faire passer une couverture de C à NT lorsqu’on ajoute des pièces hors plan ;
elle n’invente pas NC. Un élément inconnu n’efface pas un autre élément absent.
A01/A02 restent séparés : C exige les deux pass, NC conserve tout fail qualifié,
NT exprime les preuves restantes insuffisantes. Aucune NA native.
### Transport, original, migration et limites
L’adaptateur conserve l’entrée exacte et les revues originales. Chaque
self-digest DOM/support fourni est contrôlé, y compris hors plan. Une corruption
ou provenance explicitement incompatible provoque un refus technique sans
publication de rapport ; cela n’est pas un NT. L’entrée totale est bornée8MiB,
les diagnostics4MiB, les valeurs attendues1024 caractères. Aucun dépassement ne
permet une conclusion d’absence tronquée. Export et rejeu conservent les versions
exactes sans accès à l’application ou au réseau.
Voir [migration](migration-draft.44.md). Aucun verdict TS44/TS31/TS32/TS33 n’est
emprunté. Les autres rôles, interactions et conditions ne sont pas implicitement
couverts. Le profil ne prouve ni vérité, autorité thématique, absence de
cannibalisation, indexation, classement ou conformité globale.
## English
Draft.44 / reader3: supplied TS25 review fields reviewer, assistance and reason are each limited to8192 raw UTF8 bytes before strip or normalization; each entire review object, including additional fields, to32768 compact UTF8 JSON bytes. Admission checks every supplied review, including unused ones. An overrun is technical refusal before publication, never public C or NT; exact originals are not rewritten. Each native rule diagnostic is bounded to4MiB of sorted compact UTF8 JSON, including A01 and error returns. Overflow produces an explicitly incomplete compact diagnostic retaining an independently established fail, otherwise inconclusive; never pass. Transport refuses that marker and also caps the sum of actual serialized TS25 observation artifacts per target at4MiB (UTF8 JSON indent2, trailing newline), for requested rules. Individual maxima do not guarantee that every combination satisfies aggregate bounds. Other controls and the shared validator are unchanged.
Draft.43 / reader2: render is a documentary object containing states. render:[] is not render:{states:[]}. A non-object container or malformed population makes coverage unknown, without coercion or stopping independent source readings. An independently required qualified source absence remains fail; positive source cannot turn unknown coverage into pass. An empty states list is valid when no state is required. Reviews remain bound to state IDs, never indexes. This TS25-specific boundary does not migrate TS23. Contradicted self-digests remain technical refusal.
TS25 compares **prior declared critical items** with supplied original HTTP and
DOM states. C applies only to that population, inventory, policies and conditions.
It proves neither site completeness nor what Google rendered/indexed. Scope and
visibility/context judgments must actually be supplied by their responsible
reviewer; bindings and chronology are checked, authors are not authenticated.
Authored exercises remain synthetic.
Capture input2 retains url, observed_at, context, intent, http, render,
presence_synthetic, presence_plan_review and presence_context_reviews. The prior
intent.critical_presence contains reader, window_start/end, max_duration_ms,
origins, final_url, population, scope_reason, items, roles and states. Intent must
precede a <=24h window; each HTTP exchange<=30000ms; exact client and network/tool
context supplied. Initial/final/hop URLs must belong to1–16 declared exact origins.
A complete expected final200 is required; other status/unknown attribution is
inconclusive for presence, without replacing TS01/02.
1–32 unique items contain id, role, reason, selector_id, expected, policy, states;
JSON-LD adds json_pointer. Selectors are literal IDs, not arbitrary CSS. At most16
prior states each contain exactly id, reason, browser, browser_version, conditions;
last three match the supplied state. Source-only items select no states; other
policies select1–16. Optional planned diagnostic states may accompany source-only.
A01 requires exactly five explicit role dispositions: included with exact item_ids,
or outside-declared-scope with zero items and a reason. A generic completeness
assertion is insufficient. An exclusion is not NA. The complete prior supplied
review binds canonical digest of {url,intent}, dated between declaration and window
start, with reviewer, assistance, reason, provenance, judgment. Supported passes;
contradiction fails; missing, invalid or unknown review is inconclusive. A passing
check does not authenticate that judgment.
The five roles are: ordinary-body HTML text with ASCII whitespace collapse only
(NBSP retained); direct-head document title; ordinary-body native a/href equal to
the declared absolute HTTP URL through pinned Node24 WHATWG resolution (area
unsupported); direct-head link rel canonical with expected target; and inline
head/body JSON-LD script with exact case-insensitive MIME application/ld+json and
no parameters, compared as a raw string at a prior JSON pointer. Canonical here
does not establish global uniqueness or Google preference. Missing ID proves
absence at that ID only. Duplicate ID, foreign/inert/unqualified hidden context,
shadow or active explicit base is unknown. Two alternative static source hypotheses
must agree; disagreement is unknown, not a rendered-state conjunction. No JS runs.
JSON is raw script text without HTML entity decoding or JSON-LD expansion.
Empty/malformed syntax or missing/conflicting expected identity in a complete
selected block fails that item. Duplicate keys, nonfinite values, unsupported
scalars, parameterized MIME, external script or >64KiB block are unknown.
Object/array required, depth<=64 and<=50000 nodes; RFC6901 pointer, no fragment
syntax, canonical array indexes and string leaves. Relative @id stays relative.
No Schema.org/Google eligibility or semantic validity, no borrowed TS31–33 verdict.
Supplied structured-inventory-v2 DOM must be complete, script-enabled, without
errors, after HTTP and within the window, bound to supplied same-navigation HTTP
and User-Agent. Collector bounds, uncollected frames and unknown closed shadow
remain explicit. Equal snapshot hashes across states are diagnostic, neither proof
of independent observations nor automatic failure.
Structurally present rendered body-text/link requires a complete supplied context/
visibility judgment bound to {url,intent,http,state,item_id}, after snapshot and
before assessment. Supported confirms the supplied judgment; contradiction fails.
Missing, unbound or multiple reviews for one item/state (even identical) are
unknown; no latest-wins rule. Qualified native absence remains failure without a
review. Title/canonical/JSON-LD use the stated structural criteria, without CSS
visibility claims.
A02: source-only uses source; render-only requires all selected states; OR passes
if either branch is present and fails only if both are absent; AND needs both
present and fails if either is absent. In required rendered states, qualified
absence dominates unknown; otherwise all must be present. Missing state means
unknown, not absent. Positive source can satisfy OR despite missing render.
Unplanned or duplicate supplied states make coverage unknown without erasing an
independent failure. Adding out-of-plan evidence may reduce coverage C to NT,
never fabricate NC. One unknown item never erases another qualified absence.
Whole-control C requires A01/A02 pass; any fail yields NC, otherwise NT. No native NA.
Adapter checks every supplied DOM/support self-digest, including out-of-plan
states. Corruption or explicit provenance mismatch is technical refusal with no
report, distinct from NT. Exact originals/reviews retained. Input<=8MiB, combined
diagnostics<=4MiB, expected string<=1024 characters; exceeded bounds cannot justify
truncated absence. Export/replay binds exact versions without application/network.
[Migration](migration-draft.44.md) is explicit, no historical artifact rewritten.
No actual execution, authenticated review, semantic truth, topical authority,
cannibalization, indexing, ranking or global conformity inferred.
## Public reference / Référence publique
[Google JavaScript SEO basics](https://developers.google.com/search/docs/crawling-indexing/javascript/javascript-seo-basics)
distinguishes crawling/rendering concerns. It is contextual documentation, not a
validation of this profile. Public dated capture2026-10-15T01:35:11Z,
SHA-256 `3bf8735af5e3ea4a0b99c06eeb2373afa5b65cac0bc8c77c1ff9626074937970`,
221711 bytes; acquisition receipt retained in the local qualification dossier.
Rendu et transport / Rendering and transport
# Rendu, HTML et transport / Render, HTML and transport — v1
0.3.0-draft.4. Treize nouvelles règles / Thirteen new rules. All fixtures and capture examples are SYNTHETIC / SYNTHÉTIQUES. No actual site audit.
## TS26-A01 — Accès des ressources et politiques natives / Resource access and native policies
Entrées / Inputs: `http, robots, html, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Sur chaque ressource critique sélectionnée, comparer HTTP direct200, robots du même origin et intersection des CSP HTTP du document HTTPS. Relever la source complète pour exclure une CSP meta non qualifiée.
EN: For each selected critical resource compare direct HTTP200, same-origin robots and intersection of HTTP CSP policies from the HTTPS document. Retain complete source to exclude unqualified meta CSP.
**Attendus / Expectations**
FR : Une erreur HTTP, un refus robots ou un refus CSP qualifié échoue indépendamment des autres lacunes.
EN: A qualified HTTP error, robots denial or CSP denial fails independently of other gaps.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, robots, html, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, robots, html, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Inventaire absent, robots non fourni, directive CSP non prise en charge, nonce, meta CSP, source ambiguë ou revue absente : NT.
EN: Absent inventory, missing robots, unsupported CSP directive, nonce, meta CSP, ambiguous source or absent review: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS26-A02 — Trafic et console attribués au rendu / Traffic and console attributed to rendering
Entrées / Inputs: `render, http, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS26, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS26 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Lire un export HAR borné fourni, relier la réponse du document aux octets HTTP, puis vérifier chaque ressource critique. Conserver la console datée liée au HAR et la revue de criticité.
EN: Read a supplied bounded HAR export, bind its document response to native HTTP bytes, then check every critical resource. Retain dated HAR-bound console and criticality review.
**Attendus / Expectations**
FR : Les ressources sélectionnées ont une réponse2xx sans erreur réseau fournie. Une erreur console sans classification qualifiée reste NT ; un échec réseau natif reste NC.
EN: Selected resources have2xx responses without supplied network error. Unclassified console errors remain NT; native network failure remains NC.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : render, http, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: render, http, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : HAR incomplet, corps absent, contexte/session non attribué, console absente ou erreur non qualifiée : NT.
EN: Incomplete HAR, omitted body, unattributed context/session, missing console or unqualified error: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS27-A01 — Routes et historique attribués / Attributed routes and history
Entrées / Inputs: `http, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Vérifier quatre états fournis dans l’ordre direct, actualisation, retour, avance : session, séquence, date, URL, liaison à la réponse serveur et statut.
EN: Check four supplied states in direct, refresh, back, forward order: session, sequence, time, URL, server-response binding and status.
**Attendus / Expectations**
FR : Chaque état conserve l’URL de route et sa source200 prévue. Une URL ou un statut contraire qualifié échoue.
EN: Every state retains its route URL and intended200 source. A qualified conflicting URL or status fails.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : État, action, liaison, session ou ordre absent/ambigu ; surface frame/shadow non collectée : NT.
EN: Missing/ambiguous state, action, binding, session or order; uncollected frame/shadow surface: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS27-A02 — Contenu et canonical par état SPA / Content and canonical in each SPA state
Entrées / Inputs: `http, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS27, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS27 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Dans les mêmes états qualifiés, comparer les identifiants littéraux, textes essentiels et destinations de liens au plan, puis une canonical explicite dans head. Exiger la revue de fonctionnement.
EN: Within the same qualified states compare literal IDs, essential text and link destinations with the plan, then one explicit head canonical. Require operation review.
**Attendus / Expectations**
FR : Les états conservent contenus et signaux propres. Absence sur surface complète, contenu divergent ou canonical contraire échoue.
EN: States retain their intended content and signals. Absence on a complete surface, differing content or conflicting canonical fails.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : État partiel, contexte masqué, ID ambigu, hypothèses HTML divergentes ou revue absente : NT.
EN: Partial state, hidden context, ambiguous ID, differing HTML hypotheses or absent review: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS28-A01 — Structure native et structure DOM fournie / Native source and supplied DOM structure
Entrées / Inputs: `html, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Comparer dans la source et la sérialisation fournie : titre, langue, main déclaré, liste ordonnée des titres, liens et libellés. Le nombre de H1 est celui du plan.
EN: Compare source and supplied serialization: title, language, declared main landmark, ordered headings, links and labels. H1 count follows the plan.
**Attendus / Expectations**
FR : Les structures correspondent au plan préalable ; divergences structurelles qualifiées échouent.
EN: Structures agree with the prior plan; qualified structural conflicts fail.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Source/DOM absent, langue non déclarée, arbre ambigu ou contexte visuel non qualifié : NT.
EN: Absent source/DOM, undeclared language, ambiguous tree or unqualified visual context: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS28-A02 — Revue du sens et de la navigation / Meaning and navigation review
Entrées / Inputs: `html, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS28, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS28 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Reprendre les faits structurels attribués et exiger une revue distincte liée : adéquation du titre et de la langue, hiérarchie, sujet principal, navigation et libellés dans l’usage déclaré.
EN: Reuse attributed structural facts and require a distinct bound review of title/language adequacy, hierarchy, main subject, navigation and labels in declared use.
**Attendus / Expectations**
FR : Les faits sont qualifiés et le jugement motivé soutient le sens et l’usage ; contradiction étayée échoue.
EN: Facts are qualified and a reasoned judgment supports meaning and use; evidenced contradiction fails.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Le parseur seul, une revue sans liaison ou des originaux insuffisants ne suffisent pas : NT.
EN: Parser output alone, an unbound review or insufficient originals are not enough: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS29-A01 — Scénario scripts bloqués et repli testé / Blocked-script scenario and tested fallback
Entrées / Inputs: `html, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Lire la source et un état fourni explicitement scripts-blocked ; comparer chaque contenu/lien essentiel, ou le repli prédéclaré dans ce même état. Exiger la revue des actions et du fonctionnement.
EN: Read source and a supplied state explicitly marked scripts-blocked; compare every essential content/link or the prior fallback within that same state. Require action and operation review.
**Attendus / Expectations**
FR : Tous les attendus principaux ou tous ceux du repli testé sont étayés. Un échec principal et du repli qualifiés échoue ; aucune fonction n’est déduite du texte seul.
EN: All main expectations or all tested fallback expectations are supported. Qualified failures of both main and fallback fail; text alone does not establish function.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Condition normale, capture partielle, repli seulement décrit, contexte masqué ou revue manquante : NT.
EN: Normal condition, partial capture, merely described fallback, hidden context or missing review: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS29-A02 — Scénario styles dégradés et repli testé / Degraded-style scenario and tested fallback
Entrées / Inputs: `html, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS29, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS29 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Appliquer le même examen dans un état explicitement styles-degraded, avec observations d’actions et revue liée. Ne pas assimiler la désactivation des scripts à ce scénario.
EN: Apply the same examination in an explicitly styles-degraded state with action observations and a bound review. Script disabling does not qualify this scenario.
**Attendus / Expectations**
FR : Les fonctions essentielles ou le repli testé restent étayés dans ce scénario distinct.
EN: Essential functions or tested fallback remain supported in this distinct scenario.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Absence de scénario styles dégradés, preuve de repli ou jugement attribué : NT.
EN: Missing degraded-style scenario, fallback evidence or attributed judgment: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS30-A01 — Métadonnées et doublons du corpus déclaré / Metadata and duplicates in the declared corpus
Entrées / Inputs: `html, content, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Lire title, description, H1, og:title, og:description natifs par page. Comparer aux valeurs prévues puis les doublons entre pages sélectionnées ; exiger une décision préalable pour chaque doublon intentionnel.
EN: Read native title, description, H1, og:title, og:description for each page. Compare prior values and duplicates among selected pages; require a prior decision for each intentional duplicate.
**Attendus / Expectations**
FR : Valeurs et multiplicité concordent ; chaque doublon observé possède une décision motivée unique. Le corpus ne dépasse pas les pages fournies.
EN: Values and multiplicity agree; each observed duplicate has one reasoned decision. The corpus is limited to supplied pages.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Source absente, politique de champ omise, parse ambigu ou revue manquante : NT. null autorise seulement un champ facultatif explicitement absent.
EN: Missing source, omitted field policy, ambiguous parse or missing review: NT. null permits only an explicitly absent optional field.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS30-A02 — Cohérence éditoriale et contenu principal / Editorial coherence and main content
Entrées / Inputs: `html, content, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS30, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS30 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Rapprocher les métadonnées natives et le contenu principal identifié ; exiger une revue distincte de la promesse, du sens et de la visibilité pertinente.
EN: Reconcile native metadata and identified main content; require a distinct review of promise, meaning and relevant visibility.
**Attendus / Expectations**
FR : Les faits concordent avec le plan et la revue éditoriale liée les soutient ; une contradiction native ou humaine qualifiée échoue.
EN: Facts agree with the plan and the bound editorial review supports them; qualified native or human contradiction fails.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : html, content, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: html, content, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Source/rendu nécessaire non qualifié, contenu masqué, sens sans revue ou jugement non lié : NT.
EN: Unqualified required source/rendering, hidden content, meaning without review or unbound judgment: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS37-A01 — Certificats, hôte, date et confiance fournie / Certificates, host, time and supplied trust
Entrées / Inputs: `tls, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Relire les PEM publics fournis avec OpenSSL3 hors réseau : chaîne, usage serveur, hôte DNS, heure fournie et racines explicitement fournies. Désactiver magasins implicites ; conserver version et diagnostic.
EN: Recheck supplied public PEMs with offline OpenSSL3: chain, server purpose, DNS host, supplied time and explicit supplied roots. Disable implicit stores; retain version and diagnostic.
**Attendus / Expectations**
FR : La vérification du profil réussit sous les racines fournies. Une erreur X509 prise en charge, dont expiration ou mauvais hôte, échoue.
EN: Profile verification succeeds under supplied roots. A supported X509 error, including expiry or wrong host, fails.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : tls, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: tls, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : OpenSSL3 absent, PEM inutilisable, capture mal attribuée, racines absentes ou code d’erreur non qualifié : NT.
EN: Missing OpenSSL3, unusable PEM, misattributed capture, absent roots or unqualified error code: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS37-A02 — Redirections HTTPS et décision HSTS / HTTPS redirects and HSTS decision
Entrées / Inputs: `http, configuration, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Suivre la chaîne HTTP fournie vers HTTPS sans rétrogradation, vérifier la réponse directe200, comparer configuration HSTS et en-tête au plan : activation, max-age, sous-domaines, portée, propriétaire, motif.
EN: Follow the supplied HTTP chain to HTTPS without downgrade, check direct200 response, compare HSTS configuration and header with planned enablement, max-age, subdomains, scope, owner and rationale.
**Attendus / Expectations**
FR : Chaînes et décision HSTS concordent ; HSTS peut être désactivé explicitement. Aucun preload imposé.
EN: Chains and HSTS decision agree; HSTS may be explicitly disabled. No preload requirement.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, configuration, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, configuration, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : Chaîne/configuration manquante, en-tête ambigu, portée ou décision absente : NT.
EN: Missing chain/configuration, ambiguous header, absent scope or decision: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## TS37-A03 — Sous-ressources et trafic mixte du périmètre / Embedded resources and mixed traffic in scope
Entrées / Inputs: `http, render, intent`.
**Périmètre / Scope**
FR : Population finie préalable de TS37, profil render-transport-v1 ; voir docs/render-transport-evidence.md.
EN: Prior finite TS37 population under render-transport-v1; see docs/render-transport-evidence.md.
**Procédure / Procedure**
FR : Relier HAR et console au document HTTPS ; examiner les requêtes observées et les URL intégrées de la source. Le profil strict exige HTTPS pour ces ressources, même si un navigateur peut les mettre à niveau.
EN: Bind HAR and console to the HTTPS document; inspect observed requests and source embedded URLs. The strict profile requires HTTPS for these resources even when a browser might upgrade them.
**Attendus / Expectations**
FR : Aucune URL HTTP observée sur ces surfaces ; revue de la couverture dynamique consignée. Un HTTP natif observé échoue malgré une autre lacune.
EN: No HTTP URL observed on these surfaces; dynamic-coverage review retained. An observed native HTTP URL fails despite another gap.
**Preuves / Evidence**
FR : Originaux exacts, plan et dates/contexte, empreintes, diagnostics et revue motivée liée au dossier entier. Types : http, render, intent.
EN: Exact originals, plan and dates/context, fingerprints, diagnostics and reasoned review bound to the entire dossier. Kinds: http, render, intent.
**Hypothèses / Assumptions**
FR : Provenance, inventaire, état navigateur, conditions et jugement fournis, non authentifiés ; deux lectures HTML statiques ne sont pas deux navigations. La confiance TLS dépend des racines fournies.
EN: Supplied unauthenticated provenance, inventory, browser state, conditions and judgment; two static HTML readings are not two navigations. TLS trust depends on supplied roots.
**Indéterminés / Inconclusive**
FR : HAR tronqué, corps absent, CSS/srcset non qualifiés, contexte incomplet ou revue absente : NT.
EN: Truncated HAR, missing body, unqualified CSS/srcset, incomplete context or absent review: NT.
**Non-applicabilité / Non-applicability**
FR : Pas de NA atomique. Population vide ou domaine prétendu absent sans preuve reste NT dans ce profil.
EN: No atomic NA. Empty population or claimed absent domain without evidence remains NT in this profile.
**Limites / Limitations**
FR : Aucun audit réel déduit des cas synthétiques. Ni indexation, classement, conformité globale, certification d’accessibilité, sécurité exhaustive ou confiance universelle des navigateurs. La revue peut être erronée ; les captures peuvent omettre des états.
EN: No real audit inferred from synthetic cases. No indexing, ranking, global conformity, accessibility certification, exhaustive security or universal browser trust. Reviews may be wrong and captures may omit states.
## Contrat des entrées / Input contract
FR : reprendre le [dossier v1](evidence-dossier-v1.md), avec `reader=render-transport-v1`,1–32 items préalables identifiés, originaux natifs datés et revues liées au dossier entier. Aucun champ `status=C` ou verdict externe n'est lu. Le dossier reste limité à8MiB, chaque original et HTML à1MiB ; listes usuelles1–32, HAR128 requêtes, console128 événements. Les arbres parse5/Node24 conservent les deux hypothèses statiques,20 000 nœuds/profondeur128 et au plus2MiB de texte projeté cumulé. Une ambiguïté ou un dépassement donne NT, sans tronquer.
EN: reuse the [v1 dossier](evidence-dossier-v1.md), with `reader=render-transport-v1`,1–32 identified prior items, dated native originals and whole-dossier-bound reviews. No `status=C` or external verdict field is read. Dossiers remain bounded at8MiB, each original and HTML at1MiB; ordinary lists1–32, HAR128 requests, console128 events. parse5/Node24 trees retain both static hypotheses,20,000 nodes/depth128 and at most2MiB aggregate projected text. Ambiguity or overflow yields NT without truncation.
| Contrôle / Control | Champs du plan / Plan fields | Originaux / Originals |
|---|---|---|
| TS26 | `id,page,resources[{url,type,robots_url,robots_profile}],har,console,page_ref,complete_capture,capture_reason` | HTTP page/resources/robots ; HAR et console / HAR and console. `type` script/style/img/font/connect/media. |
| TS27 | `id,page,states[4],content[{id,text,href}],canonical` | Quatre états browser-state-v1 liés à leurs documents HTTP / Four browser-state-v1 records bound to HTTP documents. |
| TS28 | `id,page,state,structure{title,lang,main_id,headings[{id,tag,text}],links[{id,text,href}]}` | Source HTTP et état DOM fourni / HTTP source and supplied DOM state. |
| TS29 | `id,page,script_state,style_state,essential[{id,text,href}],fallback` | Source et deux états distincts ; fallback=null ou `{reason,content:[...]}` dans le même état testé / Source and two distinct states; fallback=null or `{reason,content:[...]}` within the same tested state. |
| TS30 | `id,pages[{url,metadata,content}],duplicate_decisions` | Sources HTTP sélectionnées / Selected HTTP sources. Five metadata keys: title,description,h1,og:title,og:description. Decisions: `{field,urls,value,reason,decision:'intentional'}`. |
| TS37 | `id,host,page,http_variant,certificates,configuration,hsts,har,console,page_ref,complete_capture,capture_reason` | HTTP, certificats/racines publics, configuration, HAR, console / HTTP, public certificates/roots, configuration, HAR, console. |
FR : `browser-state-v1` est un original JSON fourni sous kind `render`, avec `page_url,source_document,source_http_sha256,html,browser{name,version},session,sequence,action,condition,captured_at,complete,shadow_roots,frames,steps,failures`. `source_document` désigne l'ID unique d'un document natif ; son tableau `http` est lié par le SHA256 JSON canonique du dossier. `steps` décrit les actions effectivement observées et leurs résultats, pas seulement un plan de test ; le réviseur doit juger leur suffisance pour le fonctionnement. `complete=true`, frames=shadow_roots=0 et failures=[] sont requis dans ce profil. Ils restent des déclarations fournies, jamais authentifiées. Les actions de route sont direct/refresh/history-back/history-forward avec séquences0–3 et même session ; conditions normal/scripts-blocked/styles-degraded. Une sérialisation documentaire ne prouve pas une exécution navigateur ni la visibilité CSS. Les contextes hidden/inert/aria-hidden/style/details/dialog/noscript et les ID dupliqués restent indéterminés pour le contenu sélectionné.
EN: `browser-state-v1` is supplied original JSON under kind `render`, with `page_url,source_document,source_http_sha256,html,browser{name,version},session,sequence,action,condition,captured_at,complete,shadow_roots,frames,steps,failures`. `source_document` identifies a unique native document; its `http` array is bound by the dossier's canonical JSON SHA256. `steps` describes actually observed actions and their results, not merely a test plan; the reviewer must judge their adequacy for operation. This profile requires `complete=true`, frames=shadow_roots=0 and failures=[]. These remain supplied unauthenticated declarations. Route actions are direct/refresh/history-back/history-forward with sequence0–3 in one session; conditions are normal/scripts-blocked/styles-degraded. Documentary serialization does not prove browser execution or computed CSS visibility. hidden/inert/aria-hidden/style/details/dialog/noscript contexts and duplicate IDs remain inconclusive for selected content.
FR : le HAR est conservé dans ses octets originaux, sans enveloppe de verdict, sous kind `render`. Sous-ensemble lu : `log.version=1.2`, creator/browser{name,version}, une page avec id/startedDateTime et1–128 entries avec pageref/startedDateTime/request{method,url}/response{status,content{text,encoding}}. GET seulement ; corps principal littéral UTF8 ou base64, identique à la réponse HTTP native et même statut. Les entrées absentes ou répétées pour une ressource critique sont NT. Les champs supplémentaires restent archivés sans devenir des preuves interprétées. `browser-console-v1` contient page_url, har_sha256 (octets originaux), complete et events[{level,text,url,timestamp}]. Une console sans erreur ne prouve ni absence d'autres erreurs hors fenêtre ni rendu réussi ; la revue qualifie la couverture. Une erreur non classifiée donne NT ; ce lecteur ne fabrique aucune classification humaine.
EN: HAR original bytes are retained without a verdict wrapper under kind `render`. Read subset: `log.version=1.2`, creator/browser{name,version}, one page with id/startedDateTime and1–128 entries with pageref/startedDateTime/request{method,url}/response{status,content{text,encoding}}. GET only; literal UTF8 or base64 main body must equal native HTTP body with the same status. Missing/repeated critical-resource entries are NT. Additional fields remain archived without becoming interpreted evidence. `browser-console-v1` contains page_url, har_sha256 (original bytes), complete and events[{level,text,url,timestamp}]. An error-free console proves neither absence of other errors outside its window nor successful rendering; review qualifies coverage. Unclassified errors yield NT; this reader never manufactures a human classification.
FR : CSP est limité aux ressources de documents HTTPS : expressions none/self/*, schémas http:/https: (http: autorise aussi l'évolution vers https:) et origins HTTPS explicites sans chemin. Les directives de récupération sélectionnées suivent script-src-elem/style-src-elem, puis script-src/style-src, puis default-src ; plusieurs politiques s'intersectent. Une extension, un nonce/hash, strict-dynamic, une expression de chemin ou CSP meta nécessite une autre méthode et reste NT. Ce profil n'évalue pas l'exécution inline, l'injection ou la sûreté générale de CSP.
EN: CSP is limited to resources of HTTPS documents: none/self/* expressions, http:/https: schemes (http: also allows upgrading to https:) and explicit HTTPS origins without paths. Selected fetch directives follow script-src-elem/style-src-elem, then script-src/style-src, then default-src; multiple policies intersect. Extensions, nonce/hash, strict-dynamic, path expressions or meta CSP require another method and remain NT. This profile does not assess inline execution, injection or overall CSP security.
FR : `tls-certificates-v1` contient host,captured_at,leaf_pem,intermediates_pem (0–8),trust_store (ID original kind tls),trust_scope. Clés privées interdites. OpenSSL3 est lancé sans shell, sans option de récupération, avec magasin fourni seul, profondeur8, niveau d'authentification2, usage sslserver, hôte DNS et heure fournie. Les codes X509 explicitement reconnus sont2,7,9,10,18,19,20,21,23,24,25,26,27,28,30,32,34,62,66,67,68 ; autre sortie/erreur technique : NT. Ni révocation OCSP/CRL, politique d'entreprise, confiance publique, Certificate Transparency, configuration du serveur ou négociation TLS réelle ne sont établies. TSEP_OPENSSL peut désigner un exécutable local OpenSSL3.
EN: `tls-certificates-v1` contains host,captured_at,leaf_pem,intermediates_pem (0–8),trust_store (original kind tls ID),trust_scope. Private keys are forbidden. OpenSSL3 runs without a shell or fetching option, with supplied trust alone, depth8, authentication level2, sslserver purpose, DNS host and supplied time. Explicitly recognized X509 codes are2,7,9,10,18,19,20,21,23,24,25,26,27,28,30,32,34,62,66,67,68; other output/technical error: NT. OCSP/CRL revocation, enterprise policy, public trust, Certificate Transparency, server configuration and actual TLS negotiation are not established. TSEP_OPENSSL may select a local OpenSSL3 executable.
FR : `transport-policy-v1` contient host et hsts{enabled,max_age,include_subdomains,scope,reason,owner}, identique au plan. max_age est entier0–2³¹−1 ; un seul en-tête, directives max-age/includeSubDomains/preload reconnues, pas de preload requis ni inféré. Le profil contenu mixte strict examine URL observées HAR et src, poster, data, liens stylesheet/preload/modulepreload/icon de la source. CSS, srcset, frames/shadow, schémas spéciaux et surfaces dynamiques absentes sont NT. Les ressources HTTP sont NC pour ce profil explicite même si un navigateur les bloque ou les met à niveau : ce n'est pas une simulation universelle du navigateur.
EN: `transport-policy-v1` contains host and hsts{enabled,max_age,include_subdomains,scope,reason,owner}, identical to the plan. max_age is integer0–2³¹−1; one header, recognized max-age/includeSubDomains/preload directives, no required or inferred preload. The strict mixed-content profile examines observed HAR URLs and source src, poster, data, stylesheet/preload/modulepreload/icon links. CSS, srcset, frames/shadow, special schemes and absent dynamic surfaces are NT. HTTP resources are NC under this explicit profile even if a browser blocks or upgrades them: this is not universal browser simulation.
FR : une contradiction native indépendante demeure NC malgré une revue absente. Une contradiction humaine sur originaux insuffisants demeure NT. C exige tous les items et toutes les règles du contrôle, preuves et revue incluses ; un seul sondage ne qualifie jamais le site entier. Les fixtures, certificats et revues synthétiques ne peuvent être requalifiés en preuves publiques réelles. Voir [migration](migration-0.3.0-draft.4.md) et [références datées](source-captures/render-transport-2026-10-18.md).
EN: an independent native contradiction remains NC despite an absent review. Human contradiction with insufficient originals remains NT. C requires every item and every control rule, including evidence and review; one probe never qualifies an entire site. Synthetic fixtures, certificates and reviews cannot be relabelled as real public evidence. See [migration](migration-0.3.0-draft.4.md) and [dated references](source-captures/render-transport-2026-10-18.md).