diff --git a/docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md b/docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md index cc998886..4f55ccfc 100644 --- a/docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md +++ b/docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md @@ -14,3 +14,5 @@ - `pnpm test -- --run src/shared/ui/components/tests/accessibility.contract.spec.ts`: 2/2 passed. - `pnpm typecheck`: passed. - The suite verifies required invalid fields expose label, error alert, and ARIA relationships, and busy commands expose state while blocking execution. +- Browser inspection on 2026-08-08 confirmed the skip link moves focus to `main`. It also found obsolete v2 contract copy in the UI catalog while the live adapter/footer identify contract 4.0; the display copy is corrected in this slice. The absent favicon is recorded as a non-accessibility local-server 404 and is not treated as a Gate pass/fail signal. +- Preserved evidence: `evidence/AEG-V16-024/a11y-contract_20260808.log` (2/2), `evidence/AEG-V16-024/frontend-typecheck_20260808.log`, and `evidence/AEG-V16-024/ui-standard-contract-v4_20260808.png`. diff --git a/docs/CURRENT/CATALOGS/WBS_PROGRESS_TRACKER.csv b/docs/CURRENT/CATALOGS/WBS_PROGRESS_TRACKER.csv index d72e8ec3..239ec8c3 100644 --- a/docs/CURRENT/CATALOGS/WBS_PROGRESS_TRACKER.csv +++ b/docs/CURRENT/CATALOGS/WBS_PROGRESS_TRACKER.csv @@ -15,7 +15,7 @@ AEG-V16-020,S6,Cross,CRUD Resource v2,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-020_ AEG-V16-021,S6,Cross,CRUD definition type,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-021_CRUD_DEFINITION_TYPE_SLICE_NOTE.md; frontend/src/shared/crud/resourceDefinition.ts; frontend/src/shared/crud/tests/resourceDefinition.spec.ts","FE Lead","2026-08-08: Sensitive field declarations are constrained to actual row keys and generic assertion preserves definition type relationships. Actual evidence: resource definition Vitest 3/3 PASS; frontend typecheck PASS. COMPLETED is blocked pending feature-level CRUD definition integration and predecessor evidence." AEG-V16-022,S6,Cross,Optimistic command hook,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-022_OPTIMISTIC_COMMAND_SLICE_NOTE.md; frontend/src/shared/crud/useOptimisticCommand.ts; frontend/src/shared/crud/tests/useOptimisticCommand.spec.ts","FE Lead","2026-08-08: Request creation now freezes one Idempotency-Key per user intent and retries reuse it; 409/412 conflict state remains explicit. Actual evidence: targeted Vitest 2/2 PASS; frontend typecheck PASS. COMPLETED is blocked pending actual CRUD-screen integration and predecessor evidence." AEG-V16-023,S6,Cross,T01~T10 계약 회귀,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-023_SCREEN_STATE_MATRIX_SLICE_NOTE.md; frontend/src/shared/ui/screen-types/catalogue.ts; frontend/src/shared/ui/screen-types/tests/catalogue.spec.ts","FE Lead","2026-08-08: State contract is typed and all 13 standard states are now covered across T01~T10, including READY and FORBIDDEN. Actual evidence: catalogue Vitest 4/4 PASS; frontend typecheck PASS. COMPLETED is blocked pending predecessor integration and FE accessibility gate evidence." -AEG-V16-024,S6,Cross,FE accessibility Gate,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md; frontend/src/shared/ui/components/tests/accessibility.contract.spec.ts","FE Lead","2026-08-08: Shared accessibility contract verifies required invalid field label/error/ARIA relationships and busy command action suppression. Actual evidence: accessibility Vitest 2/2 PASS; frontend typecheck PASS. COMPLETED is blocked pending UX/QA keyboard/focus, assistive-technology, and visual evidence." +AEG-V16-024,S6,Cross,FE accessibility Gate,IN_PROGRESS,TBD,"docs/CURRENT/AEG-V16-024_A11Y_GATE_SLICE_NOTE.md; frontend/src/shared/ui/components/tests/accessibility.contract.spec.ts; evidence/AEG-V16-024/a11y-contract_20260808.log; evidence/AEG-V16-024/frontend-typecheck_20260808.log; evidence/AEG-V16-024/ui-standard-contract-v4_20260808.png","FE Lead","2026-08-08: Shared accessibility contract verifies required invalid field label/error/ARIA relationships and busy command action suppression. Actual evidence: accessibility Vitest 2/2 PASS; frontend typecheck PASS; browser snapshot confirms skip link focuses main. Browser review corrected obsolete UI catalog v2 contract copy to v4.0. COMPLETED remains blocked pending UX/QA assistive-technology and approved visual baseline evidence; local screenshot is implementation evidence, not that approval." AEG-X-008,S0,Cross,OpenAPI artifact 고도화,COMPLETED,2026-08-04,.gitea/workflows/openapi-gate.yml + docs/api/openapi.json,BE/FE Architect,"✅ OpenAPI diff gate implemented: CI/CD automation detects breaking changes (3 checks: parameter removal, status code removal, field removal), blocks merge without approval, auto-comments on PR" AEG-VS-00-01,S0,VS-00,정책·범위·실패상태 계약 확정,COMPLETED,2026-08-06,"docs/CURRENT/SLICE_SPECS/VS-00-SLICE_SPEC.md + commit e7913db",PM/Architect,"✅ SLICE_SPEC produced: VS-00-SLICE_SPEC.md (state transitions, RBAC, governance gates, DQ rules, compliance). Commit e7913db. 249/253 tests PASS." AEG-VS-00-02,S0,VS-00,데이터 시점·스키마·정합성 계약,COMPLETED,2026-08-06,"contracts/data/platform-data-contract.v1.json + commit e7913db",Data Architect/DBA,"✅ DATA_CONTRACT v1.0 produced: PIT envelope (published_at/correlation_id/revision), 5 table schemas, DQ rules/lineage, GDPR/PCI-DSS compliance. JSON schema + validation. 249/253 tests PASS." diff --git a/evidence/AEG-V16-024/a11y-contract_20260808.log b/evidence/AEG-V16-024/a11y-contract_20260808.log new file mode 100644 index 00000000..08ed5a6f --- /dev/null +++ b/evidence/AEG-V16-024/a11y-contract_20260808.log @@ -0,0 +1,13 @@ + +> kartsell-frontend@0.1.0 test D:\JobRoomz\KArtSell.Aegis\frontend +> vitest run "--run" "src/shared/ui/components/tests/accessibility.contract.spec.ts" + + + RUN v4.1.10 D:/JobRoomz/KArtSell.Aegis/frontend + + + Test Files 1 passed (1) + Tests 2 passed (2) + Start at 16:42:03 + Duration 4.16s (transform 773ms, setup 0ms, import 1.28s, tests 106ms, environment 2.25s) + diff --git a/evidence/AEG-V16-024/frontend-typecheck_20260808.log b/evidence/AEG-V16-024/frontend-typecheck_20260808.log new file mode 100644 index 00000000..0b32afed --- /dev/null +++ b/evidence/AEG-V16-024/frontend-typecheck_20260808.log @@ -0,0 +1,4 @@ + +> kartsell-frontend@0.1.0 typecheck D:\JobRoomz\KArtSell.Aegis\frontend +> vue-tsc --noEmit + diff --git a/evidence/AEG-V16-024/ui-standard-contract-v4_20260808.png b/evidence/AEG-V16-024/ui-standard-contract-v4_20260808.png new file mode 100644 index 00000000..271acbb4 Binary files /dev/null and b/evidence/AEG-V16-024/ui-standard-contract-v4_20260808.png differ diff --git a/frontend/src/features/ui-standard/pages/UiStandardPage.vue b/frontend/src/features/ui-standard/pages/UiStandardPage.vue index 21c39a82..c0949d76 100644 --- a/frontend/src/features/ui-standard/pages/UiStandardPage.vue +++ b/frontend/src/features/ui-standard/pages/UiStandardPage.vue @@ -14,7 +14,7 @@ const rows = computed(() => screenTemplateCatalogue.filter(x => !query.value || const columns: UiGridColumn[] = [{ field: 'id', header: '화면 ID', width: 100 }, { field: 'name', header: '화면 타입' }, { field: 'component', header: '표준 컴포넌트', minWidth: 220 }, { field: 'evidence', header: '필수 증거', width: 110 }, { field: 'state', header: '상태', width: 110 }]