{
  "canonicality": {
    "html_scraping": "Prefer structured /data endpoints over scraping homepage HTML.",
    "preferred_access_pattern": "Fetch /data/index.json first, then fetch only the endpoint needed for the task.",
    "read_only": true,
    "rule": "If a public data endpoint is not listed in this manifest, treat it as non-canonical.",
    "source_of_truth": "/data/index.json",
    "static_first": true
  },
  "citation_guidance": [
    {
      "cite": "/data/index.json",
      "claim_type": "package counts, export status, canonical endpoint list, or interpretation rules"
    },
    {
      "cite": "/data/foundation_50.json",
      "claim_type": "complete Foundation 50 band and track structure"
    },
    {
      "cite": "/data/bands.json",
      "claim_type": "band-level public records or summaries"
    },
    {
      "cite": "/data/bands.jsonl",
      "claim_type": "line-oriented band records"
    },
    {
      "cite": "/data/tracks.jsonl",
      "claim_type": "track records, titles, band assignments, or Suno URL presence"
    },
    {
      "cite": "/data/tracks_by_band.json",
      "claim_type": "tracks grouped by band"
    },
    {
      "cite": "/data/band_traits.json",
      "claim_type": "band traits, identity, style, persona lane, or thematic positioning"
    },
    {
      "cite": "/data/band_summary_attributes.json",
      "claim_type": "band summary attributes, accessibility, anchor-track signals, or technical-density context"
    },
    {
      "cite": "/data/track_attributes.json",
      "claim_type": "track themes, topics, vibe profiles, or interpretive metadata"
    },
    {
      "cite": "/data/adams/latest.json",
      "claim_type": "latest ADAMS topics or source URLs"
    },
    {
      "cite": "/data/adams/manifest.json",
      "claim_type": "ADAMS evidence-lane manifest, dates, or integrity context"
    },
    {
      "cite": "/data/field_dictionary.json",
      "claim_type": "field definitions, blank-field meanings, agent cautions, or field-level citation use"
    },
    {
      "cite": "/data/README.md",
      "claim_type": "human-readable package orientation or audit-process summary"
    },
    {
      "cite": "/data/changelog.json",
      "claim_type": "public package change history or version/phase summary"
    },
    {
      "cite": "/data/quality_report.json",
      "claim_type": "public package health, known allowed blanks, non-blocking notes, or public audit summary"
    },
    {
      "cite": "/data/band_palettes.json",
      "claim_type": "band-level palette hints for controlled exposure visuals"
    }
  ],
  "counts": {
    "bands": 50,
    "tracks": 101,
    "tracks_with_suno_urls": 100,
    "tracks_without_suno_urls": 1
  },
  "description": "Static, agent-readable public data package for the Corium Records Foundation 50.",
  "discovery": {
    "llms_txt": [
      "/llms.txt",
      "/.well-known/llms.txt"
    ],
    "robots": "/robots.txt",
    "sitemap": "/sitemap.xml"
  },
  "endpoint_catalog": [
    {
      "citation_purpose": "Use for public export status, package counts, canonical endpoint lists, and interpretation rules.",
      "description": "Primary entrypoint for the Corium Records Foundation 50 public data package. Describes the current export, counts, canonical files, semantic rules, endpoint roles, and discovery guidance.",
      "do_not_use_for": [
        "Full track search",
        "Rendering the complete catalog by itself",
        "Replacing endpoint-specific datasets"
      ],
      "format": "json",
      "key": "index",
      "path": "/data/index.json",
      "role": "canonical public manifest",
      "stability": "canonical",
      "use_when": [
        "Starting any agent retrieval task",
        "Verifying package status and counts",
        "Discovering which endpoints are canonical",
        "Understanding how to interpret blank or provisional fields"
      ]
    },
    {
      "citation_purpose": "Use for claims about the complete Foundation 50 band and track structure.",
      "description": "Canonical complete Foundation 50 structure, intended for agents that need the full band and track spine in one JSON fetch.",
      "do_not_use_for": [
        "Line-oriented streaming",
        "Daily ADAMS evidence briefings",
        "Replacing track-specific attribute analysis"
      ],
      "format": "json",
      "key": "foundation_50",
      "path": "/data/foundation_50.json",
      "role": "complete Foundation 50 spine",
      "stability": "canonical",
      "use_when": [
        "Building a complete catalog view",
        "Understanding the full Foundation 50 structure",
        "Cross-checking band and track relationships",
        "Confirming the full set of bands in order"
      ]
    },
    {
      "citation_purpose": "Use for band-level summaries and public band records.",
      "description": "Band-level public records for browsing, summaries, identities, ordering, and catalog display.",
      "do_not_use_for": [
        "Track-level search",
        "Detailed track theme analysis",
        "ADAMS evidence retrieval"
      ],
      "format": "json",
      "key": "bands_json",
      "path": "/data/bands.json",
      "role": "band records",
      "stability": "canonical",
      "use_when": [
        "Listing all bands",
        "Building band overview pages",
        "Showing compact band summaries",
        "Connecting band identity to track groupings"
      ]
    },
    {
      "citation_purpose": "Use for line-oriented band record extraction.",
      "description": "One band record per line for streaming, indexing, command-line processing, and incremental agent reads.",
      "do_not_use_for": [
        "Tasks that require a single JSON object",
        "Track-level search",
        "Evidence-lane retrieval"
      ],
      "format": "ndjson",
      "key": "bands_jsonl",
      "path": "/data/bands.jsonl",
      "role": "streamable band records",
      "stability": "canonical",
      "use_when": [
        "Processing bands line by line",
        "Indexing band records",
        "Running command-line filters over band data"
      ]
    },
    {
      "citation_purpose": "Use for track records, track titles, band assignments, and Suno URL presence.",
      "description": "One track record per line, including track IDs, band relationships, titles, public URLs when available, and public track metadata.",
      "do_not_use_for": [
        "Interpreting detailed track themes without /data/track_attributes.json",
        "Band persona analysis without /data/band_traits.json",
        "ADAMS evidence retrieval"
      ],
      "format": "ndjson",
      "key": "tracks_jsonl",
      "path": "/data/tracks.jsonl",
      "role": "track records",
      "stability": "canonical",
      "use_when": [
        "Searching tracks",
        "Indexing tracks",
        "Building track lists",
        "Finding tracks by band, title, or public URL"
      ]
    },
    {
      "citation_purpose": "Use for claims about which tracks belong to which band.",
      "description": "Tracks organized by band for band pages, playlist construction, and agent-side navigation without rebuilding the grouping from JSONL.",
      "do_not_use_for": [
        "Global track search where JSONL is more appropriate",
        "Band trait analysis",
        "Evidence-lane retrieval"
      ],
      "format": "json",
      "key": "tracks_by_band",
      "path": "/data/tracks_by_band.json",
      "role": "tracks grouped by band",
      "stability": "canonical",
      "use_when": [
        "Finding all tracks for a specific band",
        "Rendering band pages",
        "Building playlists grouped by band",
        "Checking per-band track coverage"
      ]
    },
    {
      "citation_purpose": "Use for band traits, identity, style, persona lane, and thematic positioning.",
      "description": "Curated descriptive profiles for each band, including style lane, persona signals, thematic posture, and agent-readable identity positioning.",
      "do_not_use_for": [
        "Counting tracks",
        "Replacing band records",
        "Treating artistic persona material as external factual evidence"
      ],
      "format": "json",
      "key": "band_traits",
      "path": "/data/band_traits.json",
      "role": "curated band trait profiles",
      "stability": "curated",
      "use_when": [
        "Understanding a band's identity",
        "Explaining style, persona, or thematic lane",
        "Building recommendation or comparison logic",
        "Teaching agents how to describe a band without flattening it"
      ]
    },
    {
      "citation_purpose": "Use for band summary attributes, anchor track signals, accessibility, and technical-density context.",
      "description": "Band-level summary metadata such as anchor tracks, accessibility, technical density, and high-level descriptive fields.",
      "do_not_use_for": [
        "Replacing the complete band records",
        "Track-level theme analysis",
        "Evidence-lane claims"
      ],
      "format": "json",
      "key": "band_summary_attributes",
      "path": "/data/band_summary_attributes.json",
      "role": "band summary attributes",
      "stability": "curated",
      "use_when": [
        "Classifying bands quickly",
        "Selecting accessible entry points",
        "Comparing technical density or summary fields",
        "Building agent recommendations"
      ]
    },
    {
      "citation_purpose": "Use for track themes, topics, vibe profiles, anchor-track flags, and interpretive metadata.",
      "description": "Track-level topics, themes, vibe profiles, anchor-track flags, interpretive metadata, and agent-readable descriptive signals.",
      "do_not_use_for": [
        "Replacing canonical track records",
        "Treating artistic interpretation as external evidence",
        "ADAMS evidence retrieval"
      ],
      "format": "json",
      "key": "track_attributes",
      "path": "/data/track_attributes.json",
      "role": "track attributes",
      "stability": "curated",
      "use_when": [
        "Classifying tracks",
        "Finding tracks by topic or theme",
        "Explaining track vibe or conceptual role",
        "Building recommendations or thematic groupings"
      ]
    },
    {
      "citation_purpose": "Use for ADAMS evidence-lane manifest and integrity context.",
      "description": "Manifest for the NRC ADAMS evidence lane, including integrity details, dates, and summary context for regulatory-document snapshots.",
      "do_not_use_for": [
        "Band identity analysis",
        "Track vibe analysis",
        "Replacing original NRC documents"
      ],
      "format": "json",
      "key": "adams_manifest",
      "path": "/data/adams/manifest.json",
      "role": "ADAMS evidence manifest",
      "stability": "evidence-lane",
      "use_when": [
        "Verifying ADAMS evidence-lane metadata",
        "Checking dates or integrity context",
        "Understanding how the latest ADAMS snapshot is represented"
      ]
    },
    {
      "citation_purpose": "Use for latest ADAMS topics and source URLs, then cite original NRC documents where possible.",
      "description": "Latest ranked NRC ADAMS topics and source URLs for current regulatory-document context.",
      "do_not_use_for": [
        "Complete legal or regulatory analysis",
        "Replacing the original NRC source documents",
        "Band or track catalog counts"
      ],
      "format": "json",
      "key": "adams_latest",
      "path": "/data/adams/latest.json",
      "role": "latest ADAMS topics",
      "stability": "evidence-lane",
      "use_when": [
        "Building a daily NRC evidence brief",
        "Finding current ADAMS topic signals",
        "Connecting Corium Records interpretation to public regulatory-document context"
      ]
    },
    {
      "citation_purpose": "Use for field definitions, blank-field meanings, agent cautions, and citation-use guidance.",
      "description": "Field-level interpretation guide describing important public data fields, blank-field rules, agent cautions, and citation use.",
      "do_not_use_for": [
        "Replacing endpoint-specific data",
        "Replacing JSON Schema validation",
        "Treating curated interpretation as external evidence"
      ],
      "format": "json",
      "key": "field_dictionary",
      "path": "/data/field_dictionary.json",
      "role": "field dictionary",
      "stability": "canonical",
      "use_when": [
        "Understanding what a field means",
        "Checking whether a blank field is allowed",
        "Avoiding bad assumptions about missing metadata",
        "Explaining how to cite a specific field"
      ]
    },
    {
      "citation_purpose": "Use for package-level orientation and human-readable guidance.",
      "description": "Human-readable and agent-friendly overview of the public data package, including start-here guidance, endpoint roles, interpretation rules, evidence-lane separation, citation guidance, and audit process.",
      "do_not_use_for": [
        "Replacing /data/index.json as the canonical manifest",
        "Replacing endpoint-specific data",
        "Replacing the field dictionary"
      ],
      "format": "markdown",
      "key": "data_readme",
      "path": "/data/README.md",
      "role": "data package README",
      "stability": "canonical",
      "use_when": [
        "Getting a readable overview of the data package",
        "Orienting developers and agents",
        "Understanding the package philosophy before reading JSON"
      ]
    },
    {
      "citation_purpose": "Use for public package change history and version/phase summaries.",
      "description": "Machine-readable public change history for the Corium Records Foundation 50 data package.",
      "do_not_use_for": [
        "Replacing /data/index.json as the current manifest",
        "Replacing endpoint-specific data",
        "Replacing Git commit history"
      ],
      "format": "json",
      "key": "changelog",
      "path": "/data/changelog.json",
      "role": "public package changelog",
      "stability": "canonical",
      "use_when": [
        "Understanding what changed in the public package",
        "Tracking semantic discovery and field dictionary additions",
        "Explaining the history of the current public export"
      ]
    },
    {
      "citation_purpose": "Use for package health, known allowed blanks, non-blocking notes, and public audit summary.",
      "description": "Machine-readable public quality summary for the current Corium Records Foundation 50 data package.",
      "do_not_use_for": [
        "Replacing the production audit script",
        "Replacing endpoint-specific validation",
        "Replacing original source documents"
      ],
      "format": "json",
      "key": "quality_report",
      "path": "/data/quality_report.json",
      "role": "public quality report",
      "stability": "canonical",
      "use_when": [
        "Checking package health",
        "Understanding known allowed blanks",
        "Reading non-blocking quality notes",
        "Confirming public audit result summaries"
      ]
    },
    {
      "citation_purpose": "Use for persona-continuity constraints, sparse character attributes, age/visual guidance, and do-not-invent rules.",
      "description": "Aggregate sparse persona-continuity attribute layer compiled from local per-band persona_attributes.json files. Intended for agents that need age rules, visual continuity guidance, persona grounding, and do-not-invent constraints without forcing every band into a rigid schema.",
      "do_not_use_for": [
        "Replacing canonical band records",
        "Replacing track-level attributes",
        "Inventing missing biographical details",
        "Treating sparse attributes as complete biography"
      ],
      "format": "json",
      "key": "persona_attributes",
      "path": "/data/persona_attributes.json",
      "role": "compiled persona continuity attributes",
      "stability": "canonical",
      "use_when": [
        "Understanding performer/persona continuity rules",
        "Checking whether a band has canon age or visual guidance",
        "Avoiding invented persona details",
        "Building character-aware band pages or image prompt guidance",
        "Distinguishing unspecified attributes from contradictions"
      ]
    },
    {
      "citation_purpose": "Use for line-oriented persona-continuity extraction.",
      "description": "One compiled persona-continuity record per line for indexing, command-line processing, and incremental agent reads.",
      "do_not_use_for": [
        "Tasks that require a single JSON object",
        "Replacing the aggregate persona_attributes.json endpoint",
        "Replacing canonical band records"
      ],
      "format": "ndjson",
      "key": "persona_attributes_jsonl",
      "path": "/data/persona_attributes.jsonl",
      "role": "streamable persona continuity attributes",
      "stability": "canonical",
      "use_when": [
        "Processing persona attributes line by line",
        "Indexing persona-continuity records",
        "Running command-line filters over persona attribute data"
      ]
    },
    {
      "citation_purpose": "Use for persona attribute compile status and validation counts.",
      "description": "Compile report for the persona-continuity attribute layer, including record count, warning count, error count, missing records, and extra records.",
      "do_not_use_for": [
        "Rendering persona attributes directly",
        "Replacing the persona_attributes endpoint",
        "Replacing production audit results"
      ],
      "format": "json",
      "key": "persona_attributes_report",
      "path": "/data/persona_attributes_report.json",
      "role": "persona attribute compile report",
      "stability": "canonical",
      "use_when": [
        "Verifying persona attribute compile health",
        "Checking whether all canonical bands have persona records",
        "Auditing warnings, errors, missing records, or extra records"
      ]
    },
    {
      "citation_purpose": "Use for per-band persona-continuity details when the canonical band_id is already known.",
      "description": "Per-band persona-continuity record for a canonical band_id. These files mirror individual records from the aggregate persona_attributes endpoint and are intended for direct band-page retrieval.",
      "do_not_use_for": [
        "Listing all bands",
        "Replacing the aggregate persona_attributes endpoint",
        "Guessing non-canonical band IDs"
      ],
      "format": "json",
      "key": "band_persona_attributes_pattern",
      "path": "/data/bands/{band_id}/persona_attributes.json",
      "role": "per-band persona continuity attributes",
      "stability": "canonical_pattern",
      "use_when": [
        "Fetching persona-continuity guidance for one specific band",
        "Building a band detail page",
        "Checking one band's age, visual, grounding, or do-not-invent rules"
      ]
    },
    {
      "citation_purpose": "Cite when summarizing the static query index layer, band counts, persona-model grouping, or Phase 2H retrieval structure.",
      "description": "Primary static retrieval index for Phase 2H catalog, persona, review-status, and track-count lookup.",
      "do_not_use_for": [
        "Do not treat sparse persona fields as permission to invent missing details.",
        "Do not use as a replacement for full track records when detailed lyrics, URLs, or track-level metadata are needed.",
        "Do not treat this as a human-facing UI contract."
      ],
      "format": "json",
      "key": "data/query_index.json",
      "path": "/data/query_index.json",
      "role": "Primary static retrieval index for Phase 2H catalog, persona, review-status, and track-count lookup.",
      "schema": "corium_query_index_v1",
      "stability": "compiled_static",
      "use_when": [
        "Use for fast agent lookup across Foundation 50 bands.",
        "Use to find band IDs, persona models, review status, primary persona, location text, persona endpoint pointers, and track counts.",
        "Use before opening narrower per-band or grouped index files."
      ]
    },
    {
      "citation_purpose": "Cite when reporting Phase 2H query-index validation status and counts.",
      "description": "Validation report for the Phase 2H static query index layer.",
      "do_not_use_for": [
        "Do not use as the primary catalog index.",
        "Do not use for per-band persona detail.",
        "Do not treat a passing report as permission to invent missing canonical fields."
      ],
      "format": "json",
      "key": "data/indexes/query_index_report.json",
      "path": "/data/indexes/query_index_report.json",
      "role": "Validation report for the Phase 2H static query index layer.",
      "schema": "corium_query_index_report_v1",
      "stability": "compiled_static_report",
      "use_when": [
        "Use to confirm query index generation status.",
        "Use to verify indexed band count, track count, persona model count, review status count, warning count, and error count.",
        "Use during audits before trusting generated query-index files."
      ]
    },
    {
      "citation_purpose": "Cite when answering a band-specific retrieval question from the Phase 2H per-band index.",
      "description": "Pattern endpoint for per-band retrieval records with persona summary, track summary, source flags, and related endpoint pointers.",
      "do_not_use_for": [
        "Do not use with guessed band IDs.",
        "Do not treat persona summaries as a substitute for full persona_attributes records.",
        "Do not invent missing visual, age, location, or biography details."
      ],
      "format": "json",
      "key": "query_index_by_band_pattern",
      "path": "/data/indexes/by_band/{band_id}.json",
      "role": "Pattern endpoint for per-band retrieval records with persona summary, track summary, source flags, and related endpoint pointers.",
      "schema": "corium_query_index_by_band_v1",
      "stability": "compiled_static_pattern",
      "use_when": [
        "Use when an agent already knows a canonical band_id.",
        "Use to retrieve one band’s Phase 2H persona summary and track summary quickly.",
        "Use as a narrow follow-up after consulting data/query_index.json."
      ]
    },
    {
      "citation_purpose": "Cite when answering questions about persona-model grouping.",
      "description": "Pattern endpoint grouping bands by reviewed persona model.",
      "do_not_use_for": [
        "Do not use to infer unreviewed persona details.",
        "Do not use as a replacement for band-specific records.",
        "Do not collapse different ensemble models into a single invented category."
      ],
      "format": "json",
      "key": "query_index_by_persona_model_pattern",
      "path": "/data/indexes/by_persona_model/{persona_model}.json",
      "role": "Pattern endpoint grouping bands by reviewed persona model.",
      "schema": "corium_query_index_by_persona_model_v1",
      "stability": "compiled_static_pattern",
      "use_when": [
        "Use when grouping Foundation 50 bands by solo, duo, crew, unit, ensemble, rotating role, or frontperson model.",
        "Use to answer which bands share the same persona structure.",
        "Use as a narrow grouped index after reading data/query_index.json."
      ]
    },
    {
      "citation_purpose": "Cite when answering questions about review-status grouping.",
      "description": "Pattern endpoint grouping bands by persona review status.",
      "do_not_use_for": [
        "Do not use to infer completeness beyond the named review status.",
        "Do not treat reviewed sparse fields as missing work by default.",
        "Do not use as a substitute for query_index_report validation."
      ],
      "format": "json",
      "key": "query_index_by_review_status_pattern",
      "path": "/data/indexes/by_review_status/{review_status}.json",
      "role": "Pattern endpoint grouping bands by persona review status.",
      "schema": "corium_query_index_by_review_status_v1",
      "stability": "compiled_static_pattern",
      "use_when": [
        "Use when verifying which bands share a review status.",
        "Use to confirm Phase 2G reviewed status across the Foundation 50.",
        "Use as a narrow grouped index after reading data/query_index.json."
      ]
    },
    {
      "citation_purpose": "Use for band-level visual palette metadata, color assignments, and Containment Hall palette interpretation.",
      "description": "Band-level controlled exposure palette hints for Containment Hall visual mapping, including per-band color and visual identity signals.",
      "do_not_use_for": [
        "Canonical band ordering",
        "Track counts",
        "Lyrics custody",
        "Playback URLs",
        "Evidence-lane claims"
      ],
      "format": "json",
      "key": "band_palettes",
      "path": "/data/band_palettes.json",
      "role": "band visual palette metadata",
      "stability": "curated",
      "use_when": [
        "Rendering or interpreting band visual identity",
        "Checking palette assignments",
        "Auditing color values and runtime visual consistency",
        "Building Containment Hall visual treatments"
      ]
    }
  ],
  "files": {
    "adams_latest": "/data/adams/latest.json",
    "adams_manifest": "/data/adams/manifest.json",
    "band_summary_attributes": "/data/band_summary_attributes.json",
    "band_traits": "/data/band_traits.json",
    "bands_json": "/data/bands.json",
    "bands_jsonl": "/data/bands.jsonl",
    "changelog": "/data/changelog.json",
    "data/indexes/query_index_report.json": "/data/indexes/query_index_report.json",
    "data/query_index.json": "/data/query_index.json",
    "data_readme": "/data/README.md",
    "field_dictionary": "/data/field_dictionary.json",
    "foundation_50": "/data/foundation_50.json",
    "index": "/data/index.json",
    "persona_attributes": "/data/persona_attributes.json",
    "persona_attributes_jsonl": "/data/persona_attributes.jsonl",
    "persona_attributes_report": "/data/persona_attributes_report.json",
    "quality_report": "/data/quality_report.json",
    "track_attributes": "/data/track_attributes.json",
    "tracks_by_band": "/data/tracks_by_band.json",
    "tracks_jsonl": "/data/tracks.jsonl",
    "band_palettes": "/data/band_palettes.json"
  },
  "generated_iso": "2026-05-25T22:14:36.743251+00:00",
  "interpretation_rules": [
    {
      "meaning": "A blank Suno URL means the public URL is not currently included in this export. It does not mean the track does not exist.",
      "rule": "Blank Suno URLs are allowed."
    },
    {
      "meaning": "A blank color array means no strong public color signal has been assigned yet. It does not mean the band lacks a visual identity.",
      "rule": "Blank color arrays are allowed."
    },
    {
      "meaning": "Agents should not fill blanks by guessing. Missing data should remain missing until a future curated pass.",
      "rule": "Do not invent missing metadata."
    },
    {
      "meaning": "A blank related-band field means the relationship graph pass has not been completed. It does not prove there is no conceptual relationship.",
      "rule": "Related bands may be blank."
    },
    {
      "meaning": "Band and track metadata may include artistic, satirical, persona-based, or interpretive material. ADAMS endpoints are the evidence-lane entry points.",
      "rule": "Separate artistic interpretation from evidence-lane material."
    },
    {
      "meaning": "Agents should use /data endpoints for catalog work instead of reconstructing meaning from homepage HTML.",
      "rule": "Prefer structured data over homepage scraping."
    },
    {
      "meaning": "If a field or endpoint does not contain a relationship, topic, source, color, URL, or trait, that absence should be treated as not-yet-modeled unless the manifest explicitly says otherwise.",
      "rule": "Do not treat absence as contradiction."
    },
    {
      "meaning": "Agents should use /data/field_dictionary.json to understand field meanings, blank-field rules, and field-specific cautions before inferring meaning from raw data.",
      "rule": "Use the field dictionary for field-level meaning."
    },
    {
      "meaning": "Agents should use /data/quality_report.json for public quality status, known allowed blanks, and non-blocking package notes.",
      "rule": "Use the quality report for public package health."
    }
  ],
  "notes": [
    "Blank Suno URLs are allowed.",
    "Blank color arrays are allowed when no strong color signal exists.",
    "Do not invent missing metadata just to fill fields.",
    "Related bands may be blank until a dedicated graph pass.",
    "This export is static-first and read-only.",
    "Working files remain outside the public /data package."
  ],
  "package": {
    "audience": [
      "AI agents",
      "search and indexing systems",
      "research assistants",
      "catalog tools",
      "human developers"
    ],
    "name": "Corium Records Foundation 50 Public Data Export",
    "primary_entrypoint": "/data/index.json",
    "purpose": "Expose the Corium Records Foundation 50 as a static-first, read-only, agent-readable catalog of bands, tracks, traits, summaries, and supporting evidence-lane data.",
    "role": "canonical public manifest",
    "version": "public_data_export_v1"
  },
  "query_protocol": {
    "description": "Static retrieval layer exposing precomputed catalog, persona, review-status, and per-band query indexes.",
    "endpoint_patterns": [
      "/data/indexes/by_band/{band_id}.json",
      "/data/indexes/by_persona_model/{persona_model}.json",
      "/data/indexes/by_review_status/{review_status}.json"
    ],
    "last_updated_utc": "2026-05-26T14:26:53Z",
    "phase": "2H",
    "primary_endpoint": "/data/query_index.json",
    "report_endpoint": "/data/indexes/query_index_report.json",
    "rules": [
      "Query indexes are compiled from reviewed catalog and persona sources.",
      "Missing persona fields do not imply contradiction or permission to invent.",
      "Sparse persona fields remain valid unless reviewed source material fills them."
    ],
    "schema": "corium_query_protocol_v1",
    "status": "active"
  },
  "status": "public_data_export_v1",
  "task_routing": [
    {
      "notes": "Use the manifest for status, counts, canonical endpoint discovery, and interpretation rules.",
      "start_with": "/data/index.json",
      "task": "Understand the current public data package",
      "then_use": []
    },
    {
      "notes": "Use band summaries and traits for richer descriptions.",
      "start_with": "/data/bands.json",
      "task": "List all Foundation 50 bands",
      "then_use": [
        "/data/band_summary_attributes.json",
        "/data/band_traits.json"
      ]
    },
    {
      "notes": "Use this when a single complete JSON spine is preferable to multiple endpoint fetches.",
      "start_with": "/data/foundation_50.json",
      "task": "Fetch the complete Foundation 50 structure",
      "then_use": [
        "/data/index.json"
      ]
    },
    {
      "notes": "Use JSONL for track records and track_attributes for topic, theme, and vibe enrichment.",
      "start_with": "/data/tracks.jsonl",
      "task": "Search or index tracks",
      "then_use": [
        "/data/track_attributes.json"
      ]
    },
    {
      "notes": "Use tracks_by_band for grouping, then tracks.jsonl for track records if needed.",
      "start_with": "/data/tracks_by_band.json",
      "task": "Find all tracks for a band",
      "then_use": [
        "/data/tracks.jsonl",
        "/data/bands.json"
      ]
    },
    {
      "notes": "Use curated trait and summary endpoints before forming natural-language descriptions.",
      "start_with": "/data/band_traits.json",
      "task": "Understand a band's identity, style, or persona lane",
      "then_use": [
        "/data/bands.json",
        "/data/band_summary_attributes.json",
        "/data/tracks_by_band.json"
      ]
    },
    {
      "notes": "Use track_attributes for interpretive metadata and tracks.jsonl for canonical track records.",
      "start_with": "/data/track_attributes.json",
      "task": "Understand a track's themes or vibe",
      "then_use": [
        "/data/tracks.jsonl"
      ]
    },
    {
      "notes": "Use ADAMS endpoints as evidence-lane context. They do not replace original NRC documents.",
      "start_with": "/data/adams/latest.json",
      "task": "Use NRC ADAMS evidence context",
      "then_use": [
        "/data/adams/manifest.json"
      ]
    },
    {
      "notes": "Use the field dictionary to understand field meanings, blank allowed rules, agent cautions, and citation use.",
      "start_with": "/data/field_dictionary.json",
      "task": "Understand field meanings and blank-field rules",
      "then_use": [
        "/data/index.json"
      ]
    },
    {
      "notes": "Use the README as an orientation layer, not as a replacement for the canonical manifest.",
      "start_with": "/data/README.md",
      "task": "Read a human-friendly package overview",
      "then_use": [
        "/data/index.json",
        "/data/field_dictionary.json"
      ]
    },
    {
      "notes": "Use the changelog for public package history. Use /data/index.json for the current canonical state.",
      "start_with": "/data/changelog.json",
      "task": "Understand package change history",
      "then_use": [
        "/data/index.json"
      ]
    },
    {
      "notes": "Use the quality report for public health summary and known allowed blanks. Use the audit script for live production validation.",
      "start_with": "/data/quality_report.json",
      "task": "Check public package health",
      "then_use": [
        "/data/index.json",
        "/data/field_dictionary.json"
      ]
    }
  ],
  "title": "Corium Records Foundation 50 Public Data Export"
}
