Documentation Index
Fetch the complete documentation index at: https://docs.firstresonance.io/llms.txt
Use this file to discover all available pages before exploring further.
Overview
mBOMs change over their lifetime — engineering revs the design, manufacturing optimizes the routing, supply chain adds substitutes. ION tracks these changes through explicit mBOM versions so you can:
- See what an mBOM looked like at any point in time.
- Compare two versions side-by-side to understand a change.
- Be sure that an in-flight run executes against the version it was started with — not whatever’s current.
When a new version is needed
| Change | Action |
|---|
| Add a new build requirement | New version |
| Remove a build requirement | New version |
| Change a part on an existing line | New version |
| Change a quantity | New version (significant); in-place edit (clarification) |
| Add or remove a substitute | In-place edit |
| Add or change reference designators | New version |
| Toggle MOA on a line | New version |
| Edit a note or instruction | In-place edit |
In general: structural changes (what gets installed, where, how many) want a new version. Metadata changes (notes, alternates, clarifications) can be in-place edits.
Version states
mBOM versions move through:
| State | Meaning |
|---|
| Draft | Editable; not used by any new run |
| Released | Locked structure; new runs against the parent part instantiate from this version |
| Archived | No longer current; preserved for historical reference and in-flight runs that started against it |
Only one version of an mBOM is Released at a time. Releasing a new version automatically archives the previously-released version.
Releasing a new version
- Open the mBOM in Draft state.
- Make the structural changes.
- Click Release.
- Confirm — ION presents the diff vs the previously-released version one more time.
- The new version becomes
Released; the previous version moves to Archived.
Releases are recorded in the mBOM’s transaction history with the user, timestamp, and a release note.
In-flight runs
When you release a new mBOM version, in-flight runs are unaffected:
- Each run captures the mBOM version it was started against at create time.
- Mid-flight runs continue executing the old version even after the new one is released.
- New runs started after the release pick up the new version.
- The transition is handled per-run — there’s no “upgrade an existing run to the new mBOM” pattern. (If you genuinely need to apply a structural change to an in-flight run, that’s a redline.)
Comparing versions
To see what changed between two mBOM versions:
- Open the mBOM.
- Click Versions.
- Pick two versions to compare.
- ION renders a diff:
- Lines added (in the newer version).
- Lines removed.
- Lines modified, with field-level deltas.
Use the diff during change-control reviews — it’s the same view you’d want when an engineer asks “what changed in revision 4?”
Programmatic comparison
For integrations or scripts, the Compare Two aBOM Versions query template can be adapted to compare mBOM versions instead. You fetch the line items for both versions and diff client-side.
Change-control patterns
Common patterns we’ve seen work well:
- One ECN, one release. Group related changes from an Engineering Change Notice into one release rather than multiple incremental ones. Fewer versions, cleaner history.
- Note the why in release notes. A 6-month-old release note that says “Updated R3 to 10kΩ per ECN-2026-0042” is far more useful than “minor updates.”
- Hold draft changes until ready. Drafts that linger for weeks accumulate context drift. Release them or revert them.
- Treat archived versions as immutable. Don’t edit archived versions, even for typo fixes. The historical record is part of the audit trail.
mBOM version vs part revision
These are related but distinct:
| Concept | Tracks |
|---|
| Part revision | The design intent of the part itself (what it is) |
| mBOM version | The plan for how to manufacture a specific part revision (how to build it) |
A new part revision typically does mean a new mBOM (the new part is what’s being built), but mBOMs can also be revised independently — manufacturing improvements, substitute additions, routing changes — without revising the part.
Tips
- Release deliberately. Each release affects every new run that starts against the parent part. A premature release can disrupt the floor.
- Keep release notes short and specific. “Added FAST-M4 substitute, removed LBL-001 (now MOA in PCB sub)” is the right level of detail.
- Archive aggressively. Old draft versions that won’t be released should be deleted, not left around. Archived versions are for released history, not abandoned work.