Skip to content

Develop

For the person who changes it.

  • Architecture — written before the first line of code and kept truthful since; it says where intent and code differ.
  • Your first module — the entry-point mechanism, with the ERPNext connector as the worked example.
  • Style — the operator UI's rules.
  • Decisions — why things are the way they are.
  • CONTRIBUTING — DCO, the six house rules, the provenance rule.

The layout, as of 2026-09-07:

src/fsmes/
  api/           FastAPI app and routers — every capability is an endpoint first
  services/      the rules: execution, quality, OEE, scheduling, agent, …
  domain/        the tables (SQLAlchemy) and calendar arithmetic
  integrations/  opc/ (agent, simulator, worksheet, security), erp/ (contract, adapters)
  mcp/ + mcp_server.py   the product's tools, one file per area
  sim/           line generation, scoring, sweeps, agent evals, UI checks
  web/           the operator UI: plain HTML, CSS and JS, no build step
  plant.py       registries and the plant supervisor
  cli.py         every command
labs/            simulated plants and the experiments that measured them
alembic/         migrations
tests/           named as prose