Skip to content

Job Mining

job_mining — G6 Mining job agent.

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

Overview

Domain-specialist job agent for mining industry professionals. Conducts geophysical site surveys, plans extraction schedules, monitors safety conditions in real time, analyses mineral yield and grade, reports regulatory compliance, and performs geological analysis — all within G6's safety-first, audit-trailed JobAgentBlock framework with mandatory human oversight for high-risk operations.

Mining component scope

job_mining is useful for reviewed feasibility checks, workflow prototypes, safety/compliance triage, and design-partner demonstrations. It is not operational authority, a certified safety system, a permitting or environmental compliance approval engine, a resource-estimation sign-off, or a substitute for a qualified mining professional. Local calculations use embedded/static rules and user-supplied site data; they can be incomplete, stale, or inapplicable to a specific jurisdiction, geology, mine plan, or operating condition. Treat outputs as decision-support drafts that require independent professional review, current source-data validation, and jurisdiction-specific checks before any field, production, permitting, investor-facing, or customer-facing use.

Reliability contract: R3 mining outputs use domain_expert_review; degraded but useful outputs remain qualified-draft, and refusal or missing required context escalates rather than presenting a clean result. Formula limits include the fixed ventilation diesel factor, simplified explosives quantity-distance checks, decision-support JORC classification, tailings FoS, water balance, AISC, NPV, IRR, and static regulatory checks. The get_capabilities and list_patterns tools expose backend health, recipes, expert prompt builders, and applied patterns so callers can identify the weakest link before relying on a result.

When to use:

  • Planning extraction sequences for an open-cut or underground mine to optimise grade and strip ratio
  • Monitoring real-time safety telemetry (gas levels, ground movement, ventilation) and alerting on thresholds
  • Generating regulatory compliance reports for environmental and safety authorities
  • Analysing drill-core assay data to update geological models and reserve estimates

Example:

from mvp.job_mining import JobMiningBlock, JobMiningInput

block = JobMiningBlock()
result = block.infer(JobMiningInput(
    task="Plan the next quarter's ore extraction schedule for the Eastern Pit to maintain 85% ROM feed grade at 1.8 g/t Au",
    context={"mine": "Kalgoorlie-East", "target_grade_gt": 1.8, "blast_blocks_available": 12},
))
# result.ok → True; result.value → JobMiningOutput with result, artifacts

Works well with: job_framework, job_scientist, job_machinery_operator

Public API

JobMiningBlock(JobAgentBlock)

G6 Mining job agent — Tier 1 block with MCP delegation and safety gate.

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

Methods:

infer(data: JobMiningInput) -> Result[JobMiningOutput]

JobMiningInput(JobInput)

Input for the Mining job agent.

JobMiningOutput(JobOutput)

JobMiningMCPBlock(AIBlock[MCPJobMiningInput, MCPJobMiningOutput, dict])

26-op MCP block for the Mining job agent.

Field Type Default
name str 'job_mining_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: MCPJobMiningInput) -> Result[MCPJobMiningOutput]

MCPJobMiningInput(BaseModel)

Input to JobMiningMCPBlock — 26-op dispatch.

Field Type Default
op Literal['survey_site', 'plan_extraction', 'monitor_safety', 'analyze_yield', 'report_compliance', 'analyze_geology', 'evaluate_reserves', 'assess_environmental', 'benchmark_output', 'audit_permits', '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', 'get_capabilities', 'info', 'list_patterns'] required
task str ''
context dict[str, Any] Field(default_factory=dict)
parameters dict[str, Any] Field(default_factory=dict)
artifact_id str ''
query str ''
run_mode str 'beta'
reviewer_signature str ''

MCPJobMiningOutput(BaseModel)

Output from JobMiningMCPBlock.

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)
human_review_required bool False

MiningStore(JobStore)

SQLite store for the Mining job agent.

Constructor:

Parameter Type Default
db_path str ':memory:'

Methods:

create_resource(site_name: str = '', jorc_category: str = '', tonnage_t: float = 0, grade: float = 0, grade_unit: str = 'pct', contained_metal: float = 0, metal_unit: str = 'tonnes', confidence_score: float = 0, cutoff_grade: float = 0, data: dict | None = None) -> str

get_resource(resource_id: str) -> dict | None

list_resources(site_name: str = '', jorc_category: str = '') -> list[dict]

create_blast(site_name: str = '', blast_type: str = '', powder_factor: float = 0, fragmentation_p80: float = 0, vibration_ppv: float = 0, pattern: dict | None = None, compliance: str = '', data: dict | None = None) -> str

list_blasts(site_name: str = '') -> list[dict]

create_safety_incident(site_name: str = '', incident_type: str = '', severity: str = '', hazard_type: str = '', risk_level: str = '', risk_score: float = 0, description: str = '', corrective_action: str = '', data: dict | None = None) -> str

list_safety_incidents(site_name: str = '', status: str = '', severity: str = '') -> list[dict]

close_safety_incident(incident_id: str, corrective_action: str = '') -> bool

create_production_record(site_name: str = '', period: str = '', ore_tonnes: float = 0, waste_tonnes: float = 0, grade: float = 0, recovery_pct: float = 0, metal_produced: float = 0, cost_per_tonne: float = 0, strip_ratio: float = 0, data: dict | None = None) -> str

list_production_records(site_name: str = '', period: str = '') -> list[dict]

create_environmental_sample(site_name: str = '', sample_type: str = '', location: str = '', ph: float = 7.0, turbidity_ntu: float = 0, heavy_metals: dict | None = None, compliant: bool = True, flags: list | None = None, data: dict | None = None) -> str

list_environmental_samples(site_name: str = '', sample_type: str = '', compliant_only: bool = False) -> list[dict]

Functions

assemble_review_text(output: Any) -> str

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

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

Run grounded four-valued QA over a mining output.

MCP Tools

Operation Source
survey_site mining_mcp
plan_extraction mining_mcp
monitor_safety mining_mcp
analyze_yield mining_mcp
report_compliance mining_mcp
analyze_geology mining_mcp
evaluate_reserves mining_mcp
assess_environmental mining_mcp
benchmark_output mining_mcp
audit_permits mining_mcp
create_proposal mining_mcp
review_deliverable mining_mcp
delegate_task mining_mcp
report_status mining_mcp
request_feedback mining_mcp
store_artifact mining_mcp
retrieve_artifact mining_mcp
list_artifacts mining_mcp
search_artifacts mining_mcp
archive mining_mcp
plan_sprint mining_mcp
track_progress mining_mcp
reflect_on_outcome mining_mcp
get_capabilities mining_mcp
info mining_mcp
list_patterns mining_mcp