{
  "name": "Warconomy data-need promotion template",
  "asOf": "2026-06-05",
  "note": "The ordered steps to promote a source-gated data need to a live/sample observation once its value is directly verified. A process description, not real-time status; no value is added here.",
  "page": "https://warconomy.com/methodology/promote-data-need",
  "count": 12,
  "promotionChecklist": [
    {
      "id": "before-state",
      "step": "Record the before state",
      "detail": "Note the data-need id, its current coverageStatus, and the sample/absent row it will replace or extend."
    },
    {
      "id": "source-gate",
      "step": "Clear the source gate",
      "detail": "Confirm the source is authoritative and the value is directly readable (not chart-only, paywalled, or news). Cite the source of record."
    },
    {
      "id": "value-verification",
      "step": "Verify the value",
      "detail": "Complete the manual-transcription checklist, including the mandatory second pass; record the exact value, unit, and period."
    },
    {
      "id": "observation-fields",
      "step": "Add the observation",
      "detail": "Set value, unit, asOf, periodLabel, lastReviewed, sourceId, confidence, dataMode (live/sample), and a cautious note."
    },
    {
      "id": "source-fields",
      "step": "Add/confirm the source",
      "detail": "Ensure the Source has title, publisher, url, type, accessedDate, and cadence; add it if new."
    },
    {
      "id": "provenance-row",
      "step": "Confirm provenance",
      "detail": "Provenance is derived — verify the new record resolves to its source with authority/readiness and a related page."
    },
    {
      "id": "related-pages",
      "step": "Update related pages",
      "detail": "Wire the observation into its topic/dashboard and any rankings/comparisons it belongs to."
    },
    {
      "id": "faq-caveat",
      "step": "Update FAQ / caveats",
      "detail": "If a visible FAQ or caveat references the figure, update it (FAQPage JSON-LD only where the Q&A is rendered)."
    },
    {
      "id": "review-freshness",
      "step": "Update review & freshness",
      "detail": "The review queue and freshness status are derived from cadence + lastReviewed; confirm the new row reads correctly."
    },
    {
      "id": "source-health",
      "step": "Update source health",
      "detail": "Source health is derived from cadence + review status; confirm the source's live count and status reflect the addition."
    },
    {
      "id": "version-bump",
      "step": "Bump the version & freeze",
      "detail": "Batch the DATASET_EXPORT_VERSION bump (one per 5–10 promotions); append the snapshot ladder entry and freeze the payload; run validate:snapshots."
    },
    {
      "id": "hosted-verify",
      "step": "Hosted verification",
      "detail": "After push, verify the updated routes and the new versioned data/diff/provenance routes on the live host."
    }
  ]
}