29 lines
2.1 KiB
Markdown
29 lines
2.1 KiB
Markdown
# 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`, and `frontend/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.
|