This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| architecture:start [2026/01/21 21:02] – bsamuel | architecture:start [2026/02/23 01:11] (current) – [8. References] bsamuel | ||
|---|---|---|---|
| Line 22: | Line 22: | ||
| < | < | ||
| ┌───────────────────────┐ | ┌───────────────────────┐ | ||
| - | │ HQ / Federated | + | │ HQ / Federated |
| - | │ Controller | + | │ Controller |
| - | │ Dashboards & Reports | + | │ Dashboards & Reports │ |
| └─────────┬─────────────┘ | └─────────┬─────────────┘ | ||
| │ Push/Pull Config & Logs | │ Push/Pull Config & Logs | ||
| Line 45: | Line 45: | ||
| **Legend:** | **Legend:** | ||
| - | - **Field Controller: | + | * **Field Controller: |
| - | - **Farm Controller: | + | |
| - | - **HQ Controller: | + | |
| --- | --- | ||
| Line 63: | Line 63: | ||
| ===== 4. Federation / Sync Model ===== | ===== 4. Federation / Sync Model ===== | ||
| - | * **Push/ | + | |
| - | * **Conflict Resolution: | + | * **Conflict Resolution: |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * **Offline First: | + | * **Offline First: |
| - | | + | |
| - | | + | |
| --- | --- | ||
| Line 76: | Line 76: | ||
| ===== 5. Human Interface Rules ===== | ===== 5. Human Interface Rules ===== | ||
| - | * All controllers expose interfaces appropriate to their role: | + | |
| - | | + | |
| - | | + | |
| - | | + | |
| - | * No interface may bypass Field Controller safety rules. | + | * No interface may bypass Field Controller safety rules. |
| --- | --- | ||
| - | ===== 6. Compliance Notes ===== | + | ===== 6. Communication Model & Protocol Independence |
| - | * AOFS-compliant deployments **must implement all three layers** as defined. | + | * Controller layers may communicate using one or more standardized protocols (see [[architecture: |
| - | * Field Controller safety rules **cannot be overridden** by higher layers. | + | * Protocol choice does not define authority |
| - | * All push/pull, configuration changes, and operator actions **must be logged**. | + | * Communication transport is strictly separated from control authority |
| - | * Offline operation **must not compromise irrigation or safety**. | + | |
| - | * Failure to respect authority boundaries **invalidates AOFS compliance**. | + | * Field Controller authority is defined by architectural rules, not by message origin |
| + | * Remote commands received via MQTT, AMQP, or other protocols must always be validated locally | ||
| + | * Loss of connectivity must never affect safety-critical irrigation execution | ||
| + | * Communication failure must default to safe autonomous operation | ||
| + | |||
| + | * AOFS architecture is protocol-agnostic | ||
| + | * Multiple protocols may coexist within a deployment | ||
| + | * Implementations must ensure auditability of all received and transmitted messages | ||
| + | |||
| + | --- | ||
| + | ===== 7. Compliance Notes ===== | ||
| + | |||
| + | | ||
| + | * Field Controller safety rules **cannot be overridden** by higher layers. | ||
| + | * All push/pull, configuration changes, and operator actions **must be logged**. | ||
| + | * Offline operation **must not compromise irrigation or safety**. | ||
| + | * Failure to respect authority boundaries **invalidates AOFS compliance**. | ||
| --- | --- | ||
| - | ===== 7. References ===== | + | ===== 8. References ===== |
| - | * [[architecture: | + | |
| - | * [[architecture: | + | * [[architecture: |
| - | * [[architecture: | + | * [[architecture: |
| - | * [[hydraulics|Hydraulic & Water Systems]] | + | * [[hydraulics:start]] |
| - | * [[electrical|Electrical & Control Interfaces]] | + | * [[electrical|Electrical & Control Interfaces]] |
| - | * [[sensors|Measuring, | + | * [[sensors|Measuring, |