{
  "schema_version": "2026-06-05",
  "purpose": "Machine-readable internal link equity plan for commercial pages, evidence hubs, research education, and AI discovery paths.",
  "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
  },
  "links": [
    {
      "id": "home-to-shop-catalog-entry",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "commercial_entry",
      "source_page": "/index.html",
      "target_page": "/shop.html",
      "source_cluster_id": "research-peptides-eu-supplier",
      "related_brief_id": "eu-research-peptide-supplier-guide",
      "anchor_intent": "research peptide catalog for EU laboratories",
      "placement": "home primary commercial path and header support",
      "rationale": "Moves homepage authority into the highest-value catalog route while keeping the promise research-only and evidence-led.",
      "evidence_requirements": ["Catalog route resolves locally", "Anchor explains research catalog intent", "Target page links back to quality evidence"],
      "safe_claim_boundaries": ["Research-only context", "No intake or dose guidance", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:seo"]
    },
    {
      "id": "home-to-research-use-policy",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "policy_bridge",
      "source_page": "/index.html",
      "target_page": "/research-use.html",
      "source_cluster_id": "research-use-policy",
      "related_brief_id": "research-use-policy-explainer-brief",
      "anchor_intent": "research-use policy and ordering boundaries",
      "placement": "home trust strip and footer compliance route",
      "rationale": "Gives search engines and answer engines a clear policy path before commercial exploration.",
      "evidence_requirements": ["Policy page resolves locally", "Anchor names research-use boundary", "Target page avoids consumer-use framing"],
      "safe_claim_boundaries": ["Research-only context", "No personal-use encouragement", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:ai-context"]
    },
    {
      "id": "shop-to-quality-proof",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "trust_bridge",
      "source_page": "/shop.html",
      "target_page": "/quality.html",
      "source_cluster_id": "certificate-of-analysis",
      "related_brief_id": "quality-evidence-chain-brief",
      "anchor_intent": "quality controls and batch verification",
      "placement": "shop trust module near product grid",
      "rationale": "Connects commercial browsing with the evidence chain that supports safer supplier evaluation.",
      "evidence_requirements": ["Quality page resolves locally", "Shop route keeps proof link visible", "Target page links to COA interpretation"],
      "safe_claim_boundaries": ["Research-only context", "No purity superiority promise", "No therapeutic framing"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:content-bridge"]
    },
    {
      "id": "shop-to-fresh-batch-model",
      "status": "link_ready",
      "priority": "high",
      "link_type": "operations_bridge",
      "source_page": "/shop.html",
      "target_page": "/fresh-batch.html",
      "source_cluster_id": "fresh-batch-model",
      "related_brief_id": "fresh-batch-ordering-explainer",
      "anchor_intent": "fresh-batch ordering timeline",
      "placement": "shop availability and delivery expectation module",
      "rationale": "Reduces ordering surprise by routing stock and wait-time questions to the batch model.",
      "evidence_requirements": ["Fresh-batch page resolves locally", "Anchor states timeline intent", "Target page explains longer batch handling clearly"],
      "safe_claim_boundaries": ["Research-only context", "No guaranteed dispatch promise", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:serp"]
    },
    {
      "id": "shop-to-fat-loss-category",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "category_hub",
      "source_page": "/shop.html",
      "target_page": "/category.html?cat=fat_loss",
      "source_cluster_id": "category-hub-comparison",
      "related_brief_id": "fat-loss-category-comparison-brief",
      "anchor_intent": "fat-loss research category comparison",
      "placement": "shop category navigation",
      "rationale": "Routes broad commercial intent into a comparison hub instead of forcing immediate PDP selection.",
      "evidence_requirements": ["Category route resolves locally", "Anchor states comparison intent", "Target page exposes compound options safely"],
      "safe_claim_boundaries": ["Research-only context", "No human outcome promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:dynamic-seo"]
    },
    {
      "id": "fat-loss-category-to-semaglutide",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=fat_loss",
      "target_page": "/compound.html?slug=semaglutide",
      "source_cluster_id": "semaglutide-research",
      "related_brief_id": "semaglutide-research-context-brief",
      "anchor_intent": "semaglutide research context",
      "placement": "category product comparison grid",
      "rationale": "Transfers qualified category demand to the PDP with research framing intact.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor names compound research context", "Category page keeps comparison structure"],
      "safe_claim_boundaries": ["Research-only context", "No weight-loss promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "fat-loss-category-to-tirzepatide",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=fat_loss",
      "target_page": "/compound.html?slug=tirzepatide",
      "source_cluster_id": "tirzepatide-research",
      "related_brief_id": "tirzepatide-research-context-brief",
      "anchor_intent": "tirzepatide research context",
      "placement": "category product comparison grid",
      "rationale": "Keeps high-intent category traffic connected to a specific PDP without overstating use cases.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor names compound research context", "Target page carries Product schema"],
      "safe_claim_boundaries": ["Research-only context", "No human-use promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "fat-loss-category-to-retatrutide",
      "status": "link_ready",
      "priority": "high",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=fat_loss",
      "target_page": "/compound.html?slug=retatrutide",
      "source_cluster_id": "retatrutide-research",
      "related_brief_id": "retatrutide-research-context-brief",
      "anchor_intent": "retatrutide research context",
      "placement": "category product comparison grid",
      "rationale": "Supports emerging-compound discovery while keeping evidence and research boundaries explicit.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor names research context", "Target page avoids consumer claims"],
      "safe_claim_boundaries": ["Research-only context", "No clinical promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "recovery-category-to-bpc-157",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=recovery",
      "target_page": "/compound.html?slug=bpc-157",
      "source_cluster_id": "bpc-157-recovery-research",
      "related_brief_id": "bpc-157-recovery-context-brief",
      "anchor_intent": "BPC-157 recovery research context",
      "placement": "recovery category comparison grid",
      "rationale": "Connects recovery research intent to the primary PDP with evidence-led wording.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor keeps research context", "Target page links to educational content"],
      "safe_claim_boundaries": ["Research-only context", "No injury treatment promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "recovery-category-to-tb-500",
      "status": "link_ready",
      "priority": "high",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=recovery",
      "target_page": "/compound.html?slug=tb-500",
      "source_cluster_id": "tb-500-recovery-research",
      "related_brief_id": "tb-500-recovery-context-brief",
      "anchor_intent": "TB-500 recovery research context",
      "placement": "recovery category comparison grid",
      "rationale": "Pairs category comparison demand with a compound route and safe research explanation.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor keeps research context", "Target page keeps batch proof accessible"],
      "safe_claim_boundaries": ["Research-only context", "No recovery outcome promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "skin-category-to-ghk-cu",
      "status": "link_ready",
      "priority": "high",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=skin",
      "target_page": "/compound.html?slug=ghk-cu",
      "source_cluster_id": "ghk-cu-skin-research",
      "related_brief_id": "ghk-cu-copper-research-brief",
      "anchor_intent": "GHK-Cu copper peptide research context",
      "placement": "skin category comparison grid",
      "rationale": "Creates a clear path from skin research queries to compound-specific evidence without cosmetic claims.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor names copper peptide research", "Target page avoids beauty outcome framing"],
      "safe_claim_boundaries": ["Research-only context", "No cosmetic outcome promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "longevity-category-to-nad-plus",
      "status": "link_ready",
      "priority": "high",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=longevity",
      "target_page": "/compound.html?slug=nad-plus",
      "source_cluster_id": "nad-longevity-research",
      "related_brief_id": "nad-longevity-context-brief",
      "anchor_intent": "NAD+ longevity research context",
      "placement": "longevity category comparison grid",
      "rationale": "Connects longevity education and commercial discovery while avoiding anti-aging promises.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor preserves research context", "Target page has canonical PDP URL"],
      "safe_claim_boundaries": ["Research-only context", "No anti-aging promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:dynamic-seo"]
    },
    {
      "id": "muscle-category-to-cjc-ipamorelin",
      "status": "link_ready",
      "priority": "high",
      "link_type": "pdp_depth",
      "source_page": "/category.html?cat=muscle",
      "target_page": "/compound.html?slug=cjc1295-ipamorelin-blend",
      "source_cluster_id": "cjc-ipamorelin-research",
      "related_brief_id": "cjc-ipamorelin-blend-brief",
      "anchor_intent": "CJC-1295 and Ipamorelin blend research context",
      "placement": "muscle category comparison grid",
      "rationale": "Supports blend-specific discovery from a category hub with clear research-only wording.",
      "evidence_requirements": ["PDP route resolves locally", "Anchor names blend research", "Target page keeps product markup valid"],
      "safe_claim_boundaries": ["Research-only context", "No performance outcome promise", "No intake or dose guidance"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:schema"]
    },
    {
      "id": "research-hub-to-peptide-basics",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "education_depth",
      "source_page": "/research-hub.html",
      "target_page": "/peptide-research-101.html",
      "source_cluster_id": "peptide-research-education",
      "related_brief_id": "peptide-research-basics-brief",
      "anchor_intent": "peptide research basics for laboratories",
      "placement": "research hub education rail",
      "rationale": "Strengthens the educational pillar before visitors move into tools, categories or PDPs.",
      "evidence_requirements": ["Education page resolves locally", "Anchor targets beginner research intent", "Target page links to policy and quality pages"],
      "safe_claim_boundaries": ["Research-only context", "No personal protocol language", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:authority"]
    },
    {
      "id": "research-hub-to-coa",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "evidence_depth",
      "source_page": "/research-hub.html",
      "target_page": "/coa.html",
      "source_cluster_id": "certificate-of-analysis",
      "related_brief_id": "coa-hplc-ms-explainer",
      "anchor_intent": "certificate of analysis evidence workflow",
      "placement": "research hub trust and evidence rail",
      "rationale": "Connects educational browsing with batch verification, method language and trust proof.",
      "evidence_requirements": ["COA page resolves locally", "Anchor names evidence workflow", "Target page links to interpretation guide"],
      "safe_claim_boundaries": ["Research-only context", "No lab result overclaim", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:entity"]
    },
    {
      "id": "quality-to-coa",
      "status": "link_ready",
      "priority": "critical",
      "link_type": "trust_depth",
      "source_page": "/quality.html",
      "target_page": "/coa.html",
      "source_cluster_id": "certificate-of-analysis",
      "related_brief_id": "quality-evidence-chain-brief",
      "anchor_intent": "COA verification inside the quality evidence chain",
      "placement": "quality page evidence section",
      "rationale": "Makes COA verification the natural next click from broad quality claims.",
      "evidence_requirements": ["COA page resolves locally", "Anchor explains verification role", "Target page exposes batch proof route"],
      "safe_claim_boundaries": ["Research-only context", "No purity superiority promise", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:entity"]
    },
    {
      "id": "coa-to-how-to-read-coa",
      "status": "link_ready",
      "priority": "high",
      "link_type": "methodology_depth",
      "source_page": "/coa.html",
      "target_page": "/how-to-read-a-coa.html",
      "source_cluster_id": "certificate-of-analysis",
      "related_brief_id": "coa-hplc-ms-explainer",
      "anchor_intent": "how to read a COA methodology guide",
      "placement": "COA explainer support link",
      "rationale": "Separates proof access from methodology education so both pages can rank and be cited cleanly.",
      "evidence_requirements": ["Guide page resolves locally", "Anchor names methodology intent", "Target page provides interpretation context"],
      "safe_claim_boundaries": ["Research-only context", "No test-result overclaim", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:article-evidence"]
    },
    {
      "id": "reconstitution-guide-to-calculator",
      "status": "link_ready",
      "priority": "high",
      "link_type": "tool_bridge",
      "source_page": "/reconstitution-guide.html",
      "target_page": "/reconstitution-calculator.html",
      "source_cluster_id": "reconstitution-calculator",
      "related_brief_id": "reconstitution-math-brief",
      "anchor_intent": "reconstitution calculator for lab math checks",
      "placement": "guide tool callout",
      "rationale": "Connects methodology education to the calculator while keeping the page framed as lab math support.",
      "evidence_requirements": ["Calculator page resolves locally", "Anchor states lab math intent", "Tool page avoids personal-use framing"],
      "safe_claim_boundaries": ["Research-only context", "No intake or dose guidance", "No clinical protocol claims"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:authority"]
    },
    {
      "id": "storage-guide-to-quality",
      "status": "link_ready",
      "priority": "medium",
      "link_type": "evidence_bridge",
      "source_page": "/storage-guide.html",
      "target_page": "/quality.html",
      "source_cluster_id": "storage-stability-guide",
      "related_brief_id": "storage-stability-lab-brief",
      "anchor_intent": "quality controls behind storage guidance",
      "placement": "storage guide evidence link",
      "rationale": "Gives storage and stability content a proof path back to the broader quality system.",
      "evidence_requirements": ["Quality page resolves locally", "Anchor names evidence relation", "Target page avoids unsupported stability promises"],
      "safe_claim_boundaries": ["Research-only context", "No stability guarantee", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:authority"]
    },
    {
      "id": "stacks-to-stack-builder",
      "status": "link_ready",
      "priority": "high",
      "link_type": "tool_bridge",
      "source_page": "/stacks.html",
      "target_page": "/stack-builder.html",
      "source_cluster_id": "stack-builder-research",
      "related_brief_id": "stack-builder-methodology-brief",
      "anchor_intent": "stack builder methodology for research planning",
      "placement": "stacks page primary tool path",
      "rationale": "Moves stack browsing into a structured research planning tool instead of unsupported recommendations.",
      "evidence_requirements": ["Stack builder resolves locally", "Anchor preserves methodology context", "Target page keeps research planning boundaries"],
      "safe_claim_boundaries": ["Research-only context", "No personal protocol recommendation", "No clinical outcome promises"],
      "verification_commands": ["npm run qa:link-equity", "npm run qa:content-bridge"]
    }
  ]
}
