Chapters: 

Why I am not creating Taxonomy Terms for plants, yet. They change with the seasons and are extremely demonstrative of their needs. 

That is why plant_names should stay in the body block as a machine_block first.

Today we may refer to you as a pepper

plant_names: peppers

But tomorrow evidence may force:

plant_names: hot peppers

Then later:

plant_names: helios hot peppers; hot pepper seedlings; 

And eventually runtime can normalize:

observed_name: hot pepper seedlings
normalized_plant: pepper
plant_group: fruiting_vegetable

But Backdrop does not need to know that yet.

This is the plant version of ingredient normalization

Same principle, separate domain.

Recipe side:

observed ingredient: cannellini beans
normalized ingredient: white beans

Plant side:

observed plant name: hot pepper seedlings
normalized plant: pepper

But we do not mix the two. Different little machines. Separate clipboards.

Plant evidence should capture the complaint

The funny plant voices actually point to real requirement fields:

pepper complaint: "Can I have an extra blanket?"
machine fact: temperature_support_needed
basil complaint: "Air please."
machine fact: airflow_needed
parsley complaint: "Water. Again."
machine fact: higher_water_need
lavender complaint: "Leave me alone, please."
machine fact: low_water_need / transplant_deferred

So the machine block can support both observed facts and requirement signals.

Slightly improved block

I would add one field:

requirement_signal:

So:

[plant_observation]
record_type: plant_observation
observation_date: 2026-06-24
environment_context: home_current
plant_names: hot pepper seedlings
action_taken: heat_support_continued
growing_location: heating pad
indoor_or_outdoor: indoor
sun_level: not_recorded
water_schedule: wed_sat
soil_container_note: small clay pots
temperature_support: heating_pad
airflow_note: not_recorded
observed_response: plants remained slow until warmth was provided
requirement_signal: warmth_needed
fit_signal: review_required
next_check: monitor growth response after continued heat support
images: attached
notes: Pepper seedlings appear temperature-sensitive under current conditions.
[/plant_observation]

And basil gets:

[plant_observation]
record_type: plant_observation
observation_date: 2026-06-24
environment_context: home_current
plant_names: basil
action_taken: observed
growing_location: not_recorded
indoor_or_outdoor: indoor
sun_level: not_recorded
water_schedule: wed_sat
soil_container_note: not_recorded
temperature_support: none
airflow_note: airflow important indoors
observed_response: airflow requirement previously observed for indoor basil
requirement_signal: airflow_needed
fit_signal: review_required
next_check: place where air movement is available
images: not_attached
notes: Basil should not be treated as a no-airflow indoor plant.
[/plant_observation]

Controlled values for requirement_signal

Start tiny:

warmth_needed
airflow_needed
higher_water_need
low_water_need
transplant_sensitive
fast_growth
slow_growth
stable
unknown

This is better than plant-name taxonomy because it captures the actual decision evidence:

What does this plant need?
What kind of spot fits?

That gets you back to the core model:

X = spot conditions + plant requirement signals
y = plant_fit_class

The peppers can file all the blanket complaints they want. The runtime will stamp them as warmth_needed. 🌶️📋