Vendor Name Normalization Inventory
Source: docs/operations/vendor-name-normalization-inventory.md
# Vendor Name Normalization Inventory
Created: 2026-02-18
Scope: non-archived repository paths (`apps/`, `packages/`, `scripts/`, `docs/`, `specs/`, `.github/`)
## Goal
Remove customer- and provider-specific naming from product-generic code paths while preserving explicit names where they are intentionally integration-specific.
## Keep vs Rename
- Keep explicit names in true integration surfaces:
- `ZonosAdapter`, `provider=zonos`, Zonos sandbox runner.
- `knifecenter-v1` adapter if it remains a customer-specific adapter package.
- Historical partner docs and archived artifacts.
- Rename names in product-generic surfaces:
- Job types, source adapter IDs, parser names, shared models/tables, generic UI labels, and shared scripts.
## Inventory Summary
- `wayfair`: 418 hits across 84 files.
- `zonos`: 192 hits across 21 files.
- `knife center` / `knifecenter` / `KC-`: 91 hits across 23 files.
## High-Priority Runtime Targets
### Wayfair-coded generic pipeline names
- `apps/api/src/routes/upload.ts`
- `apps/api/src/routes/jobs.ts`
- `apps/api/src/routes/admin/tenants.ts`
- `apps/api/src/lib/jobs.ts`
- `apps/api/src/workers/job-processor.ts`
- `apps/api/src/workers/handlers/wayfair-upload.ts`
- `apps/api/src/workers/handlers/guest-upload.ts`
- `packages/modules/trade/src/wayfair-parser.ts`
- `packages/modules/trade/src/index.ts`
- `packages/modules/trade/src/config/wayfair-columns.ts`
- `apps/web/src/app/jobs/types.ts`
- `apps/web/src/app/jobs/JobsFilterPanel.tsx`
- `scripts/smoke-async-lanes.sh`
### Database contract still Wayfair-prefixed
- `apps/api/prisma/schema.prisma` (`WayfairBatchStatus`, `WayfairBatch`, `wayfair_batches`)
- `apps/api/prisma/migrations/20251230000000_baseline/migration.sql`
- `apps/api/prisma/migrations/20260222000000_enable_rls/migration.sql`
- `apps/api/prisma/migrations/20260222000000_enable_rls/rollback.sql`
- `apps/api/prisma/migrations/20260302000000_reenable_force_rls_tenant_tables/migration.sql`
- `apps/api/prisma/migrations/20260302000000_reenable_force_rls_tenant_tables/rollback.sql`
- `apps/api/prisma/seed.ts`
- `apps/api/prisma/seed-staging.ts`
### KnifeCenter names in reusable adapter package
- `packages/integration-cli/src/lib/adapters/knifecenter-v1.ts`
- `packages/integration-cli/src/lib/adapters/index.ts`
- `packages/integration-cli/src/lib/adapters/types.ts`
### Zonos names in provider-generic comments/config
- `apps/api/src/lib/calc/provider.factory.ts`
- `apps/api/src/routes/trade.ts` (provider-agnostic transform comments)
- `apps/api/src/lib/calc/config.ts` (explicit envs, expected to remain)
## Proposed Rename Map (Implementation Slice)
### Phase A: Introduce neutral aliases without breaking callers
- `wayfair_upload` -> `catalog_upload` (accept both in job router/worker).
- `wayfair-excel` -> `catalog-xlsx` (accept both in parser routes).
- `parseWayfairExcel*` -> `parseCatalogExcel*` (export aliases for backward compatibility).
- `wayfair_upload` UI label -> `Catalog Upload` while preserving compatibility for existing data.
### Phase B: Migrate storage contracts
- `WayfairBatch`/`wayfair_batches` -> `CatalogBatch`/`catalog_batches`.
- Keep compatibility views or dual reads during migration window.
- Backfill seed/jobs references and update RLS verification scripts.
### Phase C: Clean up tenant-specific adapter names
- `knifecenter-v1` -> neutral adapter ID (example: `retailer-fedex-v1`) with alias.
- Replace `KC-` fixture IDs in generic test fixtures with neutral identifiers.
### Phase D: Provider naming hygiene (**Done** -- `chore/zonos-to-generic-provider`)
- Keep explicit Zonos integration names where provider-specific.
- Remove/rename Zonos wording in provider-agnostic comments and shared docs.
## Validation Checklist for Rename PRs
- `pnpm --filter @rgl8r/api test`
- `pnpm --filter @rgl8r/web test` (if UI labels/types touched)
- `pnpm --filter @rgl8r/api build`
- `pnpm --filter @rgl8r/web build`
- Run staging workflow smoke checks when job type constants change.
## Re-run Inventory
```bash
rg -n --hidden \
--glob '!.git' \
--glob '!**/node_modules/**' \
--glob '!**/dist/**' \
--glob '!**/.next/**' \
--glob '!**/.turbo/**' \
--glob '!**/coverage/**' \
-e 'zonos|Zonos|WAYFAIR|wayfair|Wayfair|Knife Center|knife center|knifecenter|KC-' \
.
```