Skip to content

Job Agriculture

job_agriculture — G6 Agriculture job agent.

Cluster: Job Agents | Type: component | MCP Tools: 26

Overview

Domain-specialist job agent for agricultural operations. Plans crop cycles, monitors field and climate conditions, optimises yield predictions, manages livestock schedules, forecasts harvests, and runs soil analysis within G6's safety-bounded, audit-trailed JobAgentBlock framework.

When to use:

  • Planning seasonal crop rotations and coordinating planting schedules across multiple fields
  • Monitoring real-time sensor data for soil moisture, temperature, and nutrient levels
  • Forecasting harvest volumes and logistics requirements ahead of the growing season
  • Optimising irrigation or fertilisation decisions from historical yield records

Example:

from mvp.job_agriculture import JobAgricultureBlock, JobAgricultureInput

block = JobAgricultureBlock()
result = block.infer(JobAgricultureInput(
    task="Plan the spring wheat crop cycle for field blocks A1-A4 given last season's soil reports",
    context={"region": "Murray-Darling Basin"},
    parameters={
        "crop": "wheat",
        "fields": [
            {"field_id": "A1", "current_crop": "canola", "acres": 120},
            {"field_id": "A2", "current_crop": "fallow", "acres": 95},
        ],
        "target_yield_t_ha": 4.5,
    },
))
# result.ok -> True; result.value -> JobAgricultureOutput with result,
# completion_state, warning_card, and agentic_evidence.

Common parameters:

  • plan_crop_cycle: crop, season, year, fields, rotation_history, soil_temp_f, last_frost_date, current_date, daily_temps
  • analyze_soil: field_id, crop, ph, n_ppm, p_ppm, k_ppm, organic_matter_pct, sand_pct, silt_pct, clay_pct
  • forecast_harvest: crop, field_id, acres, current_moisture_pct, daily_temps, historical_yields, market_price

Reliability envelope: deterministic local success reports completion_state: verified; degraded but useful fallback reports qualified-draft with warning_card; refusal, not-found, or failure reports blocked-escalated. MCP outputs preserve the legacy JSON string result and add structured_result for direct structured access.

Works well with: job_framework, job_scientist, job_logistics

Public API

JobAgricultureBlock(JobAgentBlock)

G6 Agriculture job agent -- Tier 1 block with MCP delegation.

Field Type Default
name str 'job_agriculture'
sector SectorClassification field(default_factory=lambda: _SECTOR)
toolkit ToolkitSpec \| None field(default_factory=lambda: JOB_TOOLKITS.get('agriculture'))
mcp_module str 'mvp.job_agriculture.agriculture_mcp.server'
agentic_planner object \| None None
capabilities ClassVar[set[type]] {Extensible, HumanLearnable, Collaborative, ProblemSolvable, KnowledgeGrounded, Memorable, AgentCommunicable, Actuatable}

JobAgricultureInput(JobInput)

Input for the Agriculture job agent.

JobAgricultureOutput(JobOutput)

JobAgricultureMCPBlock(AIBlock[MCPJobAgricultureInput, MCPJobAgricultureOutput, dict])

26-op MCP block for the Agriculture job agent.

Field Type Default
name str 'job_agriculture_mcp'
state dict field(default_factory=dict)
db_path str ':memory:'
resource_bounds ResourceBounds field(default_factory=ResourceBounds)
usage ResourceUsage field(default_factory=ResourceUsage)

Methods:

infer(data: MCPJobAgricultureInput) -> Result[MCPJobAgricultureOutput]

MCPJobAgricultureInput(BaseModel)

Input to JobAgricultureMCPBlock -- 26-op dispatch.

Field Type Default
op Literal['plan_crop_cycle', 'monitor_conditions', 'optimize_yield', 'manage_livestock', 'forecast_harvest', 'analyze_soil', 'evaluate_weather', 'assess_pest_risk', 'benchmark_productivity', 'audit_sustainability', 'create_proposal', 'review_deliverable', 'delegate_task', 'report_status', 'request_feedback', 'store_artifact', 'retrieve_artifact', 'list_artifacts', 'search_artifacts', 'archive', 'plan_sprint', 'track_progress', 'reflect_on_outcome', 'list_patterns', 'get_capabilities', 'info'] required
task str ''
context dict[str, Any] Field(default_factory=dict)
parameters dict[str, Any] Field(default_factory=dict)
artifact_id str ''
query str ''

MCPJobAgricultureOutput(BaseModel)

Output from JobAgricultureMCPBlock.

Field Type Default
op str required
result str ''
artifacts list[dict[str, Any]] Field(default_factory=list)
records list[dict[str, Any]] Field(default_factory=list)
message str ''
count int 0
found bool False
metadata dict[str, Any] Field(default_factory=dict)
degraded bool False
degradation_reason str \| None None
completion_state Literal['verified', 'qualified-draft', 'blocked-escalated'] 'qualified-draft'
warning_card dict[str, Any] Field(default_factory=dict)
evidence dict[str, Any] Field(default_factory=dict)
structured_result dict[str, Any] Field(default_factory=dict)

AgricultureStore(JobStore)

SQLite store for the Agriculture job agent.

Constructor:

Parameter Type Default
db_path str ':memory:'

Methods:

save_field(field_id: str = '', name: str = '', acres: float = 0, soil_type: str = '', current_crop: str = '', location: str = '', status: str = 'active', data: dict | None = None) -> str

get_field(field_id: str) -> dict | None

list_fields(status: str = '') -> list[dict]

save_crop_plan(field_id: str = '', crop: str = '', season: str = '', year: int = 0, target_yield: float = 0, seed_rate: float = 0, planting_date: str = '', status: str = 'planned', data: dict | None = None) -> str

get_crop_plans(field_id: str = '', year: int = 0) -> list[dict]

save_soil_test(field_id: str = '', test_date: str = '', ph: float = 0, organic_matter_pct: float = 0, n_ppm: float = 0, p_ppm: float = 0, k_ppm: float = 0, cec_meq: float = 0, data: dict | None = None) -> str

get_soil_tests(field_id: str) -> list[dict]

save_irrigation(field_id: str = '', application_date: str = '', system_type: str = '', amount_mm: float = 0, et_mm: float = 0, efficiency: float = 0, data: dict | None = None) -> str

get_irrigation_records(field_id: str) -> list[dict]

save_livestock(species: str = '', herd_id: str = '', head_count: int = 0, category: str = '', data: dict | None = None) -> str

get_livestock(species: str = '') -> list[dict]

save_harvest(field_id: str = '', crop: str = '', harvest_date: str = '', yield_per_acre: float = 0, total_yield: float = 0, moisture_pct: float = 0, quality_grade: str = '', data: dict | None = None) -> str

get_harvests(field_id: str = '', crop: str = '') -> list[dict]

save_weather(station: str = '', record_date: str = '', t_max_f: float = 0, t_min_f: float = 0, rainfall_mm: float = 0, humidity_pct: float = 0, wind_mph: float = 0, data: dict | None = None) -> str

get_weather(station: str = '', limit: int = 30) -> list[dict]

save_financial(field_id: str = '', category: str = '', description: str = '', amount: float = 0, record_type: str = 'expense', record_date: str = '', data: dict | None = None) -> str

get_financials(field_id: str = '', record_type: str = '') -> list[dict]

get_financial_summary(field_id: str = '') -> dict

Get revenue/expense summary for a field or entire farm.

Functions

assemble_review_text(output: Any) -> str

Collect the reviewable free text from a JobAgricultureOutput (duck-typed).

assess_agriculture_output(output: Any, qa_block: Any | None = None, generate: Any | None = None) -> GroundedRunResult

Run grounded four-valued QA over an agriculture output.

MCP Tools

Operation Source
plan_crop_cycle agriculture_mcp
monitor_conditions agriculture_mcp
optimize_yield agriculture_mcp
manage_livestock agriculture_mcp
forecast_harvest agriculture_mcp
analyze_soil agriculture_mcp
evaluate_weather agriculture_mcp
assess_pest_risk agriculture_mcp
benchmark_productivity agriculture_mcp
audit_sustainability agriculture_mcp
create_proposal agriculture_mcp
review_deliverable agriculture_mcp
delegate_task agriculture_mcp
report_status agriculture_mcp
request_feedback agriculture_mcp
store_artifact agriculture_mcp
retrieve_artifact agriculture_mcp
list_artifacts agriculture_mcp
search_artifacts agriculture_mcp
archive agriculture_mcp
plan_sprint agriculture_mcp
track_progress agriculture_mcp
reflect_on_outcome agriculture_mcp
list_patterns agriculture_mcp
get_capabilities agriculture_mcp
info agriculture_mcp