{
  "schema_version": "2026-06-05",
  "purpose": "Machine-readable monthly content refresh governance for research, trust, catalog, methodology and high-value article assets without fake freshness churn.",
  "policy": {
    "no_ranking_guarantees": true,
    "no_blackhat": true,
    "no_keyword_stuffing": true,
    "no_paid_link_schemes": true,
    "no_medical_claims": true,
    "no_dosing_guidance": true,
    "research_use_only": true,
    "no_fake_lastmod": true,
    "material_change_required": true,
    "citation_backed_updates_only": true
  },
  "evidence_inputs": [
    {
      "id": "freshness-integrity-audit",
      "status": "input_ready",
      "source": "tools/freshness-integrity-audit.py",
      "refresh_signal": "Refresh work must keep sitemap, RSS and article modified dates honest after any content update.",
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:freshness",
        "npm run qa:search-ops"
      ]
    },
    {
      "id": "article-evidence-audit",
      "status": "input_ready",
      "source": "tools/article-evidence-audit.py",
      "refresh_signal": "Refresh work on long-form articles must preserve Article schema, reference blocks and date consistency.",
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:freshness"
      ]
    },
    {
      "id": "search-performance-feedback-loop",
      "status": "input_ready",
      "source": "search-performance-feedback-loop.json",
      "refresh_signal": "Search Console, Bing and analytics aggregate signals decide which pages deserve refresh work after deploy.",
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:search-feedback"
      ]
    },
    {
      "id": "content-expansion-briefs",
      "status": "input_ready",
      "source": "content-expansion-briefs.json",
      "refresh_signal": "New or refreshed sections should follow accepted brief structures, proof links and safe claim boundaries.",
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:briefs"
      ]
    }
  ],
  "refresh_rules": [
    {
      "id": "material-change-only",
      "status": "rule_ready",
      "cadence": "monthly_after_data",
      "trigger": "Content, evidence, catalog facts, policy wording, schema or internal links materially changed.",
      "allowed_actions": [
        "Update visible copy",
        "Update references",
        "Regenerate RSS and sitemaps"
      ],
      "blocked_actions": [
        "Change article dates without content change",
        "Touch sitemap lastmod only for recrawl pressure",
        "Rewrite solely for repetitive query blocks"
      ],
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:freshness",
        "npm run qa:search-ops"
      ]
    },
    {
      "id": "citation-evidence-refresh",
      "status": "rule_ready",
      "cadence": "monthly_after_data",
      "trigger": "A priority research or methodology article has outdated reference context or unclear evidence boundaries.",
      "allowed_actions": [
        "Add or update reference blocks",
        "Clarify methodology scope",
        "Keep Article JSON-LD dates aligned"
      ],
      "blocked_actions": [
        "Unsupported clinical claim",
        "Clinical guidance",
        "Human-use protocol wording"
      ],
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:freshness"
      ]
    },
    {
      "id": "trust-proof-refresh",
      "status": "rule_ready",
      "cadence": "monthly_after_data",
      "trigger": "Quality, COA, fresh-batch, policy or entity proof pages drift from current operational facts.",
      "allowed_actions": [
        "Update proof wording",
        "Clarify operational boundary",
        "Improve internal trust links"
      ],
      "blocked_actions": [
        "Unverified accreditation claim",
        "Guaranteed purity superiority wording",
        "Fake dispatch promise"
      ],
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:entity",
        "npm run qa:content-bridge"
      ]
    },
    {
      "id": "query-gap-refresh",
      "status": "rule_ready",
      "cadence": "monthly_after_data",
      "trigger": "Aggregated search data shows a safe, relevant query gap on a priority page or article.",
      "allowed_actions": [
        "Add a concise answer block",
        "Tune FAQ wording",
        "Link to the best matching proof or catalog route"
      ],
      "blocked_actions": [
        "Doorway-page creation",
        "Off-scope health intent",
        "Repetitive query blocks"
      ],
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:search-feedback",
        "npm run qa:briefs"
      ]
    },
    {
      "id": "internal-link-refresh",
      "status": "rule_ready",
      "cadence": "monthly_after_data",
      "trigger": "A refreshed asset should pass clearer authority to a relevant catalog, proof, methodology or policy page.",
      "allowed_actions": [
        "Improve anchor intent",
        "Add one relevant proof link",
        "Route broad intent to hubs and exact intent to PDPs"
      ],
      "blocked_actions": [
        "Random link blocks",
        "Unnatural anchor repetition",
        "Hidden links"
      ],
      "verification_commands": [
        "npm run qa:content-refresh",
        "npm run qa:link-equity",
        "npm run qa:content-bridge"
      ]
    }
  ],
  "monitored_assets": [
    {
      "id": "home-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "priority_page",
      "canonical_url": "https://togopeptide.com/",
      "local_path": "/index.html",
      "search_intent_url": "https://togopeptide.com/",
      "refresh_reason": "Brand/entity source must stay aligned with legal identity, catalog count, trust pages and research-use boundaries.",
      "material_change_triggers": [
        "legal identity change",
        "catalog count change",
        "major trust-page update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:ai-context",
        "npm run qa:entity"
      ],
      "safe_claim_boundaries": [
        "Research-only framing",
        "No ranking promise",
        "No clinical outcome claim"
      ]
    },
    {
      "id": "shop-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "priority_page",
      "canonical_url": "https://togopeptide.com/shop",
      "local_path": "/shop.html",
      "search_intent_url": "https://togopeptide.com/shop",
      "refresh_reason": "Commercial catalog entry must reflect active products, categories, fresh-batch expectations and proof links.",
      "material_change_triggers": [
        "catalog count change",
        "category structure change",
        "fresh-batch policy update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:seo",
        "npm run qa:content-bridge"
      ],
      "safe_claim_boundaries": [
        "Research-only catalog",
        "No personal-use suggestion",
        "No stock guarantee"
      ]
    },
    {
      "id": "compound-template-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "dynamic_template",
      "canonical_url": "https://togopeptide.com/compound",
      "local_path": "/compound.html",
      "search_intent_url": "https://togopeptide.com/compound",
      "refresh_reason": "Dynamic PDP template must preserve ProductGroup schema, COA proof and safe compound answer framing.",
      "material_change_triggers": [
        "schema contract change",
        "catalog variant change",
        "PDP answer block update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:schema",
        "npm run qa:dynamic-seo"
      ],
      "safe_claim_boundaries": [
        "Research-only PDP",
        "No intake guidance",
        "No human outcome promise"
      ]
    },
    {
      "id": "category-template-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "dynamic_template",
      "canonical_url": "https://togopeptide.com/category",
      "local_path": "/category.html",
      "search_intent_url": "https://togopeptide.com/category",
      "refresh_reason": "Category hubs must stay useful for comparison intent without becoming doorway pages.",
      "material_change_triggers": [
        "category product movement",
        "ItemList schema change",
        "new comparison query evidence"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:dynamic-seo",
        "npm run qa:link-equity"
      ],
      "safe_claim_boundaries": [
        "Research category framing",
        "No clinical comparison advice",
        "No doorway behavior"
      ]
    },
    {
      "id": "stacks-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "priority_page",
      "canonical_url": "https://togopeptide.com/stacks",
      "local_path": "/stacks.html",
      "search_intent_url": "https://togopeptide.com/stacks",
      "refresh_reason": "Research stack content must stay visually coherent, policy-safe and linked to the correct tool/catalog paths.",
      "material_change_triggers": [
        "stack UX change",
        "tool route change",
        "research-use CTA wording change"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:content-bridge",
        "npm run qa:serp"
      ],
      "safe_claim_boundaries": [
        "Research stack only",
        "No personal protocol advice",
        "No outcome guarantee"
      ]
    },
    {
      "id": "research-hub-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "priority_page",
      "canonical_url": "https://togopeptide.com/research-hub",
      "local_path": "/research-hub.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "Research hub must keep article clusters, methodology content and AI source routing current.",
      "material_change_triggers": [
        "new article cluster",
        "pillar page update",
        "AI citation source change"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:authority",
        "npm run qa:answer-sources"
      ],
      "safe_claim_boundaries": [
        "Research education only",
        "Citation-backed claims",
        "No clinical guidance"
      ]
    },
    {
      "id": "blog-index-refresh",
      "status": "refresh_ready",
      "priority": "medium",
      "asset_type": "priority_page",
      "canonical_url": "https://togopeptide.com/blog/",
      "local_path": "/blog/",
      "search_intent_url": "https://togopeptide.com/blog/",
      "refresh_reason": "Article index must expose current research articles, RSS coverage and topic grouping.",
      "material_change_triggers": [
        "new article published",
        "article archive structure change",
        "RSS or schema update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:freshness"
      ],
      "safe_claim_boundaries": [
        "Research article library",
        "Honest modified dates",
        "No protocol instruction"
      ]
    },
    {
      "id": "quality-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "trust_page",
      "canonical_url": "https://togopeptide.com/quality",
      "local_path": "/quality.html",
      "search_intent_url": "https://togopeptide.com/quality",
      "refresh_reason": "Quality page must stay aligned with HPLC, mass-spec, COA and batch evidence wording.",
      "material_change_triggers": [
        "testing workflow change",
        "COA wording change",
        "quality proof link update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:entity",
        "npm run qa:content-bridge"
      ],
      "safe_claim_boundaries": [
        "Research quality framing",
        "Batch evidence only",
        "No clinical safety promise"
      ]
    },
    {
      "id": "coa-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "trust_page",
      "canonical_url": "https://togopeptide.com/coa",
      "local_path": "/coa.html",
      "search_intent_url": "https://togopeptide.com/coa",
      "refresh_reason": "COA explanation must remain clear for certificate interpretation and evidence-backed FAQ snippets.",
      "material_change_triggers": [
        "COA process change",
        "new certificate example",
        "FAQ schema wording update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:schema",
        "npm run qa:entity"
      ],
      "safe_claim_boundaries": [
        "Research certificate interpretation",
        "Lot traceability only",
        "No clinical validation claim"
      ]
    },
    {
      "id": "fresh-batch-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "policy_page",
      "canonical_url": "https://togopeptide.com/fresh-batch",
      "local_path": "/fresh-batch.html",
      "search_intent_url": "https://togopeptide.com/fresh-batch",
      "refresh_reason": "Fresh-batch page must keep delivery expectations and order consent wording transparent.",
      "material_change_triggers": [
        "timeline policy change",
        "checkout consent wording change",
        "stock-state copy change"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:serp",
        "npm run qa:freshness"
      ],
      "safe_claim_boundaries": [
        "Research-order timing clarity",
        "No guaranteed dispatch promise",
        "No hidden delay wording"
      ]
    },
    {
      "id": "reconstitution-guide-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "methodology_page",
      "canonical_url": "https://togopeptide.com/reconstitution-guide",
      "local_path": "/reconstitution-guide.html",
      "search_intent_url": "https://togopeptide.com/reconstitution-guide",
      "refresh_reason": "Methodology guide must stay linked to calculator/tool content while avoiding personal-use protocols.",
      "material_change_triggers": [
        "calculator logic change",
        "methodology reference update",
        "FAQ schema update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:authority"
      ],
      "safe_claim_boundaries": [
        "Laboratory research methodology",
        "No intake instruction",
        "No clinical protocol claim"
      ]
    },
    {
      "id": "storage-guide-refresh",
      "status": "refresh_ready",
      "priority": "medium",
      "asset_type": "methodology_page",
      "canonical_url": "https://togopeptide.com/storage-guide",
      "local_path": "/storage-guide.html",
      "search_intent_url": "https://togopeptide.com/storage-guide",
      "refresh_reason": "Storage guide must keep handling education current without making consumer-use stability promises.",
      "material_change_triggers": [
        "handling copy change",
        "article reference update",
        "fresh-batch link update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:freshness"
      ],
      "safe_claim_boundaries": [
        "Research handling context",
        "No clinical stability promise",
        "No use instruction"
      ]
    },
    {
      "id": "about-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "entity_page",
      "canonical_url": "https://togopeptide.com/about",
      "local_path": "/about.html",
      "search_intent_url": "https://togopeptide.com/about",
      "refresh_reason": "About page must remain coherent with legal identity, contact, policy and entity evidence.",
      "material_change_triggers": [
        "legal identity update",
        "contact route update",
        "entity graph update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:ai-context",
        "npm run qa:entity"
      ],
      "safe_claim_boundaries": [
        "Research-only catalog framing",
        "Legal identity accuracy",
        "No clinical authority claim"
      ]
    },
    {
      "id": "semaglutide-article-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/semaglutide-complete-guide",
      "local_path": "/blog/semaglutide-complete-guide.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "High-demand compound article should keep references, research boundaries and PDP bridge links current.",
      "material_change_triggers": [
        "new source context",
        "PDP bridge update",
        "query gap from search feedback"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:content-bridge"
      ],
      "safe_claim_boundaries": [
        "Research compound framing",
        "No weight outcome promise",
        "No intake guidance"
      ]
    },
    {
      "id": "tirzepatide-article-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/tirzepatide-complete-guide",
      "local_path": "/blog/tirzepatide-complete-guide.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "High-demand compound article should stay evidence-led and aligned with PDP/source maps.",
      "material_change_triggers": [
        "new source context",
        "PDP bridge update",
        "query gap from search feedback"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:content-bridge"
      ],
      "safe_claim_boundaries": [
        "Research compound framing",
        "No human outcome promise",
        "No intake guidance"
      ]
    },
    {
      "id": "bpc-157-article-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/bpc-157-mechanism-deep-dive",
      "local_path": "/blog/bpc-157-mechanism-deep-dive.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "Recovery research article should keep mechanism wording bounded and citation-backed.",
      "material_change_triggers": [
        "new source context",
        "recovery category update",
        "unsafe wording review"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "python3 tools/audit-ymyl.py"
      ],
      "safe_claim_boundaries": [
        "Research mechanism framing",
        "No injury treatment promise",
        "No intake guidance"
      ]
    },
    {
      "id": "how-to-read-coa-article-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/how-to-read-coa",
      "local_path": "/blog/how-to-read-coa.html",
      "search_intent_url": "https://togopeptide.com/coa",
      "refresh_reason": "COA article must stay consistent with trust pages and certificate interpretation routes.",
      "material_change_triggers": [
        "COA page update",
        "quality proof update",
        "FAQ query gap"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:entity"
      ],
      "safe_claim_boundaries": [
        "Research certificate interpretation",
        "No fake accreditation claim",
        "No clinical validation claim"
      ]
    },
    {
      "id": "reconstitution-methodology-article-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/reconstitution-methodology",
      "local_path": "/blog/reconstitution-methodology.html",
      "search_intent_url": "https://togopeptide.com/reconstitution-guide",
      "refresh_reason": "Methodology article must stay aligned with calculator, guide and research-use boundaries.",
      "material_change_triggers": [
        "calculator update",
        "guide update",
        "methodology query gap"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:authority"
      ],
      "safe_claim_boundaries": [
        "Laboratory research methodology",
        "No personal protocol",
        "No intake guidance"
      ]
    },
    {
      "id": "nad-plus-article-refresh",
      "status": "refresh_ready",
      "priority": "high",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/nad-plus-complete-guide",
      "local_path": "/blog/nad-plus-complete-guide.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "Longevity research article must stay bounded and linked to category/entity evidence.",
      "material_change_triggers": [
        "longevity category update",
        "entity graph update",
        "query gap from search feedback"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:entity-graph"
      ],
      "safe_claim_boundaries": [
        "Research longevity framing",
        "No anti-aging promise",
        "No intake guidance"
      ]
    },
    {
      "id": "glp-1-comparison-article-refresh",
      "status": "refresh_ready",
      "priority": "critical",
      "asset_type": "article",
      "canonical_url": "https://togopeptide.com/blog/glp-1-agonists-comparison",
      "local_path": "/blog/glp-1-agonists-comparison.html",
      "search_intent_url": "https://togopeptide.com/research-hub",
      "refresh_reason": "Comparison article should stay current for broad GLP-1 research intent while avoiding advice framing.",
      "material_change_triggers": [
        "new GLP-1 category context",
        "comparison query gap",
        "PDP bridge update"
      ],
      "required_checks": [
        "npm run qa:content-refresh",
        "npm run qa:article-evidence",
        "npm run qa:content-bridge"
      ],
      "safe_claim_boundaries": [
        "Research comparison framing",
        "No personal recommendation",
        "No outcome guarantee"
      ]
    }
  ]
}
