Files
KArtSell.Aegis/docs/CURRENT/AEG-V16-016_VENDOR_BOUNDARY_SLICE_NOTE.md
T
kjh2064 b78c19646f fix: keep v16 vendor-boundary validation catalog-safe (AEG-V16-016)
Validate extensible WBS identity integrity instead of an obsolete fixed row count. Preserve actual vendor-boundary and adapter-contract evidence; status remains IN_PROGRESS pending predecessor acceptance evidence.
2026-08-08 12:56:50 +09:00

29 lines
2.0 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` scans only `.ts`/`.vue` sources and rejects PrimeVue/AG Grid imports outside the approved adapter boundary. |
| 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.