File size: 1,654 Bytes
c6a1c81 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | # 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
|