{
  "contract": {
    "id": "external-indexing-evidence-template",
    "name": "External Indexing Evidence Template",
    "htmlPath": "/discoverability",
    "artifactPath": "/reliability/external-indexing-evidence-template.json",
    "artifactVersion": "2026-06-07.phase2-gsc-evidence",
    "generatedAt": "2026-06-07T00:00:00.000Z",
    "description": "Static template for recording real external indexing, crawler, referrer, and search-performance evidence without treating placeholders as proof."
  },
  "template": {
    "contract": {
      "id": "external-indexing-evidence-template",
      "name": "External Indexing Evidence Template",
      "htmlPath": "/discoverability",
      "artifactPath": "/reliability/external-indexing-evidence-template.json",
      "artifactVersion": "2026-06-07.phase2-gsc-evidence",
      "generatedAt": "2026-06-07T00:00:00.000Z",
      "description": "Static template for recording real external indexing, crawler, referrer, and search-performance evidence without treating placeholders as proof."
    },
    "mode": "external_evidence_capture_template",
    "discoverabilityStatusArtifact": "/reliability/discoverability-status.json",
    "discoverabilityStatusUrl": "https://trading4ai.com/reliability/discoverability-status.json",
    "generatedAt": "2026-06-07T00:00:00.000Z",
    "instructions": [
      "Copy one templateRecords entry only after the named external source has been inspected or exported.",
      "Replace every replace_with_external_observation placeholder with observable source output, timestamps, URLs, counts, or tool fields.",
      "Keep the acceptableEvidence and unacceptableEvidence lists attached to the captured record.",
      "Do not convert this template into proof until it contains external source evidence and an observedAt timestamp."
    ],
    "templateRecords": [
      {
        "targetRecordId": "google_search_console_submission",
        "platform": "Google Search Console",
        "sourceStatus": "external_action_required",
        "action": "confirm sitemap remains accepted and inspect priority reliability pages",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "submittedSitemapUrl": "replace_with_external_observation",
          "inspectedUrl": "replace_with_external_observation",
          "inspectionStatus": "replace_with_external_observation",
          "lastCrawl": "replace_with_external_observation",
          "indexingAllowed": "replace_with_external_observation",
          "query": "replace_with_external_observation",
          "impressions": "replace_with_external_observation",
          "clicks": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "sitemap accepted",
          "priority URLs crawled",
          "indexed status",
          "search impressions"
        ],
        "collectionInputs": [
          "Search Console property access for https://trading4ai.com",
          "submitted sitemap record for https://trading4ai.com/sitemap.xml",
          "URL Inspection output for priority reliability pages",
          "Performance export filtered to Financial Agent Reliability Materials query families"
        ],
        "acceptableEvidence": [
          "Sitemap status accepted or processed by Google Search Console",
          "URL Inspection result with Last crawl, Crawled as, Page fetch, and Indexing allowed fields",
          "indexed URL status for a priority reliability page",
          "Search performance row containing query, URL, impressions, clicks, country, device, and observed date"
        ],
        "unacceptableEvidence": [
          "local build or release-gate success",
          "sitemap URL is reachable from a browser or curl only",
          "IndexNow HTTP 202 response",
          "manual claim that Google should discover the page"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "google_search_console_sitemap_success",
        "platform": "Google Search Console",
        "sourceStatus": "recorded_external_evidence_available",
        "action": "record the already observed sitemap Success result separately from URL Inspection evidence",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "submittedSitemapUrl": "replace_with_external_observation",
          "sitemapStatus": "replace_with_external_observation",
          "discoveredPages": "replace_with_external_observation",
          "sourceLabel": "replace_with_external_observation",
          "sourceExportedAt": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "sitemap status",
          "submitted sitemap URL",
          "discovered page count",
          "source export timestamp"
        ],
        "collectionInputs": [
          "Google Search Console property access for https://trading4ai.com",
          "Sitemaps report row for https://trading4ai.com/sitemap.xml",
          "status, last-read/submitted date, and discovered page count from the Sitemaps report"
        ],
        "acceptableEvidence": [
          "Google Search Console Sitemaps report showing the submitted sitemap URL, status, and discovered page count",
          "Sitemaps report export or screenshot with source label and capture/export timestamp"
        ],
        "unacceptableEvidence": [
          "individual URL indexing proof",
          "URL Inspection result treated as the sitemap report",
          "local build or release-gate success",
          "browser or curl reachability of sitemap.xml only",
          "IndexNow HTTP 202 response"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "google_search_console_url_inspection",
        "platform": "Google Search Console",
        "sourceStatus": "external_action_required",
        "action": "inspect priority reliability URLs and record URL-level crawl/index fields separately",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "inspectedUrl": "replace_with_external_observation",
          "inspectionStatus": "replace_with_external_observation",
          "pageFetch": "replace_with_external_observation",
          "lastCrawl": "replace_with_external_observation",
          "crawledAs": "replace_with_external_observation",
          "indexingAllowed": "replace_with_external_observation",
          "sourceLabel": "replace_with_external_observation",
          "sourceExportedAt": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "inspected URL",
          "inspection status",
          "page fetch",
          "last crawl",
          "crawled as",
          "indexing allowed"
        ],
        "collectionInputs": [
          "Google Search Console property access for https://trading4ai.com",
          "URL Inspection output for one priority reliability URL at a time",
          "captured URL, page fetch, last crawl, crawled-as, indexing allowed, and source timestamp"
        ],
        "acceptableEvidence": [
          "Google Search Console URL Inspection result for a named TRADING4AI URL",
          "URL Inspection output with Page fetch, Last crawl, Crawled as, Indexing allowed, and inspected URL"
        ],
        "unacceptableEvidence": [
          "Search performance row treated as URL Inspection",
          "Sitemaps report treated as individual URL indexing proof",
          "local production smoke test only",
          "browser or curl reachability of the page only"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "google_search_console_search_performance",
        "platform": "Google Search Console",
        "sourceStatus": "external_action_required",
        "action": "export Search Performance rows for reliability-material queries and record query-level impressions/clicks separately",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "query": "replace_with_external_observation",
          "pageUrl": "replace_with_external_observation",
          "dateRange": "replace_with_external_observation",
          "impressions": "replace_with_external_observation",
          "clicks": "replace_with_external_observation",
          "country": "replace_with_external_observation",
          "device": "replace_with_external_observation",
          "sourceLabel": "replace_with_external_observation",
          "sourceExportedAt": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "query",
          "page URL",
          "date range",
          "impressions",
          "clicks",
          "country",
          "device"
        ],
        "collectionInputs": [
          "Google Search Console Performance report access for https://trading4ai.com",
          "query/page/date/country/device filtered export for Financial Agent Reliability Materials pages",
          "captured date range, query, URL, impressions, clicks, and source timestamp"
        ],
        "acceptableEvidence": [
          "Google Search Console Performance row with query, page URL, date range, impressions, clicks, country, and device",
          "Search Performance export preserving source label and export timestamp"
        ],
        "unacceptableEvidence": [
          "URL Inspection result treated as Search performance",
          "Sitemaps report status treated as impressions or clicks",
          "manual claim that a page should rank",
          "local production smoke test only"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "bing_webmaster_tools_submission",
        "platform": "Bing Webmaster Tools",
        "sourceStatus": "external_action_required",
        "action": "submit https://trading4ai.com/sitemap.xml and inspect priority reliability pages",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "submittedSitemapUrl": "replace_with_external_observation",
          "inspectedUrl": "replace_with_external_observation",
          "crawlStatus": "replace_with_external_observation",
          "indexStatus": "replace_with_external_observation",
          "crawlErrors": "replace_with_external_observation",
          "query": "replace_with_external_observation",
          "impressions": "replace_with_external_observation",
          "clicks": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "sitemap accepted",
          "priority URLs crawled",
          "indexed status",
          "crawl errors"
        ],
        "collectionInputs": [
          "Bing Webmaster Tools property access for https://trading4ai.com",
          "submitted sitemap record for https://trading4ai.com/sitemap.xml",
          "URL Inspection output for priority reliability pages",
          "crawl or search performance export when available"
        ],
        "acceptableEvidence": [
          "Bing sitemap submission status with submission or processed timestamp",
          "URL Inspection result with crawl, index, robots, and canonical fields",
          "crawl error report for a priority reliability URL",
          "search performance row containing query, URL, impressions, clicks, and observed date"
        ],
        "unacceptableEvidence": [
          "IndexNow submission accepted without a Bing crawl or index observation",
          "local production smoke test only",
          "reachable sitemap URL without Bing Webmaster processing status",
          "unverified screenshot without URL, timestamp, or tool context"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "ai_crawler_referrer_observation",
        "platform": "AI crawler/referrer logs",
        "sourceStatus": "external_observation_required",
        "action": "record AI crawler or referrer evidence when logs or analytics are available",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "source": "replace_with_external_observation",
          "userAgent": "replace_with_external_observation",
          "referrer": "replace_with_external_observation",
          "fetchedUrl": "replace_with_external_observation",
          "statusCode": "replace_with_external_observation",
          "requestCount": "replace_with_external_observation",
          "timeWindow": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "crawler user-agent",
          "fetched URL",
          "timestamp",
          "referrer or query when available"
        ],
        "collectionInputs": [
          "Cloudflare Web Analytics, access logs, server logs, or crawler/referrer analytics source",
          "filter for /llms.txt, /.well-known/agent.json, /for-agents, /discoverability, and reliability material pages",
          "user-agent and referrer fields when available",
          "time window and sampling boundary"
        ],
        "acceptableEvidence": [
          "observed request with user-agent, fetched URL, status code, and timestamp",
          "AI search or agent referrer row tied to a reliability material URL",
          "crawler fetch of llms.txt or agent.json followed by reliability material page fetches",
          "analytics export preserving source, URL, and observed time"
        ],
        "unacceptableEvidence": [
          "hypothetical AI crawler interest",
          "manual browser visit by the project owner",
          "generic traffic count without URL or source fields",
          "claim that a chatbot could use the site without observed fetch or citation evidence"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "ai_search_answer_citation_observation",
        "platform": "AI search answer citation",
        "sourceStatus": "external_observation_required",
        "action": "query AI search/answer surfaces and record whether they cite expected TRADING4AI reliability URLs",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "aiPlatform": "replace_with_external_observation",
          "query": "replace_with_external_observation",
          "expectedUrl": "replace_with_external_observation",
          "citedUrl": "replace_with_external_observation",
          "citationPresent": "replace_with_external_observation",
          "answerExcerpt": "replace_with_external_observation",
          "accountRegion": "replace_with_external_observation",
          "sourceLabel": "replace_with_external_observation",
          "sourceExportedAt": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "AI platform",
          "query",
          "expected URL",
          "cited URL",
          "answer excerpt",
          "timestamp"
        ],
        "collectionInputs": [
          "A named AI search or answer surface such as Gemini, Claude, Perplexity, ChatGPT Search, Doubao, or another comparable surface",
          "Exact query from monitoringLoop.searchQueryEvidenceMatrix",
          "Expected TRADING4AI URL and any cited URL returned by the answer",
          "Answer excerpt, capture timestamp, account/region context when available, and source label"
        ],
        "acceptableEvidence": [
          "Observed AI answer for an exact query with platform, timestamp, answer excerpt, and cited URL",
          "AI search result or answer citation that includes the expected TRADING4AI URL or a clearly related TRADING4AI material URL",
          "Export or screenshot transcript preserving query, answer, cited URL, platform, and capture time"
        ],
        "unacceptableEvidence": [
          "manual belief that AI systems should find the site",
          "a prompt drafted but not executed on an AI search/answer surface",
          "a generic answer that paraphrases TRADING4AI without cited URL evidence",
          "manual browser reachability or local production smoke test"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      },
      {
        "targetRecordId": "indexnow_submission_2026_06_03",
        "platform": "IndexNow",
        "sourceStatus": "submitted_external_recorded",
        "action": "monitor crawler, index, impression, click, or referrer evidence after the accepted IndexNow submission",
        "statusWhenCaptured": "recorded",
        "fields": {
          "observedAt": "replace_with_external_observation",
          "endpoint": "replace_with_external_observation",
          "httpStatus": "replace_with_external_observation",
          "submittedUrlCount": "replace_with_external_observation",
          "keyLocation": "replace_with_external_observation",
          "submittedUrlsSource": "replace_with_external_observation",
          "followUpEvidenceSource": "replace_with_external_observation"
        },
        "evidenceToRecord": [
          "submitted URL count",
          "endpoint",
          "HTTP status",
          "observed at",
          "response body if provided"
        ],
        "collectionInputs": [
          "IndexNow key file URL and key value stored outside public logs",
          "generated priority URL list from the shared discoverability surfaces",
          "submission endpoint response status",
          "follow-up Bing/Webmaster or crawler observations"
        ],
        "acceptableEvidence": [
          "IndexNow endpoint HTTP status, submitted URL count, endpoint, and observed timestamp",
          "online key-location check for the public key file",
          "follow-up crawl, index, impression, click, or referrer evidence from a separate external source",
          "submitted URL list generated from non-noindex priority surfaces"
        ],
        "unacceptableEvidence": [
          "IndexNow accepted response treated as ranking proof",
          "IndexNow accepted response treated as indexing proof",
          "manual URL list not generated from the shared discovery contract",
          "repeat submission without changed URLs or updated evidence"
        ],
        "primarySurfaceCandidates": [
          "https://trading4ai.com/",
          "https://trading4ai.com/current-capabilities",
          "https://trading4ai.com/agent-verification",
          "https://trading4ai.com/agent-verification/materials",
          "https://trading4ai.com/llms.txt",
          "https://trading4ai.com/.well-known/agent.json",
          "https://trading4ai.com/discoverability"
        ],
        "limitations": [
          "This template record is not proof until filled with external source output.",
          "Local build, local release gates, production fetch checks, and IndexNow acceptance are not search indexing proof by themselves."
        ]
      }
    ],
    "boundaries": [
      "Template rows are not proof until filled with external observations from Search Console, Bing Webmaster Tools, analytics, logs, or another named source.",
      "Do not record screenshots or claims without URL, timestamp, source platform, and observed field names.",
      "Do not treat IndexNow acceptance as crawl, index, ranking, impression, click, citation, or demand proof.",
      "Do not add personal data, API secrets, full tokens, or private customer records to this public template."
    ]
  }
}
