# Validation Notes ## Four Gates ### 1. Structural Validity TraceCapsule schema requires: - `root_trace_id` - `trace_id` - `claim_boundary` - `loop_state` - `review_status` - `credential_state` - `source_return_state` `source_return_state` must be either: - `present`, requiring `source_return_path` - `explicitly_absent`, requiring `source_return_absence_reason` ### 2. Transition Discipline TransitionRecord schema requires: - `from_state` - `to_state` - `trigger` - `evidence_ref` - `reason` - `timestamp` - `actor_or_system` Every transition must explain why it happened and point to a supporting trace. ### 3. Provenance Boundary `root_trace_id` is the original source / credential object. A child capsule may add: - `parent_trace_id` - `claim_delta` - new `loop_state` - new `review_status` A child capsule may **not** rewrite root provenance. JSON Schema validates the shape of `root_trace_id`; packet-level validation must enforce that child capsules keep the same root across the lineage. ### 4. Scope Boundary The schemas validate structure and routing discipline. They do not validate truth, intent, or claim correctness. ## Expected Test Results ### PASS - root HELD capsule - child inheritance capsule - source_return_path present - source_return explicitly absent with reason - HELD → STRAINED with evidence_ref + reason - STRAINED → REPAIRING with evidence_ref + reason - REPAIRING → CLOSED_CURRENT_SCOPE with evidence_ref + reason - Any → MUST_STOP with evidence_ref + reason - Any → FALSE_CLOSURE_RISK with evidence_ref + reason ### FAIL - missing evidence_ref - missing reason - attempted root rewrite