This is an old revision of the document!
See overview: System Architecture Overview
The Farm Controller Layer is the on-site AOFS controller that provides local supervision, configuration, and federation. It sits between the Field Controller (authoritative safety layer) and HQ / Federated Controllers.
This layer is offline-first, federation-capable, and authoritative for non-critical decisions.
The Farm Controller Layer must:
—
1. Full local autonomy:
2. Local operator interface:
3. Local data storage:
—
Farm Controllers support a Git-like push/pull model:
—
When multiple controllers modify configurations or schedules:
1. **Timestamp precedence:** * The most recent authorized change takes effect.
2. **Operator approval:** * In case of conflicting schedule changes, local farm operators must approve before applying.
3. **Field Controller enforcement:** * Field Controller always vetoes any configuration that violates **safety constraints**.
4. **Logging:** * All conflict events must be logged with timestamps, operator ID, and resolution outcome.
—
1. Safety authority:
2. Configuration authority:
3. Audit and compliance:
—
* The Farm Controller must provide a full local UI:
* Operator actions are validated against Field Controller safety rules. * The interface supports manual requests, but these cannot bypass critical safety decisions.
—
* Hardware: Industrial-grade single-board computers (e.g., NanoPi, Raspberry Pi). * Communication protocols: LAN, WiFi, or cellular for synchronization. * Data format: Structured, versioned, and compatible with HQ controller ingestion. * Security: All communications must be encrypted; operator authentication is required. * Scalability: Supports multiple Field Controllers per farm; multiple zones; multi-farm federation.
—
* Any AOFS-compliant Farm Controller must implement offline operation, federation, logging, and safety validation. * Failure to preserve Field Controller authority or provide audit logs invalidates compliance. * Synchronization conflicts must follow the deterministic resolution rules defined above.