<!-- task=stability_baseline/04+03_maintenance_criteria plan=0 tag=MAINT -->

# 유지보수 모드와 재개 기준 문서화

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

구현 완료 전 `CODE_REVIEW-cloud-G05.md`의 구현 에이전트 소유 섹션을 반드시 채운다. 검증 명령을 실제 실행하고 출력은 요약하지 말고 붙여 넣는다. active 파일은 그대로 두고 리뷰 준비 상태만 보고한다. 최종 archive, `complete.log`, 코드리뷰 전용 체크리스트 처리는 code-review 스킬 전용이다.

## 배경

안정화 기준선의 마지막 미완료 작업은 유지보수 모드에서 허용할 작업 범위와 재개 조건을 문서화하는 것이다. README에는 stabilization boundaries가 있지만(`README.md:315-320`), 새 언어 확장, package 릴리즈, protocol 변경을 언제 재개할지 기준은 아직 명확하지 않다. 이 작업은 protocol freeze 판단 후 진행해야 한다.

## 분석 결과

### 읽은 파일

- `README.md`
- `PROTOCOL.md`
- `VERSIONING.md`
- `PORTING_GUIDE.md`
- `agent-ops/roadmap/milestones/stability-baseline.md`
- `agent-ops/roadmap/milestones/continuous-verification.md`
- `agent-ops/rules/project/domain/protocol/rules.md`
- `agent-ops/rules/project/domain/tools/rules.md`

### 테스트 커버리지 공백

- 유지보수/재개 기준은 제품 운영 문서라 자동 테스트 대상이 아니다.
- deterministic search와 `git diff --check`로 문서 위치와 포맷을 확인한다.

### 심볼 참조

- none. renamed/removed symbol 없음.

### 분할 판단

분할 정책을 먼저 평가했다. 공유 task group은 `stability_baseline`이다.

- `01_validation_evidence`: fresh matrix 실행 및 결과 기록.
- `02_doc_consistency`: 문서 정합성 점검.
- `03+01,02_protocol_freeze`: protocol 0.1 동결 후보 판단.
- `04+03_maintenance_criteria`: 현재 task. 디렉터리 이름의 `+03`이 런타임 의존성이다.

재개 조건은 동결 후보 판단 이후에만 자연스럽게 정리되므로 별도 dependent plan으로 둔다.

### 범위 결정 근거

이 작업은 README와 `stability-baseline.md`의 운영 기준 문서화에 한정한다. C#/Swift 구현, package registry release 설정, CI/CD runner 연결, protocol/API 변경은 제외한다.

### 빌드 등급

build `cloud-G05`, review `cloud-G05`. 제품/로드맵 판단이 포함된 문서화라 cloud lane으로 둔다.

## 의존 관계 및 구현 순서

이 task는 같은 task group의 `03+01,02_protocol_freeze`에 의존한다. 선행 task의 PASS 결과가 archive 아래 `complete.log`로 남아 있어야 시작한다.

## 구현 체크리스트

- [ ] `03+01,02_protocol_freeze`의 `complete.log` 존재를 확인한다.
- [ ] README Work Context 또는 인접 섹션에 유지보수 모드 허용 범위와 재개 조건을 추가한다.
- [ ] `stability-baseline.md`에 유지보수 기준 문서화 결과를 기록하고 관련 체크박스/완료 기준을 완료 처리한다.
- [ ] 모든 필수 기능과 완료 기준이 충족되면 `stability-baseline.md` 상태를 완료로 바꿀지 evidence 기준으로 판단한다.
- [ ] 중간/최종 검증 명령을 실행한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [MAINT-1] 유지보수 허용 범위와 재개 조건 문서화

#### 문제

`stability-baseline.md:29`는 유지보수 모드에서 허용할 작업 범위와 재개 조건 문서화가 미완료다. `stability-baseline.md:35`도 새 언어 확장, package 릴리즈, protocol 변경 재개 기준이 미완료다. README는 금지 경계만 제공하고(`README.md:317-320`), 재개 조건은 아직 부족하다.

#### 해결 방법

README에 유지보수 모드에서 허용되는 작업과 재개 조건을 짧게 추가한다. 예: 버그 수정, 테스트 강화, 문서 정합성, dependency 최소 보수는 허용하고, 새 언어/registry/protocol 변경은 concrete consumer demand, compatibility plan, full matrix PASS, 사용자 승인 같은 조건이 있을 때 재개한다고 명시한다. 이후 `stability-baseline.md`의 관련 체크박스와 완료 기준을 갱신한다.

Before (`README.md:315-320`):

```markdown
Stabilization boundaries:

- Keep protocol `0.1` behavior stable unless compatibility work is explicitly requested.
- Do not start C# or Swift implementation work as part of stabilization.
- Do not start package registry release work as part of stabilization.
- Do not connect external CI/CD runners from this repository until the parent `../oto` workflow is decided.
```

After example:

```markdown
Stabilization boundaries:

- Keep protocol `0.1` behavior stable unless compatibility work is explicitly requested.
- Maintenance-mode work may include bug fixes, documentation corrections, test hardening, and compatibility-preserving implementation fixes.
- Resume C#/Swift, package registry release, or protocol/API change work only when there is concrete consumer demand, a compatibility plan, and a passing full validation matrix.
- Do not connect external CI/CD runners from this repository until the parent `../oto` workflow is decided.
```

Before (`agent-ops/roadmap/milestones/stability-baseline.md:29,35`):

```markdown
- [ ] 유지보수 모드에서 허용할 작업 범위와 재개 조건을 문서화한다.
- [ ] 새 언어 확장, package 릴리즈, 프로토콜 변경을 언제 재개할지 기준이 명확하다.
```

After example:

```markdown
- [x] 유지보수 모드에서 허용할 작업 범위와 재개 조건을 문서화한다.
- [x] 새 언어 확장, package 릴리즈, 프로토콜 변경을 언제 재개할지 기준이 명확하다.
```

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

- [ ] `README.md`: 유지보수 허용 범위와 재개 조건 추가.
- [ ] `agent-ops/roadmap/milestones/stability-baseline.md`: 작업 결과, 체크박스, 완료 기준, 필요 시 상태 갱신.

#### 테스트 작성

테스트 추가 없음. 문서 정책 작업이다.

#### 중간 검증

```bash
test -n "$(find agent-task/archive -path '*/stability_baseline/03+01,02_protocol_freeze/complete.log' -print -quit)"
```

예상 결과: exit 0.

## 수정 파일 요약

| 파일 | 항목 |
|------|------|
| `README.md` | MAINT-1 |
| `agent-ops/roadmap/milestones/stability-baseline.md` | MAINT-1 |

## 최종 검증

```bash
rg --sort path -n 'Maintenance-mode|maintenance-mode|유지보수|재개|consumer demand|compatibility plan|package registry|C#|Swift|protocol `0\.1`' README.md agent-ops/roadmap/milestones/stability-baseline.md
```

예상 결과: 유지보수 허용 범위와 새 언어/package/protocol 재개 조건이 확인된다.

```bash
git diff --check
```

예상 결과: whitespace error 없음.

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