<!-- task=m-high-performance-parallel-operations/02+01_cross_baseline plan=1 tag=REVIEW_CROSS_BASELINE -->

# Plan - REVIEW_CROSS_BASELINE

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

이 계획은 `code_review_cloud_G08_0.log`의 Required 이슈만 해결한다. `CODE_REVIEW-cloud-G08.md`의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 사용자 결정이나 외부 환경 준비가 없으면 안전하게 진행할 수 없는 경우에만 `사용자 리뷰 요청`을 채우고 멈춘다.

## 배경

첫 구현은 `--profile cross`에서 기존 crosstest command를 방향별로 한 번 실행하고, 그 결과를 concurrency 1/16/64/256 row에 복제했다. 이 방식은 cross-language smoke 결과를 기록할 수는 있지만, Milestone Task가 요구한 concurrency별 nonce/FIFO 독립성 baseline을 증명하지 못한다.

## 사용자 리뷰 요청 흐름

user-only blocker는 review stub의 `사용자 리뷰 요청` 섹션에 기록한다. code-review가 검증하고 후속 상태를 만든다.

## Roadmap Targets

- Milestone: `agent-roadmap/milestones/high-performance-parallel-operations.md`
- Task ids:
  - `cross-baseline`: 지원 가능한 크로스 언어 request-response 병렬 baseline을 추가한다.
- Completion mode: check-on-pass

## 분석 결과

### 읽은 파일

- `agent-task/m-high-performance-parallel-operations/02+01_cross_baseline/code_review_cloud_G08_0.log`
- `agent-task/m-high-performance-parallel-operations/02+01_cross_baseline/plan_cloud_G08_0.log`
- `agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh`
- `agent-test/runs/20260602-133905-proto-socket-stress-quick-cross.md`
- 대표 crosstest client: `python/crosstest/go_python_client.py`

### 실패 원인

- `run_cross_profile`은 방향별 crosstest command를 한 번만 실행한다.
- 이후 `for concurrency in 1 16 64 256` 루프가 같은 `transport_pass`, `elapsed_ms`, stability counter를 모든 concurrency row에 복제한다.
- 결과 파일은 `request-response-c256`도 `Requests=16`과 동일 latency를 기록해, 실제 c256 부하 실행 증거가 아니다.

### 범위 결정 근거

- 이번 후속은 cross baseline의 검증 신뢰성 회복만 다룬다.
- payload size matrix, gateway policy, same-language 최적화, protocol schema/API 변경은 범위 밖이다.
- 기존 crosstest smoke는 보존할 수 있지만, stress cross row는 실제 concurrency별 실행에서만 생성해야 한다.

### 빌드 등급

- build=`cloud-G08`, review=`cloud-G08`. cross-language process orchestration과 benchmark evidence 신뢰성 회복 작업이다.

## 구현 체크리스트

- [ ] cross profile이 방향/transport/concurrency별 실제 request-response 부하를 실행하게 한다.
- [ ] cross 결과 row의 `Clients`, `Requests`, latency/throughput, stability counter가 해당 concurrency 실행의 실제 결과에서만 산출되게 한다.
- [ ] 기존 crosstest smoke를 row 복제 근거로 쓰지 않고, smoke로 유지할 경우 결과 파일에 stress baseline과 구분해 기록한다.
- [ ] `--quick --profile cross --lang go,python --transport tcp` 결과에서 c1/c16/c64/c256 row가 서로 독립 실행 증거를 갖는지 확인한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.

### [REVIEW_CROSS_BASELINE-1] concurrency별 실제 cross baseline 실행

#### 문제

`run_stress.sh`의 cross adapter가 방향별 crosstest command 1회 결과를 concurrency 1/16/64/256 row에 복제해, Milestone의 cross-baseline 완료 조건을 충족하지 못한다.

#### 해결 방법

- 서버/클라이언트 방향별로 실제 cross request-response load를 실행할 수 있는 adapter를 만든다.
- 각 transport와 concurrency 1/16/64/256 조합을 별도 실행 또는 별도 측정 구간으로 처리한다.
- 실행 결과에서 requests, throughput, p50/p95/p99, timeout, nonce mismatch, type mismatch, FIFO violation, pending leak, queue/gateway backlog를 산출한다.
- 기존 crosstest command가 concurrency 제어를 지원하지 않으면 focused helper를 추가하거나 runner argument를 확장한다.
- 결과 파일에서 smoke와 stress baseline을 혼동하지 않도록 row source나 섹션 설명을 명확히 한다.

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

- [ ] `agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh`
- [ ] 필요한 cross-language stress helper 또는 crosstest runner argument
- [ ] 결과 기록 schema/parser

#### 테스트 작성

- 작성: focused cross stress smoke.
- 작성: 전체 matrix regression.

#### 중간 검증

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --quick --profile cross --lang go,python --transport tcp
```

기대: Go -> Python, Python -> Go의 c1/c16/c64/c256 row가 실제 concurrency별 실행 결과에서 생성되고, Requests/latency/throughput이 단순 복제값이 아니다. stability hard gate 위반은 0이다.

## 의존 관계 및 구현 순서

- 기존 `01_lang_baseline` 완료 근거는 `agent-task/archive/2026/06/m-high-performance-parallel-operations/01_lang_baseline/complete.log`에서 확인되었다.

## 수정 파일 요약

| 파일 | 항목 |
|---|---|
| `agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh` | REVIEW_CROSS_BASELINE-1 |
| cross-language stress helpers | REVIEW_CROSS_BASELINE-1 |

## 최종 검증

```bash
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --quick --profile cross --lang go,python --transport tcp
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_stress.sh --quick --profile cross
bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_matrix.sh --all
git diff --check
```

기대: cross stress smoke/full quick가 실제 concurrency별 결과를 기록하고 PASS, full matrix PASS, whitespace error 없음. 모든 코드 변경 완료 후 반드시 `CODE_REVIEW-*-G??.md`의 구현 에이전트 소유 섹션을 채운다. 이 파일 작성이 구현의 마지막 단계다.
