skill
molecule-publish
Public Made by Adomby adom
Publish molecules AND generic boards to the Adom wiki - one publisher, two shapes: OCCT conversion (molecule mode with stats gates, or plain for boards), component packaging, adom-wiki publish, APM re
Publish components by MPN only — never by value/properties (slug + title must be the MPN)
Part of #1.
Every component the pipeline publishes/imports must be keyed by its MPN — never by its value or properties.
- slug = the normalized MPN (lowercase, non-alphanumeric →
-). - title leads with the MPN (a human description may follow).
- The
component.mpnfield is set to the real manufacturer part number.
Why
Value-named parts (slug cap-2u2-0402-6v3, title "2.2uF 0402") are broken as identifiers:
- Collisions — dozens of distinct parts are "2.2uF 0402"; the slug isn't unique.
- Unresolvable — consumers resolve components MPN→slug (the Project Manager,
publish-board, dedup). A value name doesn't resolve to a real page. - Graph/dedup breakage — the dependency graph and "already have this part" checks key on the MPN.
The MPN is the only stable, unique key.
Seen in the wild
On noah's lan9370-stm32-molecule, two components are value-named instead of MPN-keyed:
cap-2u2-0402-6v3— title"2.2uF 0402 6.3V X5R (CC0402MPX5R5BB225)",component.mpn = CC0402MPX5R5BB225→ should be slugcc0402mpx5r5bb225.cap-4u7-0402-10v— same pattern (its real MPN is inpackage.json).
Request / acceptance
- The pipeline refuses to publish a component whose slug/title is a value/property description; it derives both from the MPN.
- Existing value-named pages are re-slugged to the MPN (or an MPN page is created and the value page aliased/deprecated).
- Every published component page: slug = normalized MPN, title starts with the MPN,
component.mpnset.
publish-board is getting the same rule in its skill now, as the interim owner.