Skip to content

Decisions

Why things are the way they are, one page each, with the options that lost. A record marked proposed is a recommendation nobody has accepted yet; it says what would change, not what has. A design change starts as an Ideas discussion using the template; the accepted or declined outcome lands here. Declined ideas stay, so nobody re-proposes them without new facts.

# Decision Date
0001 Apache-2.0 with the DCO, not copyleft, not a CLA 2026-08-28
0002 A kernel plus modules that register through entry points 2026-08-28
0003 One product MCP server with per-area tool files 2026-09-02
0004 Never invent production: the counter discipline 2026-08-31
0005 Plain HTML, CSS and JS for the operator UI, no build step 2026-08-28
0006 SQLite on a laptop, PostgreSQL in a plant, no historian product 2026-08-28
0007 The public repository starts from a clean first commit 2026-09-06
0008 ERP connectors are modules inside the package 2026-09-06
0009 The project lives in a GitHub organisation named factorysemantics 2026-09-06
0010 GitHub Discussions is the only community venue 2026-09-06
0011 MkDocs Material, with the developer reference generated from the code 2026-09-06
0012 Contributor Covenant 3.0 as the code of conduct 2026-09-06
0013 Governance is one page: one maintainer, proposals in public 2026-09-06
0014 The first public version is 0.1.0, gated on a readiness checklist 2026-09-06
0015 The MCP server is registered as com.factorysemantics/mes 2026-09-06
0016 No trademark registration for the name 2026-09-06
0017 One public demo, gated by an emailed link and bounded by limits 2026-09-07
0018 Public on 2026-09-08, and a release check that runs the built wheel 2026-09-08
0019 Count everything the machine counted: over-runs are booked, surplus is unassigned production 2026-09-09
0020 What "supported" means for an ERP connector, and what it is called before that 2026-09-10
0021 A fleet is many databases, and site scoping is identity, not partitioning 2026-09-10, accepted 2026-09-13
0022 A plant pack is data, carries no code and no secrets, and cannot change what a number means 2026-09-10, accepted 2026-09-13
0023 Proposed — the console manages only the plants it owns, observes every other plant, and silence is unknown 2026-09-10, revised 2026-09-13
0024 A non-conformance is worked through review and a disposition, and cannot be closed without one 2026-09-14
0025 OEE performance is measured against the rating, and never capped at 1.0 2026-09-14, amended by 0026
0026 Counted work that will not fit inside the run time names the disagreement, not a culprit — and, since the amendment, prints no figure 2026-09-14, amended 2026-09-18
0027 An SPC signal raises a quality hold, and an inspected characteristic with a specification is a check 2026-09-14
0028 A shift is half-open, belongs to the day it started, and covers nothing it does not roster 2026-09-14
0029 An order does not finish itself at its quantity; the over-run it reports is the true one 2026-09-14
0030 A lost connection is a dimension of its own, and the gap it leaves is unknown time 2026-09-14
0031 Proposed — a typed judgment is a proposal: it carries its probabilities, and never touches a graded number or a gate 2026-09-17
0032 Proposed — a hosted judgment is an outbound path, classified by the state it sends 2026-09-17
0033 Availability is a share of what was watched, and every figure says how much that was 2026-09-17
0034 A count the machine made is owed until it is booked, and a reading that fails is retried rather than forgotten 2026-09-18
0035 Accepted — configuration is authored by the role that owns it, and selected by the operator 2026-09-18, amended by 0036
0036 The chart draws and records every SPC rule; which of them raise a quality hold is the plant's, and defaults to all four 2026-09-22
0038 An agent is an account with a role, a tool set, a cadence, a budget and a data class, and what it produces is a proposal — accepted 2026-09-28 with two amendments: the harness changes the product's own code, and it is the engine of all product improvement 2026-09-27
0039 Accepted — a deep analysis is a recorded computation that can only read, and it counts people before it names one 2026-09-29
0040 Accepted — a characteristic's sampling plan is on its specification, and the chart type follows it: individuals one piece at a time, X-bar and R when the plan says n at a time, with the rules run on the means 2026-10-06
0041 Accepted — a characteristic whose specification says counted is recorded as one row per inspected stretch — how many were looked at, how many sent back, which defects — and charted as a p chart with limits computed per point, rule 1 only, and no capability figure 2026-10-11
0042 Accepted — a plant is its database, and a node is a process that asks the database whether it may write: one lease row per role, the counter baselines moved into the booking's own transaction, PostgreSQL only 2026-10-15