docs(agent-ui): 설정 후보 등록 규칙을 정리한다

This commit is contained in:
toki 2026-08-03 15:53:39 +09:00
parent 031416e7ec
commit b5dbe0aaf4
3 changed files with 34 additions and 34 deletions

View file

@ -100,8 +100,9 @@
## 스킬 라우팅
- 설정 UI 노출 정책 기록, `설정 UI에서 빼`, `설정 화면에서 숨겨`, `설정 제외로 기록해`, `설정 노출 정책에 추가해`: `agent-ops/skills/common/update-agent-ui/SKILL.md``view-id=settings`, `mode=definition`, `status=계획`, `post-validate=true`, `post-sync=false`로 사용해 `agent-ui/definition/views/settings/index.md`의 설정 노출 정책을 설정 경로 기준으로 upsert한다.
- `설정으로 빼`는 현재 문맥이 UI 노출 제외이고 대상 설정이 식별될 때만 위 라우팅을 사용한다. config 추출·스키마 삭제와 구분되지 않으면 자동 기록하지 않고 확인 대상으로 남긴다.
- 설정 후보 기록, `설정으로 빼`, `설정으로 빼놔`, `설정값으로 분리해`, `설정으로 조절하게 해`: 현재 작업 맥락에서 사용자가 설정으로 조절할 필요가 있다고 지정한 내용을 뜻한다. 숨김·제외 의미로 해석하지 않는다.
- 설정 후보 기록은 `agent-ops/skills/common/update-agent-ui/SKILL.md``view-id=settings`, `mode=definition`, `status=계획`, `post-validate=true`, `post-sync=false`로 사용해 `agent-ui/definition/views/settings/index.md``SET-NNN` 항목으로 upsert한다. 정확한 config key나 component id가 아직 없어도 작업 맥락으로 등록하며, 새 항목과 변경 항목은 `대기`, 구현·검증 근거가 확인된 항목만 `완료`로 둔다.
- 설정 UI 설계·구현에서는 `대기` 항목만 대상으로 삼는다. `완료` 항목을 변경하면 같은 id를 유지하고 `대기`로 되돌린다.
- UI 없는 사용자 CRUD, OpenAI-compatible 사용자/principal 추가·조회·수정·비활성화·삭제, principal token 운영 CRUD: `agent-ops/skills/project/iop-user-crud-ops/SKILL.md`
- Confluence 문서 작성, 컨플 문서 생성·갱신·검토, Lab2 문서 작성, lgucorp 위키 업데이트: `agent-ops/skills/project/lgucorp-confluence-docs/SKILL.md`
- dev 또는 dev-corp OpenAI-compatible 사용자 token 발급·추가, `dev에 <사용자> 사용자 토큰 만들어줘`, `dev-corp에 <사용자> 사용자 토큰 만들어줘`, principal_ref token 등록, principal alias 매핑, raw IOP token 1회 전달: `agent-ops/skills/project/openai-usage-token-issue/SKILL.md`

View file

@ -20,7 +20,7 @@ views:
| `nodes` | 구현됨 | `apps/client/lib/widgets/nodes_panel.dart`, `apps/client/lib/widgets/nodes_panel_sections.dart` | 선택 Edge의 Node inventory, adapter config, provider catalog를 보여준다. |
| `runtime` | 구현됨 | `apps/client/lib/widgets/runtime_panel.dart`, `apps/client/lib/widgets/runtime_panel_sections.dart` | Edge health, Node status, provider command와 operation history를 다룬다. |
| `execution-logs` | 구현됨 | `apps/client/lib/widgets/execution_logs_panel.dart` | 선택 Edge의 lifecycle event와 execution log timeline을 보여준다. |
| `settings` | 계획 | 사용자 결정 | 향후 설정 UI 설계에 사용할 설정별 노출, 편집, 마스킹, 제외 정책을 관리한다. |
| `settings` | 계획 | 사용자 결정 | 현재 작업에서 설정으로 조절할 필요가 있다고 지정된 후보와 구현 상태를 관리한다. |
## Navigation

View file

@ -6,9 +6,9 @@ frame: null
source_evidence:
- type: user
path: null
notes: User requested one canonical registry for settings that should be hidden, excluded, masked, read-only, or removed before future UI design.
notes: User requested one registry for work items that should later become user-adjustable settings.
regions:
- settings.configuration-exposure-policy
- settings.configuration-candidates
---
# Settings
@ -24,12 +24,12 @@ Status: `계획`
| Type | Path | Notes |
|------|------|-------|
| user | 없음 | 향후 UI 설계에서 참조할 설정 노출·제외 결정을 한 곳에 모으도록 요청했다. |
| user | 없음 | 작업 중 설정으로 조절할 필요가 있다고 지정한 내용을 향후 UI 설계에서 참조할 수 있게 한 곳에 모으도록 요청했다. |
## Purpose
향후 설정 UI 설계에 앞서 설정별 노출, 편집, 마스킹, 제외 결정을 한 곳에서 관리한다.
실제 config schema를 복제하지 않고 설정 경로와 근거 계약을 참조하며, UI 정책과 런타임 설정 제거를 구분한다.
작업 중 사용자가 설정으로 조절할 필요가 있다고 지정한 내용을 한 곳에서 관리한다.
정확한 config key나 UI 구조가 정해지기 전에도 작업 맥락으로 후보를 남기고, 향후 설정 UI 설계와 구현에서 사용한다.
## Primary Users
@ -38,47 +38,46 @@ Status: `계획`
## Primary Tasks
- 설정별 UI 노출 및 편집 가능 여부 확인
- 비노출, 마스킹, 읽기 전용, 스키마 제거 후보 결정 기록
- 향후 view와 component 설계 시 설정 정책 참조
- 작업 중 설정으로 조절해야 할 후보 등록
- 설정 후보의 작업 맥락과 적용 대상 확인
- 향후 view와 component 설계 시 `대기` 후보 반영
## Information Priority
1. 설정 경로와 UI 처리 결정
2. 결정 사유와 대체 표현 또는 설정
3. 적용 화면, 계약 근거, 결정 상태
1. 설정으로 조절할 내용과 작업 맥락
2. 적용 대상과 구현 상태
3. 완료된 항목의 구현·검증 근거
## Regions
| Region ID | Purpose | Component | Priority | Notes |
|-----------|---------|-----------|----------|-------|
| `settings.configuration-exposure-policy` | 설정별 UI 노출·제외 정책 관리 | 없음 | high | 실제 화면 배치와 component는 향후 UI 설계에서 확정한다. |
| `settings.configuration-candidates` | 설정으로 조절할 후보와 구현 상태 관리 | 없음 | high | 실제 화면 배치와 component는 향후 UI 설계에서 확정한다. |
## Configuration Exposure Policy
## Settings Candidates
### UI 처리
### 상태
- `편집 가능`: UI에서 값을 조회하고 변경할 수 있다.
- `읽기 전용`: UI에서 값을 표시하지만 변경할 수 없다.
- `마스킹`: secret 원문을 노출하지 않고 존재 여부나 축약값만 표시한다.
- `UI 비노출`: 설정은 유지하지만 UI에서 표시하거나 변경하지 않는다.
- `스키마 제거 후보`: UI 결정만으로 제거하지 않고 matching config contract와 구현 변경이 별도로 필요하다.
- `대기`: 향후 설정 UI 설계 또는 구현에서 반영해야 한다.
- `완료`: 설정 UI와 관련 구현·검증 근거가 확인되어 다음 구현 대상에서 제외한다.
### 설정 정책 목록
### 설정 후보 목록
`설정 경로`를 고유 키로 사용한다. 같은 설정은 새 행을 만들지 않고 기존 행을 갱신한다.
각 후보는 `SET-NNN` id를 사용한다. 같은 내용을 다시 언급하면 새 행을 만들지 않고 기존 id의 작업 맥락을 갱신한다.
| 설정 경로 | 소유 범위 | UI 처리 | 사유 | 대체 표현/설정 | 적용 화면 | 근거 | 결정 상태 |
|-----------|-----------|---------|------|----------------|-----------|------|-----------|
| ID | 설정으로 조절할 내용 | 작업 맥락 | 적용 대상 | 상태 | 구현 근거 |
|----|----------------------|-----------|-----------|------|-----------|
### 기록 규칙
- 새 id는 현재 목록의 가장 큰 번호 다음 `SET-NNN`으로 발급하고 완료된 id를 재사용하지 않는다.
- 사용자가 작업 설명 중 `설정으로 빼`라고 지정하면 현재 작업 맥락을 짧게 요약해 `대기`로 등록한다.
- 정확한 config key나 component id는 등록 필수 조건이 아니다. 이후 확정되면 같은 id를 갱신한다.
- `적용 대상`에는 확정된 view/component id가 있으면 기록하고, 없으면 기능 또는 도메인 이름을 기록한다.
- secret, token, credential 원문은 기록하지 않는다.
- `UI 비노출`을 config schema 제거로 해석하지 않는다.
- `스키마 제거 후보`는 matching `agent-contract`와 구현이 갱신되기 전까지 실제 제거로 표시하지 않는다.
- 실제 config key, type, default는 이 문서에 복제하지 않고 matching contract 경로를 `근거`에 기록한다.
- 사용자 결정이 명확하면 `결정 상태``확정`으로 기록한다.
- 설정 경로, 처리 의미, 소유 범위가 불명확하면 추정으로 행을 추가하지 않고 `Open Questions` 또는 `agent-ui/USER_REVIEW.md`로 분리한다.
- 새 항목과 내용이 변경된 완료 항목은 `대기`로 둔다.
- 코드와 검증 근거가 확인된 항목만 `완료`로 바꾸고 `구현 근거`를 기록한다.
- 설정 UI 설계와 구현에서는 `대기` 항목만 대상으로 삼는다.
- 이 문서 기록만으로 UI 코드 동기화를 시작하지 않는다.
## Actions
@ -90,16 +89,16 @@ Status: `계획`
## States
- loading: 향후 UI 설계에서 확정한다.
- empty: 등록된 설정 정책이 없음을 표시하는 방향으로 설계한다.
- empty: 등록된 설정 후보가 없음을 표시하는 방향으로 설계한다.
- error: 향후 UI 설계에서 확정한다.
- permission-denied: 설정 조회·변경 권한 모델과 함께 확정한다.
## Open Questions
- navigation과 화면 배치
- 설정 그룹과 반복 component 구조
- 설정 후보를 묶을 그룹과 반복 component 구조
- 설정 조회·변경 권한 모델
## Decision History
- 2026-08-03: 설정 UI 노출·제외 결정을 누적하는 중앙 정책 문서를 계획 상태로 만들고, 문서 기록만으로 코드 동기화를 시작하지 않도록 정했다.
- 2026-08-03: 작업 중 `설정으로 빼`라고 지정한 내용을 설정 후보로 누적하고, `대기``완료`만으로 구현 대상을 구분하도록 정했다.