Skip to content

chore(wms): freeze WmsConnector boundary + CI lint guard (h02x.10.6) - #413

Merged
OneTwo3D merged 1 commit into
developmentfrom
feature/wms-boundary-freeze-lint
Jun 25, 2026
Merged

OneTwo3D merged 1 commit into
developmentfrom
feature/wms-boundary-freeze-lint

Conversation

@OneTwo3D

Copy link
Copy Markdown
Owner

Summary

Locks in the connector-agnostic WMS boundary built across h02x.10.1–.5 (bd onetwo3d-ims-h02x.10.6) so a regression can't silently re-introduce a mintsoft branch into a core flow. Completes the h02x.10 epic.

Changes

  • scripts/check-wms-connector-boundary.mjs — static guard: fails if the mintsoft literal appears in any app/lib/components file outside an allowlist (the Mintsoft connector, its per-connector ingress, the WMS dispatch facades/registry/panels, the UI connector registry, cosmetic/plugin files). Per-line waiver: // wms-connector-boundary-ok: <ticket>: <reason>. Allowlist matching distinguishes directory prefixes (/), filename-prefixes (-), and exact files so siblings aren't over-exempted.
  • Wired into npm run check:all + a new WMS Connector Boundary Guard CI workflow.
  • docs/wms-connector-boundary.md — documents the frozen contract, dispatch facades, allowed-literal locations, and enforcement.
  • Cleaned the last cosmetic leaks: renamed mintsoft* DOM ids → wms* in po-detail-client + transfer-list; reworded a transfers.ts comment — so the protected core surfaces are fully literal-free.

products.ts (product-mutation Mintsoft sync) is a genuine pending generalization — allowlisted + filed as follow-up h02x.10.7.

Verification

  • npm run type-check ✅ · eslint ✅ · guard green (scanned 807 files)
  • Validated the guard catches a planted leak (exit 1), honors waivers (exit 0), and rejects sibling over-matches.
  • Adversarial Codex pass: correct and robust for HEAD; the one LOW-severity note (startsWith over-match) was fixed in this PR; protected surfaces confirmed non-allowlisted and clean.

🤖 Generated with Claude Code

…soft leaks (h02x.10.6)

Lock in the connector-agnostic WMS boundary built across h02x.10.1–.5 so a
regression can't silently re-introduce a 'mintsoft' branch into a core flow.

- scripts/check-wms-connector-boundary.mjs: static guard — fails if the
  `mintsoft` literal appears in any app/lib/components file outside an allowlist
  (the Mintsoft connector, its per-connector ingress, the WMS dispatch
  facades/registry/panels, the UI connector registry, and cosmetic/plugin files).
  Per-line waiver: `// wms-connector-boundary-ok: <ticket>: <reason>`. Wired into
  `npm run check:all` + a new "WMS Connector Boundary Guard" CI workflow.
- docs/wms-connector-boundary.md: documents the frozen contract, the dispatch
  facades, where the literal is allowed, and the enforcement.
- Cleaned the last cosmetic leaks so the protected core surfaces are literal-free:
  renamed mintsoft* DOM ids in po-detail-client + transfer-list to wms*; reworded
  a transfers.ts comment.

products.ts (product-mutation Mintsoft sync) is a genuine pending generalization —
allowlisted and tracked as a follow-up (h02x.10.7).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@OneTwo3D
OneTwo3D merged commit 179b79c into development Jun 25, 2026
14 checks passed
@OneTwo3D
OneTwo3D deleted the feature/wms-boundary-freeze-lint branch June 25, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant