The Parts Agent

Duplicate part numbers are not a tidiness problem. Three numbers for one screw means three approved manufacturer lists to maintain, three qualifications, and three chances to miss an end-of-life notice.

AIShipped in segment S14 · 834 words
THREE NUMBERS, ONE SCREWPROPOSED510-0090SCREW M3X8 SS CAPTIVErobotics team · 2023 · 4 products · 1 AVLHW-0451M3 x 8 captive screw, SSinstruments team · 2024 · 2 products · 1 AVL510-0311Screw, captive, M3x8, stainlesscontract build · 2025 · 1 product · 1 AVLmatchclassification + attributes∩ semantic similarity∩ same AVL manufacturer part510-0090canonical — oldest, widest useHW-0451retire after 2 substitutions510-0311retire after 1 substitutionDuplicates are not a tidiness problem. Three numbers means three AVLs to maintain, three qualifications, and three chances to miss an end-of-life notice.Proposed, never merged automatically — a wrong merge is unpickable.

What it is, and what it is not

An agent scoped to the item master. It classifies new parts, finds existing ones that already describe the same thing, flags obsolescence exposure, and reports where the taxonomy has drifted.

It is not an automatic deduplicator. Nothing is ever merged on the agent's judgement, at any permission tier, because a wrong merge is close to unpickable: two parts that were genuinely different become one, the structures that referenced each of them now reference the survivor, and the record of which was which is gone.

What it produces is a proposal with evidence — these three numbers look like one part, here is why, here is what it would cost to consolidate, here is which one should survive. A person decides, and the consolidation runs as an ordinary change through change control.

The mechanism: three signals, agreeing

Reuse candidates come from three independent signals, and a candidate needs more than one of them before it is worth a person's attention.

Classification and attributes — same class path, same values on the attributes that define the class. This is exact and cheap and finds the easy cases, which are more common than anybody expects.

Semantic similaritySCREW M3X8 SS CAPTIVE, M3 x 8 captive screw, SS and Screw, captive, M3x8, stainless are one part described by three people who were not talking to each other. Embeddings carry the object revision, so a match is against a description that currently exists rather than one superseded two years ago.

A shared AVL manufacturer part — the strongest signal of all. If two internal numbers both approve the same manufacturer part number, they are almost certainly the same thing, and no amount of naming disagreement changes that.

The failure it prevents

An engineer needs an M3 captive screw. Search returns nothing useful because the existing part is called HW-0451 and they searched for screw M3. So they create a new number, add a supplier, raise a qualification, and move on. It took twenty minutes and felt like the right thing to do.

Three years later the manufacturer discontinues that screw. The end-of-life notice matches one of the three internal numbers, because only one of the three AVLs happened to list that exact manufacturer part. Two products get flagged. The third does not, and ships with an unobtainable part for another five months.

The cheapest moment to prevent this is the twenty minutes before the fourth number exists — which is where the agent sits, in the create-part flow, saying that three numbers already describe this and here they are.

How it meets the rest of the product

Classification proposals run against the tenant's own taxonomy, including the class-specific attributes each class defines. The agent does not invent classes; it places parts into the model you configured and reports where the model has no good home for something, which is usually more useful than a forced fit.

Consolidation, when a person accepts it, is a mass change through change control: the impact set is computed deterministically, reviewed, approved and released as one atomic transaction. Substitutions land as ordinary BOM changes with effectivity, so nothing silently reroutes on a released structure.

Every proposal cites the objects and revisions behind it — the three part numbers, their AVL entries, the products each is used in. A reviewer can see exactly what the agent was reading rather than being asked to trust a similarity score.

Obsolescence exposure comes from the component risk data, so the agent can rank consolidation candidates by which duplicates carry an end-of-life risk that a merge would consolidate away.

How it meets your ERP

Consolidation has an ERP consequence and the agent surfaces it before anybody agrees to anything. Retiring an internal part number means the ERP holds an item with stock, open purchase orders and possibly historical transactions against it, and none of that disappears because engineering decided the number was redundant.

So a proposal shows, for each candidate: on-hand quantity, committed stock, open orders and whether the item has transacted recently — read back from NetSuite, SAP, Dynamics, Epicor or Acumatica. A duplicate with four years of history and stock on the shelf is retired differently from one that was created and never used.

The agent will not deactivate an ERP item, because item status there is ERP-mastered under the system-of-record matrix. It proposes the engineering change; somebody with purchasing responsibility handles the item lifecycle on their side.

Where the boundary is

It does not decide that two parts are the same. Form, fit and function are engineering judgements that depend on things recorded nowhere — a tolerance that mattered on one product, a supplier qualification that took nine months, a customer who specified a particular manufacturer by name.

It also cannot see parts it has no data for. A part with no classification, no attributes and a description of BRACKET is invisible to all three signals, and the honest answer is that the agent found nothing rather than that nothing exists.

Facts

ScopeItem master — classify, find reuse, flag obsolescence
SignalsClass + attributes · semantic similarity · shared AVL part
ThresholdMore than one signal before a person is interrupted
MergingNever automatic, at any tier — a wrong merge is unpickable
ConsolidationRuns as a mass change through change control
CitationsPart numbers, AVL entries and products, at revision
ERP contextStock, open orders and transaction history per candidate
NeverDeactivates an ERP item — status is ERP-mastered

Frequently asked

Will it merge duplicate parts automatically?

No, at any permission tier. A wrong merge is close to unpickable — two genuinely different parts become one, the structures that referenced each now reference the survivor, and the record of which was which is gone. It proposes with evidence; a person decides.

How does it find duplicates search missed?

Three signals, and a candidate needs more than one. Classification and attribute match finds the exact cases. Semantic similarity catches the same screw described three ways by three people. A shared AVL manufacturer part is the strongest signal of all.

Why do duplicates actually matter?

Three numbers for one screw means three approved manufacturer lists to maintain, three qualifications, and three chances to miss an end-of-life notice. The usual outcome is that a notice matches one internal number and the other two products ship an unobtainable part.

Does it create classification categories?

No. It places parts into the taxonomy you configured and reports where nothing fits well, which is more useful than a forced placement. Letting an agent invent classes would produce a taxonomy that nobody designed and that grows differently in every tenant.

What happens to stock if we retire a number?

The proposal shows on-hand, committed, open orders and recent transaction history for each candidate, read from your ERP. A duplicate with four years of history and stock on the shelf is retired differently from one created and never used — you see which you have.

Can it deactivate the item in our ERP?

No. Item status is ERP-mastered under the system-of-record matrix, so the agent proposes the engineering change and somebody with purchasing responsibility handles the item lifecycle on their side. An agent reaching across that line would be overwriting somebody else's master record.

What about parts with no data?

They are invisible to all three signals, and the agent reports finding nothing rather than implying nothing exists. A part with no classification, no attributes and a description of BRACKET cannot be matched, which is an argument for the classification work rather than against the feature.