B&J — lubricants module shape (v2): 81 records in a TS module, deliberately lift-and-shift-ready for the Manifold swap
The lubricants dataset surfaced on the marketing site lives in src/lib/lubricants.ts (1,150 lines) — a TypeScript module — rather than the production database. This is intentional and worth surfacing in case-study copy.
Module shape
| Item | Count |
|---|---|
Records (rows with status: field) |
81 |
OEM-spec mentions (oemSpec:) |
81 |
OEM-name mentions (oem:) |
84 (some records carry multiple OEM specs) |
| Exported types & functions | 11 — LubricantStatus, LubricantRecord, LubricantVertical, STATUS_LABEL, STATUS_BADGE_CLASSES, SOURCE_ATTRIBUTION, getCrosswalk, listOems, listModelLines, listComponents, findRecord |
Reconciling the "350+ products" vs "81 records" numbers
The "350+ Petro-Canada products in catalog" KPI from B&J KPI candidates — every defensible metric, with source and confidence refers to the full Petro-Canada Lubricants catalog and the Manifold ingestion against it (269 products / 41 families / 95 OEM specs / 280 spec-meeting relationships per Manifold data platform — Candid Creative product powering embedded widgets on the B&J site).
The 81 records in src/lib/lubricants.ts is the curated subset surfaced on the marketing site OEM crosswalk — the high-traffic OEM/model combinations that justify a customer-facing crosswalk page today. Both numbers are correct; they count different things.
The lift-and-shift design (the case-study angle)
The module documents the four "honesty contract" statuses (formally-approved / meets-exceeds / industry-equivalent / verify-pcl) and says the same shape will swap to a Manifold API call in a one-function edit at getCrosswalk.
This is the craft signal: the local data layer was deliberately built to be lift-and-shift-able to Manifold once the read API ships. The "honesty contract" status taxonomy is the cross-cutting vocabulary that lets the swap be mechanical — same labels in the TS module today, same labels coming out of Manifold tomorrow.
See B&J architectural decisions worth surfacing in case-study narrative — eight, ranked item 4 (single design system / component library / API layer) for the broader version of the same discipline.