2.0 KiB
2.0 KiB
KBX v25 Standard Traceability
| KBX source requirement | v25 implementation |
|---|---|
| Grid First: 조회/선택/편집/대량입력/복사/붙여넣기/검증/Drill-down | KbxDataGrid, KbxGridEditingPolicy, drill-down/context events |
| T04 Fast Grid Entry | KbxFastEntryPage keyboard guide + OMS-ORD-002 editing policy |
| Enter 연속입력 / F2 Lookup / multi-cell paste / Fill Down | existing Enter/F2 + paste normalization + Fill Down |
| 대량 Paste 오류를 Modal로 반복하지 않음 | KbxGridPasteResult + inline error count + first/next error navigation |
| Header checkbox/대량 선택 의미 명확화 | KbxSelectionState + KbxBulkSelectionRequest |
| 현재 검색조건 전체선택은 Server-side Bulk | all-filtered + excludedIds + PostgreSQL target CTE |
| Read Model은 Backend에서 업무용 Projection 제공 | oms_order_search_projection을 Search/Bulk 공통 target source로 사용 |
| Client-side business truth 금지 | selection UX와 Domain 상태전이 분리; server state predicate 유지 |
| Idempotency | oms.orders.ship receipt replay 유지 |
| Audit by default | accepted CTE 기반 audit.entries set-based insert |
| Outbox | accepted CTE 기반 integration.outbox set-based insert |
| 오류 위치는 rowKey + field | KbxValidationError, Grid error navigator |
| Context menu 전용 핵심 기능 금지 | Add/Duplicate/Fill Down/Error Navigation은 Toolbar 제공 |
| 화면 변경 재현성 | OMS-ORD-001 1.1.0, OMS-ORD-002 1.2.0 version bump |
| Component versioning | KbxDataGrid 1.3.0, KbxFastEntryPage 1.2.0 |
| Playwright/Vitest 업무동작 검증 | v25 unit/e2e + canonical scenario contracts |
Boundary decision
v25는 자체 Spreadsheet/Grid Engine을 만들지 않는다. AG Grid의 검증된 편집 기능을 사용하되, 업무 화면이 의존하는 API는 KbxDataGrid와 KBX contract로 제한한다.
또한 전체선택을 Browser ID materialization으로 구현하지 않고, 검색조건을 서버 Command로 넘기는 방식으로 성능과 정합성을 동시에 보장한다.