# PLAN cloud G07 - REVIEW_cloud-G07 - m-change-aware-test-routing/02+01_risk_routing_rules

## 작업 목표

이전 구현 리뷰에서 FAIL 처리된 risk routing 규칙의 계약 불일치를 좁게 보완한다. 이번 follow-up은 기존 `risk-escalation` task를 계속 완료 대상으로 삼되, 실제 테스트 실행 shell 구현이나 x5 command 생성은 여전히 범위 밖이다.

## Roadmap Targets

- Milestone: `agent-roadmap/milestones/change-aware-test-routing.md`
- Completed task ids:
  - `risk-escalation`

## 실패 원인 요약

- `--classify-only` 옵션이 파싱만 되고 동작에 반영되지 않아 라우팅 추천까지 출력한다.
- transport/queue/gateway 변경 후보가 route별 include flag에 묶여 `speed` 또는 `stability` route에서 필요한 후보가 사라진다.
- `payload`, `performance`, `parallel` 등 path term 감지가 domain과 무관하게 적용되어 agent-task/agent-roadmap/.tmp/other 파일명만으로 performance 후보가 추천된다.
- docs-only 분기 내부의 `test-docs-selfcheck` 조건은 현재 domain 계산상 도달 불가능하다.

## 구현 범위

- `--classify-only`가 진짜 분류 출력만 남기도록 recommendation 생성/출력 흐름을 분기한다.
- transport/queue/gateway 변경은 route와 무관하게 functional 후보와 stability 후보를 모두 기록하되, 실행 의도는 상태값으로 구분한다.
- performance term 승격은 code/source/harness 성격의 domain에만 적용하고, `agent-task/**`, `agent-roadmap/**`, `.tmp/**`, 일반 `other` 변경의 파일명만으로는 performance 후보를 만들지 않는다.
- unreachable `test-docs-selfcheck` 분기를 제거하거나 실제 의도에 맞는 reachable self-check 후보명/분기로 정리한다.
- 기존 출력 포맷의 주요 필드명은 유지한다.

## 제외 범위

- 실제 x5 command 생성.
- `run_speed_test.sh`, `run_stability_test.sh`, `run_full_test.sh` entrypoint 구현.
- 야간 실행 예약 또는 실제 performance/stability full 실행.
- roadmap 문서 상태 변경.

## 구현 체크리스트

- [ ] `--classify-only`에서 `### 라우팅 추천 결과`가 출력되지 않도록 옵션 계약을 구현한다.
- [ ] transport/queue/gateway 변경에서 functional 후보와 stability 후보가 route별로 사라지지 않고 상태값으로만 구분되게 한다.
- [ ] performance term 감지를 domain-aware로 제한해 agent-task/agent-roadmap/.tmp/other 파일명만으로 performance 후보가 생성되지 않게 한다.
- [ ] docs-only/test-docs self-check 분기의 unreachable 조건을 정리한다.
- [ ] 검증 결과에 실제 stdout/stderr 요약을 남기고 `CODE_REVIEW-cloud-G07.md`의 구현 체크리스트를 완료 처리한다.

## 검증 계획

```bash
bash -n agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh --classify-only
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh --route auto --dry-run
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh --route speed --dry-run
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh --route stability --dry-run
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_test_by_change.sh --route full --dry-run
```

검증 기준:

- `--classify-only` 출력에 라우팅 추천 표가 없다.
- 현재 작업트리에 transport 변경이 포함된 경우 `speed`/`stability` route 출력에서도 functional/stability 후보가 누락되지 않는다.
- 현재 작업트리의 agent-roadmap/agent-task/.tmp 파일명에 `payload` 또는 `performance`가 있어도, 관련 source/harness domain 변경이 없으면 performance 후보가 생성되지 않는다.
- test-docs self-check 후보는 reachable 분기에서만 생성된다.

## 완료 조건

- 이전 리뷰의 Required 항목 3개가 모두 해소된다.
- Suggested 항목인 unreachable docs-only/test-docs 분기가 정리된다.
- `risk-escalation`의 추천 후보 상태 계약이 실제 출력으로 확인된다.
