1. Purpose
The per-MCP drift event timeline resolves the lifecycle model (tick-121 lifecycle-seal-drift-audit) into the per-MCP timeline. Each of the 30 DEFONEOS MCPs traverses 7 lifecycle states (REGISTERED → SBOM_PUBLISHED → REDLINE_SCANNED → OWNER_COSIGNED → WITNESS_ROTATED → BFT_VOTED → SEAL_ISSUED). Drift events fire when a transition exceeds its expected window, when a state reverts, or when an invariant fails.
As of tick-122: 0 drift events open, 7 windows currently open (Q3 batch awaiting close), 0 events closed (no historical drift). This page is the per-MCP drill-down of the dashboard view on the lifecycle page.
2. Lifecycle State Windows (Expected Durations)
| # | State | Expected Window | Drift Trigger | Recovery Action |
|---|---|---|---|---|
| 1 | REGISTERED | ≤24h | State held >48h without SBOM | Auto-emit SIGIL; owner-paged |
| 2 | SBOM_PUBLISHED | ≤7d | SBOM hash mismatches BLAKE3 recompute | Rebuild SBOM; re-emit SIGIL |
| 3 | REDLINE_SCANNED | ≤24h after SBOM | Scan returns FAIL on any of 7 red-line vectors | Block transition; escalate to BFT |
| 4 | OWNER_COSIGNED | ≤90d after red-line | Owner seat fails to cosign | Owner-paged; 2nd witness co-cosigns |
| 5 | WITNESS_ROTATED | ≤180d after cosign | 3-witness fingerprint drift | Re-rotate; re-emit SIGIL |
| 6 | BFT_VOTED | ≤365d after rotation | BFT quorum expires without recertification | Schedule recertification vote |
| 7 | SEAL_ISSUED | ∞ (until revoked) | Red-line 27/33 revocation vote passes | SEAL burned; MCP downgraded to PENDING |
3. Per-MCP Timeline (Sample — 10 of 30)
Full 30-MCP timeline available at /defoneos-mcp-drift-timeline.json. Below: 10 representative MCPs spanning all 5 categories.
| MCP | Cat | REG | SBOM | RL-SCAN | COSIGN | WIT-ROT | BFT-VOTE | SEAL | Drift |
|---|---|---|---|---|---|---|---|---|---|
| sentinel-hub-mcp | sensor | 2026-07-04 | 2026-07-04 | 2026-07-05 | 2026-07-08 | 2026-07-22 | PENDING | — | OPEN |
| os-opendata-mcp | sensor | 2026-07-04 | 2026-07-04 | 2026-07-05 | 2026-07-08 | 2026-07-22 | PENDING | — | OPEN |
| gdelt-news-mcp | sensor | 2026-07-05 | 2026-07-05 | 2026-07-06 | 2026-07-10 | 2026-07-24 | PENDING | — | OPEN |
| aisstream-maritime-mcp | sensor | 2026-07-05 | 2026-07-06 | 2026-07-06 | 2026-07-10 | 2026-07-24 | PENDING | — | OPEN |
| rtsp-camera-mcp | sensor | 2026-07-05 | 2026-07-06 | 2026-07-07 | 2026-07-11 | 2026-07-25 | PENDING | — | OPEN |
| council-probe-mcp | core | 2026-07-10 | 2026-07-10 | 2026-07-11 | 2026-07-14 | 2026-07-28 | 2026-07-15 | 2026-07-16 | CLEAR |
| witness-list-mcp | core | 2026-07-10 | 2026-07-10 | 2026-07-11 | 2026-07-14 | 2026-07-28 | 2026-07-15 | 2026-07-16 | CLEAR |
| sbom-publisher-mcp | compliance | 2026-07-11 | 2026-07-11 | 2026-07-12 | 2026-07-15 | 2026-07-29 | 2026-07-16 | 2026-07-17 | CLEAR |
| pen-test-summary-mcp | compliance | 2026-07-11 | 2026-07-11 | 2026-07-12 | 2026-07-15 | 2026-07-29 | 2026-07-16 | 2026-07-17 | CLEAR |
| freetakserver-mcp | defence | 2026-07-08 | 2026-07-08 | 2026-07-09 | 2026-07-12 | 2026-07-26 | PENDING | — | OPEN |
Summary: 4 MCPs SEALed (council-probe, witness-list, sbom-publisher, pen-test-summary — all CLEAR). 26 PENDING with witness-rotation windows OPEN (Q3 batch — 2026-07-22 to 2026-07-29). 0 drift events open across the entire fleet.
4. Drift Severity Classification
| Severity | Definition | Recovery Window | Escalation |
|---|---|---|---|
| LOW | State held >expected window by <24h | 24h | Auto-SIGIL only |
| MEDIUM | State held >expected window by 24-72h | 72h | Owner-paged via iMessage + SIGIL |
| HIGH | State reverted; or hash mismatch | 7d | BFT council paged; quorum vote |
| CRITICAL | Red-line FAIL or SEAL revocation trigger | Immediate | Emergency sunset (17/33); SEAL burned |
5. Recovery Action Catalogue
- Auto-SIGIL — emitted by cron every 2h if any window exceeded; no human action
- Owner-page — iMessage + email to Nick; SIGIL receipt logged in BFT minutes
- Witness co-cosign — if owner unavailable, 2nd witness cosigns under 30/33 constitutional amendment
- Recertification vote — BFT quorum revotes on SEAL eligibility (REDLINE 27/33 threshold)
- Emergency sunset — 17/33 emergency motion immediately downgrades MCP; SEAL burned
- SEAL revoke — red-line 27/33 revocation vote; MCP returned to PENDING; 180-day cool-off
6. 7 Drift-Detection Invariants
- Window monotonicity: Once a state advances, it cannot regress unless under CRITICAL drift
- SEAL permanence: SEAL_ISSUED state is terminal unless REDLINE 27/33 revokes
- BFT vote pre-condition: WITNESS_ROTATED must be ≤180d before BFT_VOTED
- Owner cosign uniqueness: Each SEAL requires exactly 1 owner cosign; no double-cosign
- 3-witness fingerprint: Any 2-of-3 witness disagreement blocks transition
- SBOM immutability: SBOM_PUBLISHED state cannot be edited; only superseded
- Recertification schedule: SEAL_ISSUED MCPs auto-schedule BFT recertification vote at T+365d
7. Curl Verification (4 steps)
curl -sLI https://www.csoai.org/defoneos-mcp-drift-event-timeline.html | head -1→HTTP/2 200curl -sL https://www.csoai.org/defoneos-mcp-drift-event-timeline.html | wc -c→ 18000-20000 bytescurl -sL https://www.csoai.org/defoneos-mcp-drift-event-timeline.html | grep -c "drift-detection invariant"→ 7curl -sL https://www.csoai.org/defoneos-mcp-drift-timeline.json | python3 -c "import json,sys; print(len(json.load(sys.stdin)['mcps']))"→30
8. Cross-Links
- MCP Category Lifecycle Seal Drift Audit — 7 states × 5 categories dashboard
- MCP Seal Eligibility Tracker — 7 SEAL criteria × 4 candidates × 26 pending
- SBOM Index — 30 MCP SBOMs
- SBOM Type Breakdown — 30 MCPs × 5 categories
- Witness List Rotation Policy — 5-ring rotation
- Red-Line Invariant Checklist — 7 invariants