2.1 KiB
2.1 KiB
AEG-V16-016 — Vendor boundary fitness
Scope
- WBS / Requirement / UI / Test: AEG-V16-016 / REQ-V16-UI4-08 / UI-V16-UI4-08 / T-V16-UI4-08
- Classification: behavior-preserving validation-tool refactoring. No application provider, API, schema, or component semantics change.
Source / Assumption / Unknown / Decision Required
- Source:
docs/CURRENT/CATALOGS/WBS_MASTER.csv,contracts/ui/ui-adapter.v4.json,tools/validate_v16.py, andfrontend/src/shared/ui/adapter/. - Assumption: WBS Master is an extensible source-of-truth catalog; adding approved WBS rows must not make a vendor-boundary validator fail.
- Unknown: the acceptance evidence for AEG-V16-009 through AEG-V16-015 is absent from the progress tracker. This slice does not recreate or approve it.
- Decision Required: reconcile the Master and tracker before recording AEG-V16-016 as COMPLETED; dependency AEG-V16-015 has no attached acceptance evidence.
Acceptance mapping
| Acceptance requirement | Evidence |
|---|---|
| Feature direct vendor import is zero | tools/validate_v16.py rejects PrimeVue/AG Grid imports in feature code and unrelated shared code. It allows the approved direct-vendor ownership boundary (shared/ui/components/) and the adapter boundary (shared/ui/adapter/primevue/). |
| Validator remains valid as WBS evolves | Master WBS IDs must be nonblank and unique; the validator no longer uses a stale fixed total row count. |
| Reproducible evidence | python tools/validate_v16.py result is recorded in the WBS tracker after execution. |
Execution evidence — 2026-08-08
python tools/validate_v16.py:PASS=1 WARN=2 FAIL=0. Warnings explicitly do not claim a full source archive or external-runtime evidence.frontend: pnpm test -- --run src/shared/ui/adapter/tests/uiAdapter.contract.spec.ts src/shared/ui/tests/adapterCompatibility.spec.ts: 2 files / 4 tests passed.frontend: pnpm typecheck: passed.- An initial test invocation from repository root failed because that directory has no
package.json; it is not used as evidence. The frontend-directory invocation above is the preserved result.