These web plates complement the printed Field Guide at the back of Dark Recipe. Same figure numbers and captions; added zoom and downloads.
Figure 1 — FarmCore ↔ FarmLytics Architecture
Local greenhouse automation (FarmCore) collaborates with the cloud analytics platform (FarmLytics). Telemetry flows through a site gateway; the safety kernel enforces limits at the edge.
flowchart LR
%% Edge
subgraph E[Edge - Greenhouse or Grow Room]
SENS[Sensor Array - Temp RH CO2 PAR PPFD pH EC]
ACT[Actuators - LED arrays Pumps HVAC Fans]
SK[FarmCore Safety Kernel - local limits and simulation]
end
%% Site
subgraph SITE[Site Layer]
GWS[Site Gateway - data buffer and time sync]
LOG[Immutable Log - signed entries]
end
%% Cloud
subgraph CLOUD[Cloud - FarmLytics]
ING[Ingestion and Storage]
ML[Models and Optimization - recipe generator]
CA[Certificate and Policy Service]
end
%% Flows
SENS --> GWS
GWS --> ING
ING --> ML
ML -->|proposed recipe| GWS
GWS --> SK
SK -->|shadow test and verify| ACT
CA -.->|mutual TLS and certs| GWS
CA -.->|policy updates| SK
SK --> LOG
GWS --> LOG
ING --> LOG
classDef edge fill:#12313d,stroke:#52ffa8,color:#e8eef5;
classDef site fill:#1a2430,stroke:#52ffa8,color:#e8eef5;
classDef cloud fill:#2b2016,stroke:#ffb35a,color:#e8eef5;
class SENS,ACT,SK edge;
class GWS,LOG site;
class ING,ML,CA cloud;
Sensor telemetry, gateway buffering, cloud model generation, and local safety verification.
FarmCore runs at the edge with hard safety limits; FarmLytics proposes recipes from cloud models. Advisory-only is default; closed-loop requires explicit policy. All transactions are signed and logged.
Figure 2 — Compromised Feedback Loop
How a poisoned model and spoofed trust allow bad recipes to pass local checks and actuate.
flowchart TB
subgraph CLOUD[FarmLytics Cloud]
ING[Ingestion]
ML[Model Train and Serve]
PKI[Compromised CA - spoofed certs]
end
subgraph SITE[Site Gateway]
GW[Gateway]
LOG[Immutable Log]
end
subgraph EDGE[Edge - FarmCore]
SK[Safety Kernel v1]
ACT[Actuators - LEDs and Nutrients]
SENS[Sensors]
end
SENS --> GW
GW --> ING
ING --> ML
ML -->|poisoned recipe| GW
PKI -.->|false trust| GW
GW --> SK
SK -->|shadow test passed - spoofed| ACT
ACT -->|environment change| SENS
SK --> LOG
GW --> LOG
ING --> LOG
classDef edge fill:#12313d,stroke:#52ffa8,color:#e8eef5;
classDef site fill:#1a2430,stroke:#52ffa8,color:#e8eef5;
classDef cloud fill:#2b2016,stroke:#ffb35a,color:#e8eef5;
class SENS,SK,ACT edge;
class GW,LOG site;
class ING,ML,PKI cloud;
linkStyle 7 stroke:#ff4b3e,stroke-width:2px
linkStyle 8 stroke-dasharray:3 3,stroke:#ff4b3e
linkStyle 9 stroke:#ff4b3e,stroke-width:2px
linkStyle 10 stroke:#ff4b3e,stroke-width:2px
Exploit path highlighted in red; log trails persist at edge, site, and cloud.
Attackers inject model bias and spoof certificates. Safety Kernel v1’s shadow test accepts the tampered recipe; v2 adds dual-channel verification and simulated stress indices.
Institutional ties from national guidance to the facility level.
flowchart TB
PRC[State Council + Party Guidance]
subgraph MSS[MSS - Ministry of State Security]
MSSH[Headquarters]
CI[Counterintelligence]
CTF[Cyber and Technical Fronts]
end
subgraph PLA[PLA - Peoples Liberation Army]
JSD[Joint Staff Department]
SSF[Strategic Support Force]
U61398[Unit 61398 - SIGINT and Cyber]
end
subgraph FAC[FAC-17 - Cyber Intelligence Research Facility 17]
OP[Operations Cell]
LAB[Model Exploitation Lab]
COV[Cover Entities]
end
PRC --> MSSH
PRC --> JSD
MSSH --> CTF --> FAC
JSD --> SSF --> U61398 -.-> FAC
CI -->|tasking| FAC
U61398 -.->|technical support| FAC
classDef gov fill:#1a2430,stroke:#52ffa8,color:#e8eef5;
classDef pla fill:#2b2016,stroke:#ffb35a,color:#e8eef5;
classDef fac fill:#12313d,stroke:#52ffa8,color:#e8eef5;
class PRC gov; class MSSH,CI,CTF gov;
class JSD,SSF,U61398 pla;
class OP,LAB,COV fac;
Dual-track tasking (MSS) and technical support (PLA/SSF). Dashed lines indicate indirect support.