중<!-- task=m-control-plane-jenkins-menu-ia-code-sync/01_definition_guardrails plan=1 tag=REVIEW_JENKINS_IA_DEF -->

# Plan - Review Follow-up: Jenkins IA Definition Status Schema

## 이 파일을 읽는 구현 에이전트에게

`CODE_REVIEW-local-G03.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채우는 것이 구현의 마지막 단계다. 구현 후 active 파일을 유지하고 리뷰 준비만 보고한다. 선택된 Milestone `구현 잠금 > 결정 필요` 항목이 실구현을 차단할 때만 리뷰 스텁의 `사용자 리뷰 요청` 섹션을 채우고 멈춘다. 구현 중 직접 사용자에게 질문하거나 선택지를 제시하거나 `request_user_input`, `USER_REVIEW.md`, `complete.log`, archive 이동을 수행하지 않는다. 환경/secret/service 차단과 증거 공백은 사용자 리뷰 요청이 아니라 검증 결과나 후속 plan으로 남긴다.

## Roadmap Targets

- Milestone: `agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-menu-ia-code-sync.md`
- Task ids:
  - `definition-guardrail`: 화면정의서에 적용 가능한 Jenkins 메뉴 기준과 제외/후순위 메뉴가 명확히 남아 있고, 후속 코드 검증 label이 고정되어 있다.
- Completion mode: check-on-pass

## Archive Evidence Snapshot

- Archived plan: `agent-task/m-control-plane-jenkins-menu-ia-code-sync/01_definition_guardrails/plan_cloud_G07_0.log`
- Archived review: `agent-task/m-control-plane-jenkins-menu-ia-code-sync/01_definition_guardrails/code_review_cloud_G07_0.log`
- Verdict: FAIL
- Required summary:
  - `agent-ui/definition/components/console-rail/index.md:4` uses `status: 변경 필요`, which violates `agent-ops/rules/common/rules-agent-ui.md` allowed status values: `구현됨`, `계획`, `가정`, `불명확`.
  - The same non-schema status wording appears in `agent-ui/definition/views/index.md:19`, `agent-ui/definition/components/index.md:30`, and `agent-ui/definition/index.md:57`.
- Affected files:
  - `agent-ui/definition/index.md`
  - `agent-ui/definition/views/index.md`
  - `agent-ui/definition/components/index.md`
  - `agent-ui/definition/components/console-rail/index.md`
- Verification evidence from failed loop:
  - `git diff --check`: no output, exit=0.
  - Invalid status search matched `변경 필요` status wording in the affected files.
  - Milestone target labels and Jenkins IA primitives were present; the blocker is status schema compliance, not missing Jenkins IA labels.
- Allowed archive reread if needed:
  - `agent-task/m-control-plane-jenkins-menu-ia-code-sync/01_definition_guardrails/code_review_cloud_G07_0.log`
  - `agent-task/m-control-plane-jenkins-menu-ia-code-sync/01_definition_guardrails/plan_cloud_G07_0.log`

## 분석 결과

### SDD 기준

Milestone: `agent-roadmap/phase/control-plane-product-surface/milestones/control-plane-jenkins-menu-ia-code-sync.md`. SDD: 불필요.

### 범위 결정 근거

이번 후속은 이전 루프에서 만든 Jenkins IA gate와 menu primitive 자체를 재설계하지 않는다. `agent-ui` 규칙의 status schema에 맞도록 비허용 `변경 필요` 상태 표현만 정리하고, gate 미충족 의미는 허용 status인 `계획`과 설명 문구로 보존한다.

### 빌드 등급

`local-G03`. 범위가 문서 status schema 정합성으로 작고, deterministic `rg`와 `git diff --check`로 검증 가능하다.

## 구현 체크리스트

- [x] [REVIEW_JENKINS_IA_DEF-1] `agent-ui/definition`의 비허용 status 값 `변경 필요`를 허용 status인 `계획`으로 정리하고, Jenkins IA gate 미충족 의미는 설명/근거 문구에 남긴다.
- [x] `git diff --check`, 비허용 status 검색, Roadmap target label 검색을 실행한다.
- [x] CODE_REVIEW-local-G03.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REVIEW_JENKINS_IA_DEF-1] Align Agent UI Status Schema

#### 문제

`agent-ops/rules/common/rules-agent-ui.md`는 view/component status 값을 `구현됨`, `계획`, `가정`, `불명확`으로 제한한다. 하지만 이전 구현은 Jenkins IA gate 미충족 상태를 표현하려고 `변경 필요`라는 새 상태값을 도입했다. 이 값은 `agent-ui/definition/components/console-rail/index.md` frontmatter에도 들어가므로 agent-ui source of truth가 schema와 충돌한다.

#### 해결 방법

Jenkins IA gate 미충족 대상 view/component는 status를 `계획`으로 둔다. 설명에는 `Jenkins IA gate 미충족`, `후속 구현 대기`, `코드와 widget 테스트 확인 후 구현됨 승격` 같은 문구를 유지해 의도 손실 없이 schema만 맞춘다.

Before:

```markdown
status: 변경 필요
Status: `변경 필요` (Jenkins IA gate 미충족...)
| `overview` | 변경 필요 | ...
```

After:

```markdown
status: 계획
Status: `계획` (Jenkins IA gate 미충족...)
| `overview` | 계획 | ... Jenkins IA gate 미충족, 후속 구현 대기 ...
```

#### 수정 파일 및 체크리스트

- [x] `agent-ui/definition/components/console-rail/index.md`: frontmatter와 본문 status를 `계획`으로 바꾼다.
- [x] `agent-ui/definition/views/index.md`: Jenkins IA gate 대상 view table status를 `계획`으로 바꾸고, 미충족 의미는 description에 남긴다.
- [x] `agent-ui/definition/components/index.md`: Jenkins IA gate 대상 component table status를 `계획`으로 바꾸고, 미충족 의미는 description에 남긴다.
- [x] `agent-ui/definition/index.md`: `변경 필요` 상태값을 지시하는 문장을 `계획` status + gate 미충족 설명으로 바꾼다.

#### 테스트 작성

문서-only schema 정합 후속이므로 새 Flutter widget test는 작성하지 않는다. 대신 비허용 status 검색과 Roadmap target label 검색을 고정 검증으로 둔다.

#### 중간 검증

```bash
git diff --check
rg --sort path -n 'status: 변경 필요|변경 필요 \||\| 변경 필요 |`변경 필요`|변경 필요 상태' agent-ui/definition
rg --sort path -n 'status: 계획|\| `overview` \| 계획 |\| `console-shell` \| 계획 |Jenkins IA gate 미충족|후속 구현 대기' agent-ui/definition/index.md agent-ui/definition/views/index.md agent-ui/definition/components/index.md agent-ui/definition/components/console-rail/index.md
```

예상: 첫 명령은 no output/exit=0. 두 번째 명령은 no matches/exit=1. 세 번째 명령은 허용 status와 gate 미충족 설명을 출력한다.

## 최종 검증

```bash
git diff --check
rg --sort path -n 'status: 변경 필요|변경 필요 \||\| 변경 필요 |`변경 필요`|변경 필요 상태' agent-ui/definition
rg --sort path -n '1차 적용|제외/후순위|New Item|Build History|Manage OTO|Console Output|Pipeline Overview' agent-ui/definition
```

모든 변경 완료 후 반드시 `CODE_REVIEW-local-G03.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
