{
  "schema_version": "qazpolit.statement-context.v1",
  "service": "qazpolit",
  "status": "additive_public_projection",
  "source_model": "existing_relational_statement_and_evidence_tables",
  "projection_path": "/api/entity/{slug}?lang={lang}#statement_context",
  "rules": [
    "Only statements already eligible for the public entity projection are grouped.",
    "Values with the same property key are retained instead of resolved with last-write-wins.",
    "Temporal overlap is reported only when parseable validity intervals overlap.",
    "Missing validity data produces insufficient_time_context rather than an inferred overlap.",
    "Only an evidence stance explicitly stored as contradicts sets explicit_contradiction.",
    "Neither overlapping_values nor explicit_contradiction determines which value is true."
  ],
  "group_fields": {
    "property_key": "Stable statement property key.",
    "statement_ids": "IDs of the published statements retained in the group.",
    "statement_count": "Number of retained published statements.",
    "distinct_value_count": "Case-insensitive count of distinct values without semantic inference.",
    "source_count": "Count of distinct public source URLs in statements and their evidence.",
    "temporal_relation": ["single_value", "temporal_sequence", "overlapping_values", "insufficient_time_context"],
    "explicit_contradiction": "True only when public evidence explicitly uses the contradicts stance."
  },
  "pilot_boundary": {
    "second_graph_database": false,
    "automated_truth_resolution": false,
    "automated_entity_merge": false,
    "unpublished_data": false
  }
}
