{
  "version": "v1.0-release-candidate",
  "updated_at": "2026-05-09",
  "release_definition": "The Genocide Atlas v1 is considered complete when the core event map, deportation graph, camp system, population baselines, source registry, provenance table, review queues, and separated context layers are visible, source-linked, and explicitly marked by confidence and review status.",
  "quality_gates": [
    {
      "gate": "Source trail",
      "rule": "Every promoted map record must have source_id, source_url or dataset path, access/citation note, confidence, and review_status.",
      "status": "active"
    },
    {
      "gate": "Layer separation",
      "rule": "Direct genocide evidence, cultural memory, cultural heritage, economic losses, and testimony metadata must not be presented as the same evidentiary category.",
      "status": "active"
    },
    {
      "gate": "Geographic honesty",
      "rule": "Regional proxy coordinates must be marked as proxy and must not be visually treated as exact village, camp, or massacre coordinates.",
      "status": "active"
    },
    {
      "gate": "No final claim without review",
      "rule": "Seed estimates and extracted metadata remain working scholarly data until reviewed against primary or high-authority secondary sources.",
      "status": "active"
    },
    {
      "gate": "Exportability",
      "rule": "Each layer must expose a CSV or JSON file suitable for GIS/PostGIS/RAG ingestion.",
      "status": "active"
    }
  ],
  "release_tracks": [
    {
      "track_id": "core-event-atlas",
      "title": "Core event atlas",
      "scope": "Armenian, Greek, and Assyrian/Seyfo seed events with group, type, date/year, coordinates, source fields, and confidence.",
      "current_state": "Mapped and searchable seed layer exists.",
      "target_state": "Keep as the public entry layer; expand only through reviewed source families.",
      "priority": "P0",
      "release_status": "release_candidate",
      "next_action": "Freeze schema and use provenance/review queues for all future promotions."
    },
    {
      "track_id": "armenian-chronology",
      "title": "Armenian chronology and AGMI anchors",
      "scope": "AGMI-linked Armenian chronology records and casualty anchors.",
      "current_state": "Geocoded chronology layer exists and is visible on the main atlas.",
      "target_state": "Use as direct chronology anchor, not as full demographic reconstruction.",
      "priority": "P0",
      "release_status": "release_candidate",
      "next_action": "Connect each promoted chronology row to provenance and place authority review."
    },
    {
      "track_id": "deportation-topology",
      "title": "Deportation graph topology",
      "scope": "Origins, transit hubs, route segments, camps, killing nodes, and terminal desert zones.",
      "current_state": "Graph nodes, edges, evidence matrix, and page are implemented.",
      "target_state": "Add item-level Guerguerian/Naim Bey/Kevorkian support per segment.",
      "priority": "P0",
      "release_status": "release_candidate",
      "next_action": "Upgrade source links from target extraction rows to specific document/page references."
    },
    {
      "track_id": "camp-system",
      "title": "Camp system",
      "scope": "Aleppo, Meskene, Ras al-Ayn, Deir ez-Zor, grouped killing estimates, and regional proxy nodes.",
      "current_state": "Dedicated camp-system page, main-map layer, 10-row site-verification queue, 9 P0 site checks, 6 source-target families, and 7 working review geometries exist.",
      "target_state": "Exact toponym review for proxy nodes, source hierarchy per camp, and explicit non-promotion rules for grouped or regional coordinates.",
      "priority": "P0",
      "release_status": "release_candidate",
      "next_action": "Replace review geometries with sourced exact geometry: Aleppo subsites, Pap/Meskene split, Ras al-Ayn boundary/route, Deir ez-Zor subzones, and Tipsi/Apuharrar/Hamam toponym resolution."
    },
    {
      "track_id": "demographic-backbone",
      "title": "Demographic baselines",
      "scope": "Ottoman, Patriarchate, Kevorkian, and working population/loss comparison rows.",
      "current_state": "Demography page, source comparison matrix, and expanded baselines exist.",
      "target_state": "Clearly separate baseline population, deported count, survived count, and death estimate.",
      "priority": "P0",
      "release_status": "release_candidate",
      "next_action": "Add citation page/edition fields for every source comparison row."
    },
    {
      "track_id": "guerguerian-documents",
      "title": "Guerguerian document metadata",
      "scope": "Public Clark/Guerguerian metadata, document places, actor graph, and record dossiers.",
      "current_state": "112 geocoded document metadata rows and actor graph exist.",
      "target_state": "Document-level event extraction with people, places, dates, telegram/court categories.",
      "priority": "P0",
      "release_status": "in_progress",
      "next_action": "Promote only records with clear document-place-event relationship into the core atlas."
    },
    {
      "track_id": "place-authority",
      "title": "Historical place authority",
      "scope": "Canonical gazetteer for Ottoman, Armenian, Greek, Assyrian, modern names, admin hierarchy, coordinates, confidence.",
      "current_state": "Unified places table now includes Greek, Assyrian/Seyfo, and camp-system places plus a 1101-row place-normalization review queue; two Greek resolver passes reduced P0 place review from 708 to 331.",
      "target_state": "All layers reference a place_id, coordinate method, and explicit P0/P1 review priority.",
      "priority": "P0",
      "release_status": "normalization_queue_ready",
      "next_action": "Resolve the remaining P0 Greek route endpoints and camp-system proxy sites before treating v1 geography as stable."
    },
    {
      "track_id": "greek-genocide",
      "title": "Greek genocide layer",
      "scope": "GGRC massacres and deportations, route arrows, sources, years, notes.",
      "current_state": "Massacre and deportation CSV/JSON layers exist, are mapped, have a 577-row evidence review matrix, and received 377 controlled endpoint resolutions across two passes.",
      "target_state": "Decode GGRC source codes/pages, resolve remaining missing route endpoints, and keep the unified atlas as the canonical view.",
      "priority": "P1",
      "release_status": "qa_matrix_ready",
      "next_action": "Resolve the remaining 292 Greek P0 coordinate rows and decode source-code/page references against the GGRC bibliography."
    },
    {
      "track_id": "assyrian-seyfo",
      "title": "Assyrian/Seyfo layer",
      "scope": "Seyfo/Assyrian events, refugee nodes, testimony archives, and map references.",
      "current_state": "Seed records exist in the core event atlas; Hakkari and Diyarbekir weak public-summary citations have candidate replacements, and a 4-row citation-upgrade matrix plus 3 source-target families exist.",
      "target_state": "Source-expanded Seyfo layer with Seyfo Center, UCLA/Seyfo, AINA, missionary, diplomatic, and scholarly families reviewed separately with item/page-level citations.",
      "priority": "P1",
      "release_status": "acquisition_schema_ready",
      "next_action": "Add page/item-level citation detail for Hakkari, Diyarbekir, Urmia, and Tur Abdin before promoting any Assyrian/Seyfo record beyond seed status."
    },
    {
      "track_id": "testimony-metadata",
      "title": "Oral history and testimony metadata",
      "scope": "USC VHA, Zoryan/AUA, UCLA/Seyfo, interview birthplace, language, route, archive link, access limits.",
      "current_state": "USC/VHA seed metadata and acquisition schemas exist.",
      "target_state": "Metadata-only map layer that respects archive access restrictions.",
      "priority": "P1",
      "release_status": "schema_ready",
      "next_action": "Add Zoryan/AUA catalog schema and keep testimony content out unless licensed or quoted within limits."
    },
    {
      "track_id": "economic-loss",
      "title": "Economic loss layer",
      "scope": "Subsoil and industrial losses, mines, resource fields, industrial assets, noncommercial source constraints.",
      "current_state": "15 geocoded economic-loss records exist.",
      "target_state": "Separate economic-loss page with source, commodity, reserve note, coordinate confidence.",
      "priority": "P1",
      "release_status": "mapped_seed",
      "next_action": "Keep visible in the atlas as economic context, not as event evidence."
    },
    {
      "track_id": "church-losses",
      "title": "Church losses",
      "scope": "Arak29/Data Catalog Armenia church/priest/location/fate table based on 1912-1913 inventory and Teodik.",
      "current_state": "Acquisition status and schema exist.",
      "target_state": "Convert permitted metadata into CSV and place it in cultural-genocide/cultural-loss context.",
      "priority": "P1",
      "release_status": "acquisition_ready",
      "next_action": "Import only table metadata with rights note and source citation."
    },
    {
      "track_id": "cultural-memory",
      "title": "Houshamadyan cultural memory",
      "scope": "Pre-1915 settlements, towns, villages, social memory, schools, churches, family names, maps, photos.",
      "current_state": "Separate cultural-memory and cultural-heritage map layers exist.",
      "target_state": "Use as pre-genocide social topology, off by default in the Genocide Atlas.",
      "priority": "P1",
      "release_status": "separated_context",
      "next_action": "Do not mix with event claims unless a record explicitly documents violence/deportation/loss."
    },
    {
      "track_id": "heritage-atlas",
      "title": "RAA / VirtualANI heritage atlas",
      "scope": "Monuments, churches, monasteries, photos, condition evidence, long-duration destruction.",
      "current_state": "Separated cultural heritage atlas exists.",
      "target_state": "Dedicated heritage project, cross-linked from Genocide Atlas as context only.",
      "priority": "P1",
      "release_status": "separated_context",
      "next_action": "Continue separately after Genocide Atlas v1 is closed."
    },
    {
      "track_id": "source-expansion",
      "title": "Source expansion registry",
      "scope": "Source families, licenses, readiness, priority, next action, and intended atlas layer.",
      "current_state": "28 source families registered.",
      "target_state": "Acts as the operating backlog for all future source ingestion.",
      "priority": "P0",
      "release_status": "active",
      "next_action": "Update after every new source family is accepted or rejected."
    },
    {
      "track_id": "public-methodology",
      "title": "Public methodology and limitations",
      "scope": "Method statement explaining what the atlas is, what it is not, and how confidence/review statuses work.",
      "current_state": "Methodology is present across pages but not yet centralized.",
      "target_state": "Single completion page exposes the rules, gates, and remaining scholarly limits.",
      "priority": "P0",
      "release_status": "implemented_by_this_page",
      "next_action": "Use this page as the closure checklist for Genocide Atlas v1."
    }
  ]
}
