{
  "schema": "kbatch-music-partner-keys-checklist-v1",
  "generated": "2026-07-19T21:00:00.000Z",
  "status": "human-gate",
  "humanGate": true,
  "claimForbidden": "Do not set partner badge live or raise music axis for production keys until signed partner + real credentials stored off-repo.",
  "doctrine": "Geometry counterpart under licensed rails \u2014 never lyric pirate \u00b7 never sacred-texts scrape \u00b7 PD motifs only without grant",
  "alreadyLiveNoKeys": [
    "title-path geometry (1141+)",
    "PD full scrub + MIDI seeds",
    "BMI/ASCAP repertoire deep-links",
    "sandbox token prefix kbatch-license-* (demo only)",
    "staff catalogue + L0\u2013L7 ladder + Learn music-geometry"
  ],
  "productionKeysNeeded": [
    {
      "partner": "spotify",
      "what": "sandbox + prod API credentials for licensed display scope",
      "status": "not-held"
    },
    {
      "partner": "apple-music",
      "what": "MusicKit / partner program keys",
      "status": "not-held"
    },
    {
      "partner": "amazon-music",
      "what": "partner portal keys",
      "status": "not-held"
    },
    {
      "partner": "tidal",
      "what": "partner API keys",
      "status": "not-held"
    },
    {
      "partner": "lyricfind",
      "what": "lyric display license token",
      "status": "not-held"
    },
    {
      "partner": "musixmatch",
      "what": "API key + commercial plan if full lyric geometry",
      "status": "not-held"
    }
  ],
  "storageRule": "Never commit production keys to git \u00b7 use env / secret store \u00b7 document partner id + date only in CRM",
  "crm": "data/world-ranking/pathways/r3-outreach.json",
  "outreach": {
    "templateId": "music-rights",
    "subject": "Accredited lyric geometry under {partner} rights rails",
    "bodyHint": "Offer title-path + PD today; full lyric geometry only after token proves rights. No bulk redistribution."
  },
  "checklistHuman": [
    "Choose one platform for first outreach",
    "Draft from r3-outreach music-rights template",
    "Send human-to-human (never auto)",
    "On sandbox key receipt: store off-repo \u00b7 mark CRM status sandbox",
    "On production key: status live \u00b7 then only bump music score / partner badge"
  ],
  "surfaces": {
    "lyrics": "https://kbatch.ugrad.ai/lyrics",
    "staff": "https://kbatch.ugrad.ai/labs/music-staff",
    "rightsIndex": "https://kbatch.ugrad.ai/data/music-rights/index.json"
  }
}
