Skip to content

FactorySemantics MES 0.1.1

Choose a tag to compare

@kalwei kalwei released this 09 Sep 01:30
· 162 commits to main since this release
ae8aac2

Fixed

  • The container image did not build: the Dockerfile copied pyproject.toml
    without LICENSE and NOTICE, and the build backend refuses metadata
    without the licence file. The 0.1.0 release reached PyPI but no image and
    no GitHub Release; this version carries the same code with the image built.
  • The Scorecard workflow pinned an action version whose image had moved
    registries (#3).
  • The cutlery walkthrough installer failed lint (#3).

0.1.0, same day: published to PyPI only; its release run failed in the image job before the GitHub Release step. 0.1.1 is the same code with the image built. The 0.1.0 notes:

The first public version. The code was developed privately from 2026-08-28
to 2026-09-07 in 34 pull requests; docs/history/private-era.md
lists them. Everything below is what a stranger gets on day one, and every
number in it comes from a simulated plant.

Added

  • Kernel: master data, routings, work orders, dispatch, execution with lot
    genealogy, an append-only audit trail, users and roles with capabilities.
  • OPC UA connectivity: tag maps from an engineering worksheet, opc-browse
    and opc-verify, a replay server for simulated lines, triggers as data, a
    write-back recommendation queue with three guards, and certificates of
    analysis at the end of the line.
  • Downtime and OEE with an explicit unknown segment; shift calendars.
  • Quality: inspections, holds, non-conformances, SPC with capability withheld
    when the data cannot support it, a gauge register with calibration.
  • Maintenance-lite, finite-capacity scheduling with promised dates,
    serialisation and genealogy at ten million pieces a day (the cutlery lab).
  • ERP: a typed per-operation contract with an outbox, a REST adapter, a
    B2MML-flavoured file adapter, and an ERPNext connector registered as a
    module (fsmes.modules entry point erpnext).
  • The agent surface: an MCP server with 85 tools that go through the HTTP API
    as the AGENT role, dry-run on every write, on_behalf_of and idempotency
    keys; the floor assistant in the operator UI; recorded walkthroughs; agent
    evals that ask whether an agent given only the tools can answer what the
    plant knows.
  • Operations: plants from a registry (fsmes plant), scored runs
    (fsmes score) against the simulator's scripted truth, sweeps, a Docker
    image and Compose file, systemd units for test and promoted environments.
  • Documentation site (MkDocs), decision records, security policy, code of
    conduct, governance.

Honesty

  • Counters book production by delta only; a counter falling toward zero is a
    reset and books nothing. OEE reports unknown rather than zero when the
    MES was not watching. Unlabelled downtime is reported as unlabelled. These
    are the house rules and they are tested.