# Schema Change Notes ## Scope This note covers schema changes made during the second content stabilization pass. ## Changed Schemas ### `schemas/source_article.schema.json` Change: - Formalized `source_type` enum: - `original_article` - `synthesis_note` - `placeholder` - Formalized `source_status` enum: - `representative` - `derived_synthesis` - `placeholder` Reason: - Current data already used `synthesis_note` and `derived_synthesis`. - The schema now matches implementation data instead of leaving enum drift implicit. ### `schemas/source_excerpt.schema.json` Change: - Added required `quote_status`. - Added required `source_location`. - Formalized `quote_status` enum: - `exact` - `condensed` - `paraphrased` - Formalized `excerpt_type` enum: - `definition` - `taxonomy` - `mechanism` - `application_rule` - `value_claim` - `boundary_rule` - `validation_rule` Reason: - Distinguishes exact quotes from compressed or paraphrased evidence. - Prevents `raw_excerpt` from silently containing condensed text. ### `schemas/regression_case.schema.json` Change: - Expanded `case_type` enum: - `positive` - `boundary` - `misuse` - `no_call` - `selector_gate` - `pipeline` - Added optional evaluable fields: - `should_call_model` - `expected_primary_model` - `negative_expected_models` - `expected_classification` - `expected_dominant_scarcity` - `expected_max_depth` - `minimum_required_elements` - `forbidden_elements` - `evaluation_mode` Reason: - Supports no-call, false-positive, selector-gate, and structured review cases without adding LLM evaluation. ## Not Changed ### `schemas/model_card.schema.json` No new required model-card fields were added in this pass. Reason: - QPI and Intellectual Archaeology output contracts were strengthened in model JSON and cards. - Making those fields schema-required is left for CCRA / Owner review to avoid over-weighting v0.2. ### `schemas/model_index.schema.json` No additional index semantics were added in this pass. Reason: - Index continues to mirror model/card state and counts. - Content review status remains in `reports/model_review_status.json`, not `model_index.json`.