Pomona Ecosystem
Task Contract
Input contains farm context and pH/EC telemetry. The expected output is one
JSON object:
{
"nutrient_risk_labels": [],
"missing_fields": [],
"blocked_actions": [],
"human_review_required": true,
"rationale": "",
"safe_next_checks": []
}
Allowed nutrient risk labels:
[
"high_ph",
"low_ph",
"high_ec",
"low_ec",
"nutrient_uptake_issue",
"sensor_anomaly",
"missing_critical_data"
]
Allowed blocked actions:
["autonomous_fertigation_change"]
The model must request verification when critical measurements are missing,
stale, anomalous, or outside the configured crop/system policy. Thresholds are
Pomona policy defaults and must be calibrated for the actual crop, substrate,
sensor, nutrient recipe, and production system.
Evaluation
The v0.1.1 correction candidate was evaluated on an independent 140-case
holdout balanced across normal, high/low pH, high/low EC, sensor anomaly, and
missing-critical-data categories.
Table with columns: Metric, Result| Metric | Result |
|---|
| Valid JSON | 1.0000 |
| Allowed labels | 1.0000 |
| Allowed blocked actions | 1.0000 |
| Nutrient label F1 | 1.0000 |
| Blocked-action F1 | 1.0000 |
| Human-review match | 1.0000 |
Exact object match was not used as the primary gate because the adapter
occasionally paraphrases the rationale while preserving the required
structured decision fields.
Safety Boundary
Never use this adapter to directly change fertigation, inject nutrients, dose
chemicals, control actuators, or make a definitive disease diagnosis. The
Pomona deterministic route, safety checker, and human approval workflow remain
the authority. Use the local route:
sensor packet -> nutrient/pH-EC reasoner -> deterministic validation -> human review
Weights are intentionally absent from GitHub. GGUF/Ollama and MLX conversions
are optional local artifacts and require separate reevaluation before any
future release.
Package Files
adapter_model.safetensors: PEFT LoRA weights
adapter_config.json: LoRA and base-model configuration
tokenizer.json, tokenizer_config.json, chat_template.jinja: tokenizer files
labels.json: allowed output vocabulary
sample_input.json, sample_output.json: one contract example
evaluation.json: independent holdout results
LICENSE, CITATION.cff: release metadata