Skip to content

iowarp/factorio

v0.7.0BSD-3-Clause

Factorio's identity and research process: its mission, specialist roster and working practice; the coordination, framing, study-log, audit and evidence fan-out skills; and its research-process subagents (methodologist, virtual lab, evidence researcher with its leaf and critic lanes, simulation methodologist, independent reviewer).

Factorio design note

Factorio (agents/factorio.py) is a research partner for scientists who study how a part's design, material and manufacturing route set its performance. This note records design rationale, not copied prompt text. The marketplace rules it follows are in ARCHITECTURE.md.

Composition and levels

Factorio(ScienceAgent) selects, beyond the science base (which already carries the L0 scientific-method plugin):

PluginLevelHolds
manufacturing (pack)L1materials, manufacturing-processes, characterization, mechanical-testing, fatigue, fea-methods: method only, no program
abaqusL2Abaqus scripting and runs, Tosca, result visualization, the abaqus-topology views, abaqus_engineer
morphormL2the Morphorm workflow and its bundled checks
slurmL2Slurm batch jobs and the bounded-wait helper
factorioagentidentity and process: mission, specialist roster, practice; coordination, framing, study-log, audit and evidence fan-out skills; research-process subagents

No program is the default. Each program plugin has a capabilities fragment that says what the program can do; the mission tells Factorio to work in whichever program the scientist uses, and to run meshing, solves and batch jobs itself when the program is reachable.

Main-only fragments

CLIO gives a subagent its owner plugin's fragments. factorio.mission, factorio.practice and factorio.specialists are written for the main agent, so each is gated on spawn_skill_task, a delegation tool the main agent has and no Factorio subagent is given (every subagent here has a tool allowlist that omits it). The fragments sort by file name, so mission.md comes first among Factorio's domain fragments.

Specialists

Each domain specialist lives with the L1 plugin whose skills it uses and declares every plugin whose skills its prompt or those skills reference: materials_scientist (materials), manufacturing_expert (manufacturing-processes), characterization_expert (characterization), mechanical_testing_expert (mechanical-testing), fatigue_failure_expert (fatigue), and abaqus_engineer (abaqus). Statistics and figures for a result set go to a copy of the coordinator, which carries the scientific-method skills. Every subagent can read and list files; the ones whose job is to compute or build (characterization, testing, fatigue, the Abaqus engineer, the simulation methodologist) can also write files and run the shell. evidence_leaf and evidence_critic are lanes of evidence_researcher; CLIO has no children-only flag (internal hides a subagent from every agent, its parent included), so they stay delegable and their descriptions say who starts them.

Sources

  • OpenAI describes an agent as instructions plus tools and recommends separate agents when independent work has complex instructions or tool surfaces, while keeping multi-agent use selective. OpenAI, Building agents
  • Anthropic distinguishes open-ended agents from fixed workflows, recommends parallel work for independent concerns, and uses orchestrator-workers when the subtasks must be chosen dynamically. Factorio puts those decisions in an on-demand coordination skill instead of an always-on sequence. Anthropic, Building effective agents
  • Google recommends direct, structured instructions, decomposition of complex prompts, and aggregation of independent tasks. Factorio uses small skill entrypoints with bundled references for progressive disclosure. Google, Gemini prompt design strategies

Behavior is assessed outside the prompt through normalized public responses and tool traces (evals/). The cases test semantic routing, clarification quality, parallelism and task continuity without matching exact prose.

Views

abaqus-topology (in abaqus/ai.iowarp.clio/a2ui/) holds two topology optimization views: before and after in linked 3D viewports with a stress toggle, and the design history with density and cycle sliders. It adds no rendering of its own: TopologyViewport aliases the generic clio.mesh-viewport.v1 kernel, ParameterSlider the generic clio.slider.v1, and ConvergencePlot the generic clio.chart.v1. Its examples are placeholders filled from the run at hand.

Open work

Most L1 skills are short checklists and should gain procedures, references and bundled scripts with the domain owners. The tosca skill does not reproduce .par syntax: no sourced copy was available, so it tells the agent to read the installed documentation.