# KBX Foundation v7 — Governance & Scaffolding

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

## 신규 화면 생성
```bash
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 경계를 지켜야 한다.
