π± Barkly Plant Care
Functional Requirements Document
Human-Centered Autonomous Plant Care System
Document Status: Draft Organization: Barkly Labs System: Barkly Plant Care Related Systems: PlantWater-API, CYN-X, Barkly Safety Layer
01. Purpose
Barkly Plant Care SHALL provide an intelligent plant-care system capable of monitoring individual plants, understanding their care requirements, evaluating their current environment, and adjusting care actions accordingly.
The system SHALL move unnecessary plant-care complexity away from the human while preserving human visibility, control, and override capability.
The system SHALL combine:
PlantWater-API for plant-care hardware and sensor integration
CYN-X for contextual reasoning and decision support
Barkly Safety Layer for deterministic limits and physical-system protection
Plant Profiles for species- and individual-specific care requirements
Historical Data for understanding how an individual plant behaves over time
02. Core Principle
Barkly Plant Care SHALL NOT operate primarily from fixed schedules.
The system SHOULD make decisions based on:
What plant is this? + What does this plant need? + What is happening right now? + What has happened previously?
For example:
Traditional System
Every 3 days
β
Water plant
Barkly Plant Care:
Plant Profile
+
Current Sensors
+
Environmental Conditions
+
Historical Behavior
β
CYN-X Evaluation
β
Safety Validation
β
Care Action
β
Observe Result
β
Update Plant History
03. System Architecture
Barkly Plant Care SHALL consist of the following logical components:
| Component | Responsibility |
|---|---|
| Plant Profile System | Defines plant-specific requirements |
| PlantWater-API | Interfaces with sensors and watering hardware |
| Sensor Layer | Collects environmental measurements |
| Plant State Engine | Represents the plant's current condition |
| CYN-X | Performs contextual reasoning |
| Barkly Safety Layer | Enforces physical and operational limits |
| Decision Engine | Converts evaluation into permitted actions |
| History System | Records observations and actions |
| Human Interface | Explains system state and decisions |
| Notification System | Alerts humans when intervention is required |
04. Plant Profiles
FR-PLANT-001 β Plant Identity
The system SHALL maintain a unique identity for every managed plant.
Each plant SHALL have:
plant_id
name
species
location
container
soil_profile
growth_stage
FR-PLANT-002 β Species Requirements
The system SHALL support storing care requirements associated with a plant species.
Requirements MAY include:
preferred soil moisture
acceptable moisture range
watering behavior
light requirements
temperature range
humidity preferences
growth stage
expected drying behavior
FR-PLANT-003 β Individual Plant Characteristics
The system SHOULD support characteristics specific to an individual plant.
Examples:
container size
soil composition
pot drainage
observed drying rate
historical watering volume
growth behavior
The system SHALL NOT assume that every plant of the same species behaves identically.
05. Environmental Monitoring
FR-SENSOR-001 β Soil Moisture
The system SHALL support measurement of soil moisture.
FR-SENSOR-002 β Temperature
The system SHALL support environmental temperature measurement.
FR-SENSOR-003 β Humidity
The system SHALL support environmental humidity measurement.
FR-SENSOR-004 β Light
The system SHOULD support measurement of available light.
FR-SENSOR-005 β Water Reservoir
The system SHALL support monitoring of available water when connected to an automated reservoir.
FR-SENSOR-006 β Sensor Health
The system SHALL detect unavailable, invalid, stale, or abnormal sensor readings.
06. Plant State
The system SHALL maintain a current representation of each plant's observed state.
Example:
Plant State
βββ soil_moisture
βββ temperature
βββ humidity
βββ light
βββ reservoir_level
βββ last_watered
βββ recent_water_volume
βββ drying_rate
βββ sensor_health
FR-STATE-001
The system SHALL update plant state when new sensor data becomes available.
FR-STATE-002
The system SHALL preserve historical observations.
FR-STATE-003
The system SHALL distinguish between:
Observed
Estimated
Inferred
Unknown
The system SHALL NOT present an inference as a direct measurement.
07. Intelligent Care Evaluation
FR-AI-001 β Contextual Evaluation
CYN-X SHALL be capable of evaluating plant state in relation to the plant's profile.
The evaluation MAY consider:
current moisture
recent moisture trend
drying rate
recent watering
environmental conditions
plant requirements
growth stage
historical behavior
FR-AI-002 β Care Recommendation
CYN-X SHALL be capable of producing a structured care recommendation.
Example:
Recommendation:
action: water
suggested_volume: 80 mL
confidence: moderate
reason:
soil moisture has fallen below
the plant's preferred range
FR-AI-003 β No-Action Decision
The system SHALL be capable of determining that no action is currently required.
Example:
ACTION: NONE
Reason:
Plant moisture remains within
its preferred operating range.
FR-AI-004 β Uncertainty
CYN-X SHALL be capable of identifying insufficient information.
Example:
STATUS: UNCERTAIN
Reason:
Soil sensor has not reported valid
data for 14 hours.
The system SHALL NOT be required to make an automated care action when insufficient information exists.
08. Adaptive Plant Care
FR-ADAPT-001 β Individual Behavior
The system SHOULD learn from historical observations how an individual plant behaves.
For example:
Average drying rate:
4.2% / day
Recent drying rate:
6.1% / day
This information MAY influence future care evaluation.
FR-ADAPT-002 β Environmental Changes
The system SHOULD account for environmental changes.
Examples:
Higher temperature
Lower humidity
Increased sunlight
Different season
Different location
FR-ADAPT-003 β Growth Stage
The system SHOULD support different care profiles for different growth stages.
Example:
Seedling
β
Vegetative
β
Flowering
β
Mature
09. Automated Watering
FR-WATER-001
The system SHALL support automated watering when compatible hardware is connected.
FR-WATER-002
Watering actions SHALL be generated from an evaluated plant state rather than solely from a fixed timer.
FR-WATER-003
The system SHALL support configurable maximum watering volumes.
FR-WATER-004
The system SHALL support configurable minimum intervals between watering events.
FR-WATER-005
The system SHALL record every automated watering event.
Example:
2026-09-29 11:42
Plant: Tomato-01
Volume: 80 mL
Trigger: CYN-X recommendation
Safety: Approved
10. Barkly Safety Layer
CYN-X SHALL NOT directly control physical actuators without safety validation.
Architecture:
CYN-X
β
βΌ
Care Recommendation
β
βΌ
Barkly Safety Controller
β
βββββββββΌβββββββββ
βΌ βΌ βΌ
Volume Cooldown Sensors
Limit Limit Validity
β β β
βββββββββΌβββββββββ
βΌ
APPROVE / DENY
β
βΌ
PlantWater-API
β
βΌ
Pump
FR-SAFE-001
The Safety Layer SHALL enforce maximum watering volume.
FR-SAFE-002
The Safety Layer SHALL enforce minimum watering intervals.
FR-SAFE-003
The Safety Layer SHALL reject watering when required sensor information is invalid or unavailable.
FR-SAFE-004
The system SHALL provide a physical or software emergency stop where supported by the hardware.
FR-SAFE-005
A failed AI component SHALL NOT automatically bypass physical safety limits.
11. Human Control
Barkly Plant Care SHALL remain human-controlled even when automation is enabled.
FR-HUMAN-001
The human SHALL be able to view the current state of every plant.
FR-HUMAN-002
The human SHALL be able to manually water a plant.
FR-HUMAN-003
The human SHALL be able to disable automated watering.
FR-HUMAN-004
The human SHALL be able to modify plant profiles.
FR-HUMAN-005
The human SHALL be able to override an automated recommendation.
12. Explainability
The system SHALL explain significant automated actions in human-readable language.
Instead of:
WATER = TRUE
the system SHOULD display:
π± Tomato-01 needs water. Soil moisture has fallen below its preferred range and the plant has been drying faster than its recent average. Barkly recommends 80 mL.
The human SHOULD be able to inspect the information used to make the decision.
13. Notifications
The system SHOULD notify the human when intervention is needed.
Examples:
Normal
π± Fern is doing fine.
Attention
π± Tomato-01 is drying faster than usual.
Sensor Problem
β οΈ Tomato-01's moisture sensor hasn't reported valid data.
Hardware Problem
π¨ PlantWater reservoir is empty.
Human Decision Required
πΎ Barkly can't confidently determine whether this plant should be watered.
14. Historical Records
The system SHALL maintain a history of:
sensor observations
watering events
manual interventions
automated decisions
rejected actions
sensor failures
environmental conditions
plant-profile changes
This history SHOULD be exportable.
15. API Requirements
PlantWater-API SHALL expose machine-readable interfaces for:
GET /plants
GET /plants/{id}
POST /plants
PATCH /plants/{id}
GET /plants/{id}/state
GET /plants/{id}/history
GET /plants/{id}/sensors
GET /plants/{id}/recommendations
POST /plants/{id}/water
POST /plants/{id}/automation/enable
POST /plants/{id}/automation/disable
Exact endpoint naming MAY change during implementation.
16. CYN-X Interface
CYN-X SHOULD receive structured plant information rather than raw unorganized sensor streams.
Example:
{
"plant": {
"species": "example",
"growth_stage": "vegetative"
},
"environment": {
"soil_moisture": 31,
"temperature": 74,
"humidity": 48,
"light": 820
},
"history": {
"hours_since_watering": 19,
"recent_drying_rate": 0.061
}
}
CYN-X SHOULD return structured decisions rather than only natural-language text.
17. Failure Handling
The system SHALL fail safely.
If:
sensor fails
β
don't guess
If:
CYN-X unavailable
β
safe fallback behavior
If:
pump reports failure
β
stop automated watering
β
notify human
If:
reservoir empty
β
do not run pump
β
notify human
18. Privacy
Plant data SHOULD remain local where practical.
The system SHOULD NOT require cloud AI for basic plant-care functionality.
Where CYN-X is locally available, plant data SHOULD be processed locally unless the human explicitly enables external services.
19. Accessibility / Human-Centered Requirements
Barkly Plant Care SHALL follow the Barkly human-centered design principles.
The interface SHOULD:
minimize unnecessary decisions
use understandable language
expose complexity progressively
avoid requiring constant monitoring
clearly distinguish warnings from informational messages
provide manual control
provide explanations for automated actions
avoid overwhelming the user with raw sensor data
The system's purpose is not to make the human become a plant scientist.
It is to make the computer handle the complicated parts.
20. MVP
The first implementation SHOULD focus on:
MVP
β
βββ Plant profiles
βββ Soil moisture sensor
βββ Temperature/humidity
βββ PlantWater-API
βββ Automated pump
βββ Safety controller
βββ CYN-X evaluation
βββ Watering history
βββ Human dashboard
βββ Manual override
The MVP does not need to solve every plant-care problem.
The first goal is simply:
Identify what plant we are caring for, understand its current conditions, determine whether it needs water, safely act when appropriate, and explain what happened. π±πΎ
21. Future Capabilities
Future versions MAY add:
plant image recognition
disease/deficiency detection
camera-based growth tracking
automatic plant identification
fertilizer management
light-control integration
greenhouse control
multiple irrigation zones
weather integration
seasonal adaptation
plant-to-plant comparisons
predictive watering
computer vision
CYN-X vision models
voice interaction
Barkly Linux/PawBoard integration
22. Barkly Plant Care Principle
The human should care about the plant. The computer should care about the complexity. π±π
=