An ACCEPTED ADR ended with a stray tool-call fragment - it said nothing to a reader and everything about how the document was produced, which is not what a decision record is for. And the cutover playbook carried a real internal IP in a file otherwise correctly scrubbed to documentation ranges. Both were published. The publishability gate now catches all three shapes, so the next one fails a build instead of reaching the wiki. The adoption guide also told a site to copy two files that ship from nowhere: the asset reporter and EventSaver are both on the reference site's imaging share, not in this repository, and the guide never said so - it could not be followed as written. It now states, per artifact, where each comes from, which of them are pending a move into this repository, and that EventSaver can be rebuilt from its one source file rather than taken on trust as a binary.
Architecture Decision Records
Each ADR captures a single architectural decision: the context, the decision itself, the consequences, and the alternatives considered. ADRs are immutable once accepted. Superseded ADRs stay in this folder with a pointer to the newer ADR.
Status definitions
- PROPOSED: drafted, awaiting decision
- ACCEPTED: decision is in effect
- SUPERSEDED: replaced by a later ADR (link forward)
- DEPRECATED: no longer in effect, no replacement
Index
| ADR | Title | Status |
|---|---|---|
| 001 | Asset model is the platform contract | ACCEPTED |
| 002 | Plugin contract versioning (semver) | ACCEPTED |
| 003 | Plugin distribution model | ACCEPTED |
| 004 | Deployment topology (per-site instances) | ACCEPTED |
| 005 | Equipment vs measuringtools plugin scope | ACCEPTED |
| 006 | Plugin collector contract pattern | ACCEPTED |
| 007 | Product versioning and releases | ACCEPTED |
| 008 | Plugin migration ownership (per-plugin chains) | ACCEPTED |
| 009 | Frontend plugin route gating | ACCEPTED |
| 010 | Frontend plugin hook contract | ACCEPTED |
| 011 | Machines rename + modeltypes retyping | ACCEPTED |
| 012 | GE-Enforce manifest ownership in shopdb | ACCEPTED |
| 013 | Plugin catalog, curated shelf, and lean per-site builds | PROPOSED |
| 014 | Schema-lean per-site builds (retire cross-plugin FKs, prune not-installed plugin tables) | ACCEPTED |
| 015 | Where a site's own data is allowed to live (setting, site directory, or seed) | ACCEPTED |
| 016 | Credential delivery to the fleet (ShopDB-resolved targeting, encrypted at rest) | ACCEPTED |
Authoring
When proposing a new decision, copy the most recent ADR as a template, increment the number, and update this index. Do not edit accepted ADRs in place; supersede them with a new one.