Product Lifecycle Management, with AI that cites its work.

A BOM is a question, not a list. Manufacturing PLM resolves it by date, unit, plant and option — publishes the answer straight to your ERP — and every agent answer carries the revision it read.

STORED · BomLinewhat the BOM saysRESOLVED · one configurationwhat the product is — and what the ERP receivesCONDITIONS2026-08-25unit #1420plant FRA-2opt: 240Vresolve()effectivity ranges∩ variant rules∩ revision policy∩ plant scopedeterministic · citable100-4420Housingrev: floating · qty 1210-0087PSU 240 Voption: 240V · qty 1210-0091PSU 120 Voption: 120V · qty 1330-1102Control boardeff: … → 2026-06-30330-1140Control boardeff: 2026-07-01 → …100-4420Housingfloating → rev C (latest released)210-0087PSU 240 Voption 240V selected210-0091PSU 120 Vdropped · option not selected330-1102Control boarddropped · effectivity ended 2026-06-30330-1140Control boardeffective on 2026-08-25Five stored lines. One date, one unit, one plant, one option — and the answer is three. That answer is what publishes to the ERP.
Five stored lines. One date, one unit, one plant, one option — and the answer is three. A bill of materials does not say what a product is made of. It says what it is made of under conditions. That resolved answer is what publishes to your ERP.
112capabilitiesEvery section of the master inventory
12AI agentsEach on a permission tier you set
6ERP connectorsOne published system-of-record matrix
45build entriesOne per shipped prompt, all public

The week you actually have

Three failures, and none of them are exotic

Every manufacturer running product data on spreadsheets and a first-generation PLM has met at least two of these. They are not edge cases; they are Tuesdays.

01

The wrong revision shipped

The change was approved in August to take effect in October. Somebody pulled the BOM in September and got the new board, because the tool stores one list and the effectivity lived in a note on the ECO. Fifty units built wrong, found at final test.

02

The ECO nobody could scope

A connector changes. Four assemblies use it — two shipping, one in customer qualification, one a service kit nobody has opened in two years. Three people between them remember three of the four. The fourth is discovered nine months later, by a customer.

03

The EOL nobody saw

The manufacturer issued the notice in March. It reached a distributor mailbox that forwards to a person who left. In November the line stops, and the replacement has a sixteen-week lead time and a different footprint.

Adoption is decided in the first hour

A BOM editor engineers do not route around

The reason product data ends up back in Excel is never the data model. It is that the grid fought somebody at four o'clock on a Friday and Excel did not.

  • Paste 400 rows from a spreadsheet and get 400 correct lines — quantities, reference designators and units parsed, not stringified.
  • Fill-down, multi-cell edit and bulk attribute change, with inline validation that explains the rejection rather than reverting the cell.
  • Tree, indented and flat views over the same resolved structure, so the view you prefer is not a different answer.
  • Cost, mass and compliance rollups computed from the resolved lines, not from everything stored.
  • Saved views shared by user, team, role or tenant — the query somebody worked out once stops being re-derived weekly.

Why this is beat four and not beat nine

An engineering manager buys the resolution engine. A design engineer decides, in the first hour of a trial, whether the team will actually use the thing. Those are two different sales and the site has to make both.

How the structure resolves →

Change management

Changes take hold on a date, not on approval

Approving a change and implementing it are different events, sometimes months apart. A tool that conflates them makes every phased cutover a manual reconciliation.

OVERLAP · 51 DAYSGAP · 78 DAYS330-1102rev B330-1140rev A410-0200rev C410-0233rev ABOM LINE2026-01-01 → 2026-09-302026-08-10 → open2026-01-01 → 2026-06-302026-09-16 → openJANAPRJULOCTJAN ’27Both conditions are raised when the change is drafted — not when the build order fails.
Two sibling lines effective at once, and two that leave a hole. Both conditions are raised when the change is drafted — not when the build order fails.

Manufacturing PLM carries effectivity on three independent dimensions — date, unit number and plant — stored as ranges rather than single dates, which is what makes overlaps and gaps detectable at all. Seven change kinds share one object and one lifecycle: problem report, ECR, ECO, ECN, deviation, waiver and stop-ship. The impact set attached to each is computed by traversing the relationship graph, deterministically, with no model in the path — because an approval decision has to be reproducible a year later.

AI

The question is not whether it is clever

It is what it will do without asking you. Manufacturing PLM answers with a ladder you set — per agent, per tool, per tenant — and a gate only a person can move.

SET PER AGENT · PER TOOL · PER TENANTOBSERVEreads · never writesRECOMMENDanswers withcitations attachedPREPAREdrafts a real ECO,unsubmittedmost tenants stophere, on purposeEXECUTEcommits, inside apolicy you wroteevery action landsin the audit chainHUMAN APPROVAL GATEmore capability · more consequence
The gate is drawn, not asserted. Most tenants stop at Prepare, and that is the intended destination rather than cautious under-adoption.

Twelve agents run inside this model. The tier is enforced at the tool layer, below the model — an agent on Recommend cannot write because the write tools are not in the set it was handed, not because it was asked nicely. Every action lands in the hash-chained audit trail naming the agent, its rung, the tools it called and the object revisions it cited. An agent that cannot support an answer with evidence abstains and escalates.

The digital thread

“This MPN just went EOL.” One traversal, three answers

Requirement, document, CAD model, part, BOM, change and supplier are one graph with typed edges — so the question can be asked backwards.

ONE GRAPH · TYPED EDGESverified byspecifiesgeometry forused insourced fromrolls up torevisesRequirementDocumentCAD modelPartrev C · releasedProduct BOMCost · massSupplier · AMLOpen ECO“This MPN just went EOL.” — one traversal, three answers.
Drawn from the answer a supply-chain lead needs, not from the schema: which products ship it, what it costs to change, and whether somebody already opened an ECO.

Component data feeds from SiliconExpert, Z2Data, Accuris and Octopart match against your internal parts on manufacturer part number, so lifecycle health, end-of-life notices, single-source exposure and lead-time risk attach to the parts you actually build with. Supplier change notifications compute their own affected-product set through the same resolved structures the rest of the product reads.

ERP

Six connectors, and one matrix nobody else publishes

Every PLM says it integrates with your ERP. None of them say which system owns the part number when the two disagree.

PLM → ERP · ON RELEASESIX TARGETS, ONE FRAMEWORKECO releasedatomic transactionresolve()one structurePublished payloadstructure + effectivityConnector transformfield map · directionViBe ERPNetSuiteDynamics 365SAP S/4HANAEpicor KineticAcumaticaon conflictReconciliation task — never a silent overwritenames the field, both values, and the system that owns itERP → PLM · cost, on-hand, lead time, supplier master — read only
Two directions, two masters, one framework. The arrow that matters is the amber one: on a conflict Manufacturing PLM raises a task rather than winning.

Item identity and the released BOM master in Manufacturing PLM and publish outward on release, dated, in the shape the target expects. Cost, on-hand, lead time and the supplier record master in the ERP and are read back read-only — greyed and labelled in the interface, so nobody edits a number the next sync will overwrite. NetSuite, Dynamics 365, SAP S/4HANA, Epicor, Acumatica and ViBe ERP all sit behind one connector framework, and each publishes its own field map alongside the shared ownership matrix.

Trust

Isolation your security reviewer can check

Not “enterprise-grade security”. A predicate injected at the data layer, a hash-chained audit trail, and a test that tries to get around both.

ISOLATION IS A DATA-LAYER PREDICATE, NOT A CHECK IN A PAGERequestany route, any jobSession → contexttenantId · externalOrgId?AsyncLocalStoragenot a threaded parametertenantExtensioninjects the where clauseEvery queryrows · counts · facetsif externalOrgId is present, narrow againShared objects onlydirect ID fetch also failsA parameter can be forgotten at one call site with nothing failing. There is no parameter, so there is nothing to forget.
A parameter can be forgotten at one call site with nothing failing. There is no parameter, so there is nothing to forget.

Rows, totals, facet counts and pagination all derive from one shared clause, because a total of twenty-nine above twenty-six visible rows announces three hidden objects as loudly as listing them would. Supplier sessions narrow a second time and cannot fetch an unshared part by direct identifier. Administrators have no silent bypass — they grant themselves access and leave a row saying they did. The security review pack is available without booking a call.

Still moving

Twenty-one segments, one product, and a public log of how it got built.

One entry per shipped prompt — what was built, what was deliberately left out, and the tests behind it. Read it before you book anything.