Skip to content

Job Engineer

job_engineer — G6 Engineer job agent.

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

Overview

Domain-specialist job agent for software and systems engineers. Designs system architectures, reviews code quality, debugs issues from stack traces or logs, writes technical specifications, estimates effort, and analyses requirements — providing a structured engineering workflow within G6's safety-bounded, audit-trailed JobAgentBlock framework.

Paid-pilot engineering assistant, not licensed sign-off

job_engineer is suitable for paid pilots, local MCP workflows, code review assistance, specification drafting, and engineering-planning support where a qualified person remains accountable for the final decision. It is not autonomous engineering authority. Its calculations, standards checks, design reviews, and risk assessments are simplified reliability aids and must not be used as construction, fabrication, deployment, safety, regulatory, or professional-engineering sign-off without independent review by a licensed professional engineer or jurisdiction-equivalent qualified reviewer. Treat message and metadata.user_summary as user-facing summaries; inspect the structured result artifact and any metadata.integration_status degradation before relying on output in paid customer work.

Simulation access is exposed through parameters.simulation_request on design_system and benchmark_performance. It uses the in-memory analytical adapter only (structural_fea, thermal, modal, cfd), sets simulation_only=True, requires_review=True, and returns completion_state: qualified-draft unless invalid inputs require blocked-escalated. It is not a CAD/FEA/CFD solver substitute.

Public envelopes use the canonical completion states exactly: verified, qualified-draft, blocked-escalated. Advisory engineering outputs with missing optional integrations, simulation results, or human-review requirements surface qualified-draft plus a warning_card; refusal, invalid simulation input, or failure surfaces blocked-escalated.

When to use:

  • Reviewing a pull request or codebase for architectural issues, security anti-patterns, or maintainability
  • Generating a technical specification from high-level product requirements
  • Debugging a production issue by reasoning over logs, stack traces, and system state
  • Estimating effort and risk for a feature backlog or infrastructure migration

Example:

from mvp.job_engineer import JobEngineerBlock, JobEngineerInput

block = JobEngineerBlock()
result = block.infer(JobEngineerInput(
    task="Design a horizontally scalable microservice architecture for a real-time event-streaming platform handling 1M events/sec",
    context={"cloud": "AWS", "latency_p99_ms": 50, "team_size": 8},
))
# result.ok → True; result.value → JobEngineerOutput with result, artifacts

Works well with: job_framework, job_it, job_manager

Public API

JobEngineerBlock(JobAgentBlock)

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

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

Methods:

infer(data: Any) -> Result[JobEngineerOutput]

JobEngineerInput(JobInput)

Input for the Engineer job agent.

JobEngineerOutput(JobOutput)

Output from the Engineer job agent.

JobEngineerMCPBlock(AIBlock[MCPJobEngineerInput, MCPJobEngineerOutput, dict])

26-op MCP block for the Engineer job agent.

Field Type Default
name str 'job_engineer_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: MCPJobEngineerInput) -> Result[MCPJobEngineerOutput]

MCPJobEngineerInput(BaseModel)

Input to JobEngineerMCPBlock -- 26-op dispatch.

Field Type Default
op Literal['design_system', 'review_code', 'debug_issue', 'write_spec', 'estimate_effort', 'analyze_requirements', 'evaluate_tradeoffs', 'assess_risk', 'benchmark_performance', 'audit_quality', '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 ''

MCPJobEngineerOutput(BaseModel)

Output from JobEngineerMCPBlock.

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'

EngineerStore(JobStore)

SQLite store for the Engineer job agent.

Constructor:

Parameter Type Default
db_path str ':memory:'

Methods:

save_design(project_name: str, system_type: str, data: dict, status: str = 'draft') -> str

Persist a system design.

get_design(design_id: str) -> dict | None

list_designs(status: str = '', limit: int = 50) -> list[dict]

update_design_status(design_id: str, status: str) -> bool

save_code_review(project_id: str, verdict: str, overall_score: float, data: dict) -> str

Persist a code review result.

get_code_reviews(project_id: str = '', limit: int = 20) -> list[dict]

save_risk_assessment(title: str, overall_level: str, data: dict) -> str

Persist a risk assessment.

get_risk_assessments(level: str = '', limit: int = 20) -> list[dict]

save_specification(spec_id: str, title: str, spec_type: str, data: dict) -> str

Persist an engineering specification.

get_specification(spec_id: str) -> dict | None

list_specifications(spec_type: str = '', limit: int = 50) -> list[dict]

update_spec_status(spec_id: str, status: str, revision: str = '') -> bool

save_benchmark(benchmark_type: str, data: dict) -> str

Persist a benchmark result.

get_benchmarks(benchmark_type: str = '', limit: int = 20) -> list[dict]

save_design_document(design_id: str, doc_type: str, title: str, content: dict, approved_by: str = '') -> str

Persist a design document (drawing, calculation, etc.).

list_design_documents(design_id: str = '', doc_type: str = '', limit: int = 50) -> list[dict]

count_all() -> dict[str, int]

Override to include engineering-specific tables.

engineering_summary() -> dict[str, Any]

High-level summary of engineering activity.

Functions

assemble_review_text(output: Any) -> str

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

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

Run grounded four-valued QA over an engineer output.

MCP Tools

Operation Source
design_system engineer_mcp
review_code engineer_mcp
debug_issue engineer_mcp
write_spec engineer_mcp
estimate_effort engineer_mcp
analyze_requirements engineer_mcp
evaluate_tradeoffs engineer_mcp
assess_risk engineer_mcp
benchmark_performance engineer_mcp
audit_quality engineer_mcp
create_proposal engineer_mcp
review_deliverable engineer_mcp
delegate_task engineer_mcp
report_status engineer_mcp
request_feedback engineer_mcp
store_artifact engineer_mcp
retrieve_artifact engineer_mcp
list_artifacts engineer_mcp
search_artifacts engineer_mcp
archive engineer_mcp
plan_sprint engineer_mcp
track_progress engineer_mcp
reflect_on_outcome engineer_mcp
list_patterns engineer_mcp
get_capabilities engineer_mcp
info engineer_mcp