Mycelial Data Fabric (MDF)
The facility data and comms backbone — a mycelium-inspired self-healing mesh that transports, time-aligns, stores, and secures every byte of telemetry between sensors, CHLORA, and actuation.
1. Overview
The MDF is named for the mycelial networks it imitates: many redundant strands ("hyphae"), no single hub, and signaling that re-routes around damage. It carries the output of the PhytoSense Mesh and Spectral Canopy Array to CHLORA and delivers control packets back to actuators, all under deterministic latency guarantees.
2. Topology
Three logical planes over a partial-mesh physical fabric:
- Edge plane — MDF gateways at zone boundaries aggregate sensor mesh traffic (802.15.4 / LoRa) onto the fabric.
- Transport plane — redundant 25/100 GbE fiber strands in a partial mesh; every gateway has ≥ 3 link-disjoint paths to the core.
- Core plane — two geographically separated core clusters (Sub-Level 2 / Sub-Level 4) running active-active; CHLORA and storage attach here.
No node is more than 4 transport hops from a core cluster. Design rule: survive any single core, any two strands, or any one gateway without SLA breach.
3. Protocols
| Layer | Protocol | Purpose |
|---|---|---|
| Transport | QUIC over UDP, 0-RTT resumption | Low-latency streaming, head-of-line avoidance |
| Messaging | VC-Spore pub/sub (topic = zone/specimen) | Fan-out telemetry to CHLORA, dashboards, archive |
| Routing | Pheromone-weighted shortest-path (ant-colony inspired) | Self-healing, congestion-aware path selection |
| Encoding | CBOR + zstd | Compact, schema-evolvable telemetry |
| Time | PTP IEEE 1588v2 + hardware timestamping | Sub-µs alignment across the fabric |
4. Throughput / Latency SLAs
| Class | Example Traffic | Latency SLA (p95) | Loss | Priority |
|---|---|---|---|---|
| Control (CL0) | Containment interlock, actuator command | < 8 ms | 0 (acked) | Strict-high, preemptive |
| Alarm (CL1) | CRITICAL/BREACH events | < 15 ms | 0 (acked) | High |
| Telemetry (CL2) | PhytoSense / canopy streams | < 40 ms | < 1e-5 | Assured |
| Bulk (CL3) | Radiance cubes, backups | < 2 s | best-effort | Scavenger |
5. Redundancy & Self-Healing Routing
- Pheromone-weighted routing continuously probes path health; failed strands decay to zero weight within 250 ms and traffic reconverges on alternate disjoint paths.
- Sub-50 ms failover for CL0/CL1 via pre-installed backup paths (no recompute on failure).
- Active-active cores: loss of one core sheds zero traffic; sessions migrate via QUIC connection ID.
- Gateway loss triggers sensor-mesh LoRa fallback to the nearest surviving gateway (see VC-ENG-2101 §7).
6. Time-Sync
A GPS/atomic-disciplined PTP grandmaster in each core provides the facility clock. Boundary clocks at every gateway hold member nodes to ±1 µs; measured fleet drift is ±0.9 µs. Accurate time is mandatory: CHLORA's anomaly detection and 2-of-3 sensor voting depend on aligned timestamps.
7. Storage Tiers
| Tier | Medium | Window | Latency | Use |
|---|---|---|---|---|
| Hot | In-memory time-series ring | 72 h | < 5 ms | Live dashboards, control loops |
| Warm | NVMe columnar store | 90 days | < 50 ms | Trends, anomaly training windows |
| Cold | Erasure-coded object store | 5 years | < 2 s | Index rollups, audit |
| Archive | Sealed cold object (immutable) | Indefinite | minutes | Regulatory, Universal Flora archive |
8. Security & Encryption
- In transit: TLS 1.3 / QUIC, mutual cert auth; every sensor packet additionally Ed25519-signed at the node.
- At rest: AES-256-GCM, per-tier keys, 90-day rotation via the facility HSM.
- Access: zero-trust, scoped API tokens; GCL-4 specimen streams require CBO-tier authorization to read.
- Integrity: append-only audit log of every control-plane command, hash-chained.
9. API Surface
Clients query through the MDF gateway API (gRPC + REST). Example telemetry query and response:
POST /v3/telemetry/query
Authorization: Bearer <scoped-token>
Content-Type: application/json
{
"select": ["stem_turgor_kpa", "chl_fluor_fvfm"],
"where": { "zone": "GCL-4/VAULT-03",
"specimen_cluster": "TX-RADICANS-W7" },
"range": { "from": "2089-11-04T08:00:00Z",
"to": "2089-11-04T09:00:00Z" },
"agg": "mean", "bucket": "5m"
}
200 OK
{
"schema": "vc.mdf.queryresult/3",
"series": [
{ "t": "2089-11-04T08:00:00Z",
"stem_turgor_kpa": 414.2, "chl_fluor_fvfm": 0.823 },
{ "t": "2089-11-04T08:05:00Z",
"stem_turgor_kpa": 412.6, "chl_fluor_fvfm": 0.821 }
],
"buckets": 12, "served_from": "warm", "latency_ms": 31
}
10. Integration with CHLORA
CHLORA subscribes to VC-Spore topics for live streams and reads the warm tier for training windows. Its decisions return as CL0 control packets that the MDF prioritizes and delivers under the 8 ms control SLA. Decision provenance is written to the hash-chained audit log. Full reasoning behavior is specified in VC-ENG-2300; resulting alarms route per VC-ENG-2400.