{
  "generatedAt": "2026-06-24T09:14:40.097Z",
  "project": "LLMs.txt Kit",
  "domain": "llmstxtkit.com",
  "campaign": "first-distribution",
  "status": "distribution_evidence_intake_ready_to_use",
  "summary": {
    "templateRecords": 18,
    "priorityRecords": 10,
    "existingEvidenceRecords": 0,
    "existingValidEvidence": 0,
    "finalDomainLive": true,
    "recordsWithTrackedUrls": 18,
    "recordsWithEvidenceCommands": 18
  },
  "files": {
    "publicJson": "/.well-known/distribution-evidence-intake-pack.json",
    "distJson": "dist/distribution-evidence-intake-pack.json",
    "jsonTemplate": "dist/distribution-evidence-input.template.json",
    "csvTemplate": "dist/distribution-evidence-input-template.csv",
    "markdown": "docs/distribution-evidence-intake-pack.md"
  },
  "templateRecords": [
    {
      "placementId": "hackernews-showhn",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "hackernews-showhn",
      "channel": "hackernews",
      "community": "Hacker News",
      "trackedUrl": "https://llmstxtkit.com/data/ai-crawler-policy-benchmark.html?utm_source=hackernews&utm_medium=launch-post&utm_campaign=first-distribution&utm_content=hackernews-showhn",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'hackernews-showhn' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "ai-tools-directory",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "ai-tools-directory",
      "channel": "directory",
      "community": "Curated AI tools or SEO tools directory",
      "trackedUrl": "https://llmstxtkit.com/tools/?utm_source=directory&utm_medium=listing&utm_campaign=first-distribution&utm_content=ai-tools-directory",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'ai-tools-directory' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "reddit-ai-robots-checker",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "reddit-ai-robots-checker",
      "channel": "reddit",
      "community": "Reddit SEO, webdev, or webmaster thread",
      "trackedUrl": "https://llmstxtkit.com/tools/ai-crawler-robots-txt-checker.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-ai-robots-checker",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'reddit-ai-robots-checker' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "reddit-ai-robots-generator",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "reddit-ai-robots-generator",
      "channel": "reddit",
      "community": "Reddit SEO or webmaster thread",
      "trackedUrl": "https://llmstxtkit.com/tools/ai-robots-txt-generator.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-ai-robots-generator",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'reddit-ai-robots-generator' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "seo-newsletter-tip",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "seo-newsletter-tip",
      "channel": "community",
      "community": "SEO newsletter, webmaster roundup, or curator email",
      "trackedUrl": "https://llmstxtkit.com/resources/tool-directory-submission-kit.html?utm_source=newsletter&utm_medium=tool-tip&utm_campaign=first-distribution&utm_content=seo-newsletter-tip",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'seo-newsletter-tip' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "github-readme",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "github-readme",
      "channel": "github",
      "community": "GitHub README or gist",
      "trackedUrl": "https://llmstxtkit.com/resources/github-readme-snippets.html?utm_source=github&utm_medium=readme&utm_campaign=first-distribution&utm_content=github-readme",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'github-readme' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "github-issue-checklist",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "github-issue-checklist",
      "channel": "github",
      "community": "GitHub issue discussion",
      "trackedUrl": "https://llmstxtkit.com/resources/github-readme-snippets.html?utm_source=github&utm_medium=issue&utm_campaign=first-distribution&utm_content=github-issue-checklist",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'github-issue-checklist' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "devto-log-analyzer",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "devto-log-analyzer",
      "channel": "devto",
      "community": "DEV Community or developer blog comments",
      "trackedUrl": "https://llmstxtkit.com/tools/ai-crawler-log-analyzer.html?utm_source=devto&utm_medium=tutorial-comment&utm_campaign=first-distribution&utm_content=devto-log-analyzer",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'devto-log-analyzer' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "reddit-sitemap-to-llms",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "reddit-sitemap-to-llms",
      "channel": "reddit",
      "community": "Reddit SEO, webdev, or webmaster thread",
      "trackedUrl": "https://llmstxtkit.com/tools/sitemap-to-llms-txt.html?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-sitemap-to-llms",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'reddit-sitemap-to-llms' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "indiehackers-seo",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "indiehackers-seo",
      "channel": "hackernews",
      "community": "Indie Hackers or founder community",
      "trackedUrl": "https://llmstxtkit.com/guides/chatgpt-search-visibility.html?utm_source=indiehackers&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=indiehackers-seo",
      "priority": true,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'indiehackers-seo' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "reddit-llms-txt-question",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "reddit-llms-txt-question",
      "channel": "reddit",
      "community": "Reddit SEO or webmaster thread",
      "trackedUrl": "https://llmstxtkit.com/?utm_source=reddit&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=reddit-llms-txt-question",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'reddit-llms-txt-question' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "github-pr-note",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "github-pr-note",
      "channel": "github",
      "community": "GitHub pull request discussion",
      "trackedUrl": "https://llmstxtkit.com/resources/github-readme-snippets.html?utm_source=github&utm_medium=pull-request&utm_campaign=first-distribution&utm_content=github-pr-note",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'github-pr-note' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "wordpress-support",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "wordpress-support",
      "channel": "wordpress",
      "community": "WordPress support/community",
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-wordpress.html?utm_source=wordpress&utm_medium=support-reply&utm_campaign=first-distribution&utm_content=wordpress-support",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'wordpress-support' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "shopify-community",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "shopify-community",
      "channel": "shopify",
      "community": "Shopify community",
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-shopify.html?utm_source=shopify&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=shopify-community",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'shopify-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "webflow-forum",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "webflow-forum",
      "channel": "webflow",
      "community": "Webflow community",
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-webflow.html?utm_source=webflow&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=webflow-forum",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'webflow-forum' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "wix-community",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "wix-community",
      "channel": "wix",
      "community": "Wix community",
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-wix.html?utm_source=wix&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=wix-community",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'wix-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "saas-docs-community",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "saas-docs-community",
      "channel": "devto",
      "community": "Developer documentation community",
      "trackedUrl": "https://llmstxtkit.com/guides/llms-txt-for-saas-docs.html?utm_source=devdocs&utm_medium=community-answer&utm_campaign=first-distribution&utm_content=saas-docs-community",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'saas-docs-community' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    },
    {
      "placementId": "newsletter-changelog",
      "status": "posted",
      "url": "PUBLIC_POST_URL",
      "postedAt": "YYYY-MM-DD",
      "note": "Affiliation disclosed; answer-first placement.",
      "utmContent": "newsletter-changelog",
      "channel": "community",
      "community": "Owned newsletter/update",
      "trackedUrl": "https://llmstxtkit.com/updates/ai-crawler-policy-changelog.html?utm_source=newsletter&utm_medium=owned-update&utm_campaign=first-distribution&utm_content=newsletter-changelog",
      "priority": false,
      "evidenceCommand": "npm run distribution:evidence -- --placement-id 'newsletter-changelog' --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status 'posted' --note 'Affiliation disclosed; answer-first placement.'",
      "existingEvidenceStatus": "not_recorded",
      "validationRules": [
        "placementId must match the planned distribution ledger.",
        "posted/accepted records need a public HTTP(S) URL.",
        "postedAt must be a real date after the post exists.",
        "status must be posted, accepted, removed, skipped, or rejected.",
        "Do not use preview URLs, self-clicks, fake searches, or deleted spam as success proof."
      ]
    }
  ],
  "jsonTemplate": {
    "domain": "llmstxtkit.com",
    "campaign": "first-distribution",
    "records": [
      {
        "placementId": "hackernews-showhn",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "ai-tools-directory",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "reddit-ai-robots-checker",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "reddit-ai-robots-generator",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "seo-newsletter-tip",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "github-readme",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "github-issue-checklist",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "devto-log-analyzer",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "reddit-sitemap-to-llms",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "indiehackers-seo",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "reddit-llms-txt-question",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "github-pr-note",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "wordpress-support",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "shopify-community",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "webflow-forum",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "wix-community",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "saas-docs-community",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      },
      {
        "placementId": "newsletter-changelog",
        "url": "PUBLIC_POST_URL",
        "postedAt": "YYYY-MM-DD",
        "status": "posted",
        "note": "Affiliation disclosed; answer-first placement."
      }
    ],
    "notes": [
      "Replace PUBLIC_POST_URL and YYYY-MM-DD only after a real public placement exists.",
      "Keep skipped/removed/rejected records if they explain why a channel was not counted.",
      "Run npm run distribution:evidence after editing this file."
    ]
  },
  "safety": {
    "doesNotCreateEvidence": true,
    "doesNotPostAutomatically": true,
    "requiresRealPublicUrl": true,
    "rejectsPreviewUrls": true,
    "rejectsFakeSearchesAndClicks": true,
    "skippedRemovedRejectedDoNotCountAsSuccess": true
  },
  "commands": {
    "refreshDistributionEvidenceIntake": "npm run distribution:intake",
    "importTemplate": "cp dist/distribution-evidence-input.template.json dist/distribution-evidence-input.json && npm run distribution:evidence",
    "recordOnePlacement": "npm run distribution:evidence -- --placement-id PLACEMENT_ID --url PUBLIC_POST_URL --posted-at YYYY-MM-DD --status posted",
    "refreshDistributionEvidence": "npm run distribution:evidence",
    "refreshAttribution": "npm run campaign:attribution",
    "refreshMeasurement": "npm run traffic:measurement",
    "refreshGoalAudit": "npm run goal:audit"
  }
}
