Files
KArtSell.Aegis/docs/Design/kbx-foundation-v60-status-canonical-contract-hardening/docs/foundation-v7-governance.md
T
kjh2064 3f293d8aa8
deploy / deploy (push) Successful in 1m52s
deploy / notify (push) Successful in 1s
V13-FE-006: consolidate approved UI and contract hardening
2026-08-13 02:41:00 +09:00

1.7 KiB

KBX Foundation v7 — Governance & Scaffolding

목적

KBX v7은 화면 표준을 문서가 아니라 생성기·Registry·CI 규칙으로 강제한다. 신규 화면은 빈 Vue 파일에서 시작하지 않고 create-kbx-screen.mjs로 생성한다.

신규 화면 생성

pnpm kbx:new-screen -- \
  --module ERP \
  --area PUR \
  --number 002 \
  --type list \
  --name "구매조회" \
  --path erp/purchases/search \
  --permission erp.purchase.read

생성물: Screen Definition, 표준 Template Page, route metadata, 업무 체크리스트, Help stub.

품질 게이트

  • Screen ID 중복 금지
  • helpKey === screenId
  • 최소 1개의 화면 권한 요구
  • 업무 모듈의 PrimeVue/AG Grid 직접 import 금지
  • Generated Screen Registry drift 금지
  • Component/Screen Manifest drift 금지
  • Scaffolder 자체 Contract Test

UX Utility Rail

도움말·AI·사용자제안은 KbxUtilityRail 한 곳에 둔다. AI가 없어도 업무는 완전해야 하며, AI 답변에서 업무 데이터 변경을 직접 수행하지 않는다.

사용자 제안

사용자가 입력하는 것은 유형과 자유문장 정도로 최소화한다. Screen ID/version/route/app version/user role/filter key 같은 진단 정보는 선택적으로 붙이되 고객명·전화번호·주소·주문 원문 등 업무 데이터는 자동 첨부하지 않는다.

AI

AI Context는 allow-list 방식이다. 화면 DOM 전체나 서버 객체 전체를 전달하지 않는다. allowedCapabilities는 explain/suggest/draft/execute로 구분하고, 기본 UI Context는 execute를 포함하지 않는다. 실제 변경은 Proposal → Permission → Entity Resolve → Domain Validation → Command 경계를 지켜야 한다.