docs(task): compare-rule 완료 상태를 기록한다

full baseline comparison evidence가 확보되어 milestone task를 완료 처리하고 active plan/review 파일을 archive 로그로 정리한다.
This commit is contained in:
toki 2026-06-06 04:00:59 +09:00
parent 5f727c0903
commit 0cf51a8ad8
5 changed files with 191 additions and 101 deletions

View file

@ -36,7 +36,7 @@
idle 상태에서 성능 기준점을 다시 찍고, 개선 전후 비교 기준으로 사용할 baseline record를 고른다.
- [x] [idle-full] idle host에서 `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full`을 실행해 개선 전 full baseline을 남긴다. 검증: 결과 파일이 same-language, cross-language, TypeScript gateway 구성요소와 `regression_result: SKIPPED`를 기록하고, TypeScript transient 및 Kotlin TCP parallel>=128 deferred(INCOMPLETE) 수용 결정이 완료 로그에 남는다.
- [ ] [compare-rule] baseline 비교는 같은 host/runtime/profile의 `proto-socket-performance-*` 기록끼리만 수행한다. 검증: `run_performance.sh --full --baseline <baseline>` 실행 결과가 compared rows와 regression WARN rows를 기록한다.
- [x] [compare-rule] baseline 비교는 같은 host/runtime/profile의 `proto-socket-performance-*` 기록끼리만 수행한다. 검증: `run_performance.sh --full --baseline <baseline>` 실행 결과가 compared rows와 regression WARN rows를 기록한다. (evidence: `agent-test/runs/20260605-115943-proto-socket-performance-full.md`가 compared rows: 336, warning rows: 10, regression_result: WARN 기록함)
### Epic: [hotspot] 병목 리포트
@ -228,4 +228,5 @@ Kotlin TCP는 현재 same-language 기준에서 안정적인 유지 대상이다
- [hotspot-report] 병목 리포트 정리는 `agent-task/archive/2026/06/m-performance-hotspot-optimization/01_hotspot_report/complete.log`의 PASS 완료 이벤트와 `Roadmap Completion` 근거로 완료 처리했다.
- [ts-gateway-single-path] TypeScript default receive gateway 단일 경로 정리는 `agent-task/archive/2026/06/m-performance-hotspot-optimization/01_ts_gateway_single_path/complete.log`의 PASS 완료 이벤트와 TypeScript check/test 결과를 근거로 완료 처리했다.
- [ts-worker-hop-removal], [gateway-overhead] TypeScript gateway 성능 row 분리와 worker_threads/control overhead 정량화는 `agent-task/archive/2026/06/m-performance-hotspot-optimization/02+01_ts_gateway_perf_rows/complete.log`의 PASS 완료 이벤트, `agent-test/runs/20260604-103828-proto-socket-stress-quick.md`, `agent-test/runs/20260604-102233-proto-socket-performance-quick.md`, `agent-test/runs/20260604-104812-proto-socket-full-matrix.md`를 근거로 완료 처리했다.
- 확인 필요: 사용자 결정 항목 없음. 다음 active task는 `agent-task/m-performance-hotspot-optimization/04+03_compare_rule_full_baseline/`이며, [compare-rule]에서 같은 host/runtime/profile 기준 full baseline comparison record를 생성하고 위 병목 표의 개선 전 기준값을 이 full baseline rows로 교체할지 판단한다. Kotlin TCP parallel>=128은 deadlock으로 deferred 상태라 해당 축은 별도 최적화 후 측정한다.
- 즉시 처리:
- [compare-rule] full baseline comparison 실행 완료. `03_idle_full_baseline`을 baseline(`agent-test/runs/20260605-025842-proto-socket-performance-full.md`)으로 지정하여 비교 결과를 생성함. 결과 파일 `agent-test/runs/20260605-115943-proto-socket-performance-full.md`에 compared rows: 336, warning rows: 10, regression_result: WARN 기록 완료. Kotlin TCP parallel>=128 deadlock deferred 상태(INCOMPLETE)는 동일하게 유지됨.

View file

@ -0,0 +1,147 @@
<!-- task=m-performance-hotspot-optimization/04+03_compare_rule_full_baseline plan=0 tag=BASELINE -->
# Code Review Reference - BASELINE
> **[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation.**
> The task is NOT complete until every implementation-owned section below is filled in.
> Complete the `구현 체크리스트`; the final checklist item is mandatory before saving.
> Fill implementation-owned sections, then stop with active files in place and report ready for review.
> If implementation is blocked by a user-only decision, user-owned external environment prerequisite, or scope conflict, fill `사용자 리뷰 요청` with evidence and stop with active files in place; code-review decides whether to write `USER_REVIEW.md`. Evidence gaps that a follow-up agent can close by rerunning commands or collecting artifacts are normal follow-up issues, not user-review blockers by themselves.
> Finalization (`코드리뷰 결과`, log rename, `complete.log`, archive moves, `코드리뷰 전용 체크리스트`) is review-agent-only, even after compaction/resume.
## 개요
date=2026-06-05
task=m-performance-hotspot-optimization/04+03_compare_rule_full_baseline, plan=0, tag=BASELINE
## Roadmap Targets
- Milestone: `agent-roadmap/milestones/performance-hotspot-optimization.md`
- Task ids:
- `compare-rule`: 같은 host/runtime/profile의 full performance record끼리 baseline 비교를 수행한다.
- Completion mode: check-on-pass
## 이 파일을 읽는 리뷰 에이전트에게
> **[REVIEW AGENT ONLY]** 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.
선행 `03_idle_full_baseline`은 archive complete log 기준 PASS/RESOLVED다. full comparison record의 compared/missing/warning row 수를 확인하세요.
---
## 구현 항목별 완료 여부
| 항목 | 완료 여부 |
|------|---------|
| [BASELINE-1] Full Baseline 비교 실행 | [x] |
## 구현 체크리스트
- [x] `03_idle_full_baseline`의 `complete.log` 존재를 확인하고 baseline record 경로를 추출한다.
- [x] `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full --baseline <idle-full-record>`를 실행해 full comparison record를 생성한다.
- [x] comparison record에서 `compared rows`, `missing baseline rows`, `warning rows`, `regression_result`가 기록되었는지 확인한다.
- [x] `agent-roadmap/milestones/performance-hotspot-optimization.md`의 compare-rule context에 baseline record, comparison record, compared/missing/warning row 수를 반영한다.
- [x] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
## 코드리뷰 전용 체크리스트
- [x] `코드리뷰 결과`에 `PASS`, `WARN`, `FAIL` 중 하나의 판정을 append한다.
- [x] 판정과 차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다.
- [x] active `CODE_REVIEW-*-G??.md`를 `code_review_cloud_G07_0.log`로 아카이브한다.
- [x] active `PLAN-*-G??.md`를 `plan_cloud_G07_0.log`로 아카이브한다.
- [x] PASS이면 `complete.log`를 작성하고 active task 디렉터리를 archive로 이동한다.
- [x] PASS이고 task group이 `m-performance-hotspot-optimization`이면 완료 이벤트 메타데이터를 보고하고 roadmap 수정이나 `update-roadmap` 직접 호출을 하지 않는다.
## 계획 대비 변경 사항
없음.
## 주요 설계 결정
없음.
## 사용자 리뷰 요청
- 상태: 없음
- 사유 유형: 없음
- 결정 필요: 없음
- 차단 근거: 없음
- 실행한 검증/명령: 없음
- 자동 후속 불가 이유: 없음
- 재개 조건: 없음
## 리뷰어를 위한 체크포인트
- `03_idle_full_baseline`의 archive complete.log가 선행 조건으로 충족되었는지 확인한다.
- baseline과 current comparison이 모두 full profile인지 확인한다.
- comparison record가 compared/missing/warning row 수를 실제로 기록했는지 확인한다.
## 검증 결과
### BASELINE-1 중간 검증
```bash
$ rg --sort path -n "regression_result:|compared rows:|missing baseline rows:|warning rows:" agent-test/runs/20260605-115943-proto-socket-performance-full.md
7:regression_result: WARN
384:- compared rows: 336
385:- missing baseline rows: 0
386:- warning rows: 10
```
### 최종 검증
```bash
$ bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full --baseline agent-test/runs/20260605-025842-proto-socket-performance-full.md
(output)
=== performance 측정 결과 ===
| 구성 | 결과 | exit code | 결과 기록 | 로그 |
|---|---|---:|---|---|
| same-language | INCOMPLETE | 4 | agent-test/runs/20260605-115943-proto-socket-stress-full.md | /tmp/proto-socket-performance.4gjSmE/same-language.log |
| cross-language | PASS | 0 | agent-test/runs/20260605-181543-proto-socket-stress-full-cross.md | /tmp/proto-socket-performance.4gjSmE/cross-language.log |
| typescript-gateway | PASS | 0 | agent-test/runs/20260605-182132-proto-socket-stress-full.md | /tmp/proto-socket-performance.4gjSmE/typescript-gateway.log |
전체 결과값: INCOMPLETE
Regression 결과값: WARN
결과 기록 파일: `agent-test/runs/20260605-115943-proto-socket-performance-full.md`
$ rg --sort path -n "regression_result:|compared rows:|missing baseline rows:|warning rows:" agent-test/runs/20260605-115943-proto-socket-performance-full.md
7:regression_result: WARN
384:- compared rows: 336
385:- missing baseline rows: 0
386:- warning rows: 10
$ git diff --check
(출력 없음, 정상 종료)
```
## 코드리뷰 결과
### 종합 판정
PASS
### 차원별 평가
| 차원 | 판정 | 근거 |
|------|------|------|
| Correctness | Pass | full comparison이 같은 host/runtime/profile(`test_env: local`, `proto-socket-performance-full`) 기록끼리 수행됨. baseline=`20260605-025842-proto-socket-performance-full.md`(idle-full), current=`20260605-115943-proto-socket-performance-full.md`. compared rows 336, missing baseline rows 0, warning rows 10, regression_result WARN로 row key 매칭 비교가 정상 동작. |
| Completeness | Pass | 계획 체크리스트 전 항목 충족: comparison record 생성, milestone `[compare-rule]` context가 baseline record/comparison record/compared(336)·warning(10)·regression(WARN) 반영, `[compare-rule]` `[x]` 전환. |
| Test coverage | Pass | 계획상 별도 unit test 없음. 검증 산출물인 comparison record가 regression 비교 표와 compared/missing/warning row 수를 기록함. |
| API contract | Pass | 코드 변경 없음. 산출물은 record/문서. |
| Code quality | Pass | milestone 편집이 깔끔하고 record는 스크립트 산출 형식 유지. debug/dead code/TODO 없음. |
| Plan deviation | Pass | record `실행 명령`에 `--throughput-drop-pct 20 --p99-worse-pct 25`가 붙지만 이는 스크립트 기본 threshold 자동 확장이며 계획 의도와 동일. 실질 deviation 아님. |
| Verification trust | Pass | `rg`로 재현 결과 line 7 `regression_result: WARN`, 384 `compared rows: 336`, 385 `missing baseline rows: 0`, 386 `warning rows: 10`로 CODE_REVIEW 기재값과 정확히 일치. `git diff --check` EXIT=0. record header가 baseline 경로·full profile 확인. |
### 발견된 문제
없음.
### 다음 단계
PASS — `complete.log` 작성 후 task 디렉터리를 archive로 이동한다. task group이 `m-performance-hotspot-optimization`이므로 런타임에 완료 이벤트 메타데이터를 보고하고 roadmap은 code-review가 직접 수정하지 않는다.
### 선행 의존성 확인
`04+03`의 선행은 `03_idle_full_baseline`. archive complete.log 경로는 환경 permission으로 직접 읽기가 차단되나, (1) PLAN이 해당 archive complete.log를 PASS/RESOLVED로 명시하고, (2) 03이 산출해야 할 idle-full baseline record(`agent-test/runs/20260605-025842-proto-socket-performance-full.md`)가 디스크에 존재하며 본 비교의 baseline으로 정상 사용됨으로 선행 의존성 충족을 확인함.
### overall_result INCOMPLETE 검토
current record의 `overall_result: INCOMPLETE`는 Kotlin TCP parallel>=128 deadlock deferred(03에서 사용자 승인된 수용 조건)에 기인하며, 본 `[compare-rule]` task의 검증 기준(compared rows와 regression WARN rows 기록)과 무관하다. 계획은 본 task 검증을 `regression_result`/compared/missing/warning row 기록으로 한정하므로 INCOMPLETE는 차단 사유가 아니다.

View file

@ -0,0 +1,41 @@
# Complete - m-performance-hotspot-optimization/04+03_compare_rule_full_baseline
## 완료 일시
2026-06-06
## 요약
같은 host/runtime/profile의 full performance record끼리 baseline 비교를 수행해 comparison record를 생성하고 milestone `[compare-rule]` evidence를 갱신함. 1 loop, 최종 판정 PASS.
## 루프 이력
| Plan | Review | Verdict | 메모 |
|------|--------|---------|------|
| `plan_cloud_G07_0.log` | `code_review_cloud_G07_0.log` | PASS | full comparison record 생성(compared 336/missing 0/warning 10/regression WARN), milestone compare-rule evidence 갱신. 모든 차원 Pass, Required/Suggested 0. |
## 구현/정리 내용
- `agent-test/runs/20260605-115943-proto-socket-performance-full.md`: idle-full baseline(`20260605-025842-proto-socket-performance-full.md`)을 baseline으로 지정한 full comparison record 생성. compared rows 336, missing baseline rows 0, warning rows 10, regression_result WARN 기록.
- `agent-roadmap/milestones/performance-hotspot-optimization.md`: `[compare-rule]` Task를 `[x]`로 전환하고 baseline record/comparison record/compared·warning row·regression 결과를 evidence로 반영. 작업 컨텍스트의 `확인 필요` 라인을 `즉시 처리` compare-rule 완료 기록으로 갱신.
## 최종 검증
- `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full --baseline agent-test/runs/20260605-025842-proto-socket-performance-full.md` - PASS(검증 목적); overall INCOMPLETE(Kotlin TCP parallel>=128 deferred, 03에서 승인된 수용 조건), regression WARN. 결과 기록 `agent-test/runs/20260605-115943-proto-socket-performance-full.md`.
- `rg --sort path -n "regression_result:|compared rows:|missing baseline rows:|warning rows:" agent-test/runs/20260605-115943-proto-socket-performance-full.md` - PASS; line 7 `regression_result: WARN`, 384 `compared rows: 336`, 385 `missing baseline rows: 0`, 386 `warning rows: 10` (CODE_REVIEW 기재값과 정확히 일치, 리뷰 시 재현 확인됨).
- `git diff --check` - PASS; 출력 없음, EXIT=0.
## Roadmap Completion
- Milestone: `agent-roadmap/milestones/performance-hotspot-optimization.md`
- Completed task ids:
- `compare-rule`: PASS; evidence=`plan_cloud_G07_0.log`, `code_review_cloud_G07_0.log`; verification=`agent-test/runs/20260605-115943-proto-socket-performance-full.md` (compared rows 336, warning rows 10, regression_result WARN)
- Not completed task ids: 없음
## 잔여 Nit
- 없음
## 후속 작업
- 없음

View file

@ -1,99 +0,0 @@
<!-- task=m-performance-hotspot-optimization/04+03_compare_rule_full_baseline plan=0 tag=BASELINE -->
# Code Review Reference - BASELINE
> **[IMPLEMENTING AGENT — READ FIRST] Filling in this file is the mandatory final step of implementation.**
> The task is NOT complete until every implementation-owned section below is filled in.
> Complete the `구현 체크리스트`; the final checklist item is mandatory before saving.
> Fill implementation-owned sections, then stop with active files in place and report ready for review.
> If implementation is blocked by a user-only decision, user-owned external environment prerequisite, or scope conflict, fill `사용자 리뷰 요청` with evidence and stop with active files in place; code-review decides whether to write `USER_REVIEW.md`. Evidence gaps that a follow-up agent can close by rerunning commands or collecting artifacts are normal follow-up issues, not user-review blockers by themselves.
> Finalization (`코드리뷰 결과`, log rename, `complete.log`, archive moves, `코드리뷰 전용 체크리스트`) is review-agent-only, even after compaction/resume.
## 개요
date=2026-06-05
task=m-performance-hotspot-optimization/04+03_compare_rule_full_baseline, plan=0, tag=BASELINE
## Roadmap Targets
- Milestone: `agent-roadmap/milestones/performance-hotspot-optimization.md`
- Task ids:
- `compare-rule`: 같은 host/runtime/profile의 full performance record끼리 baseline 비교를 수행한다.
- Completion mode: check-on-pass
## 이 파일을 읽는 리뷰 에이전트에게
> **[REVIEW AGENT ONLY]** 아래 종결 절차는 코드리뷰 에이전트 전용이다. 구현 에이전트는 이 섹션을 실행하지 않는다.
선행 `03_idle_full_baseline`은 archive complete log 기준 PASS/RESOLVED다. full comparison record의 compared/missing/warning row 수를 확인하세요.
---
## 구현 항목별 완료 여부
| 항목 | 완료 여부 |
|------|---------|
| [BASELINE-1] Full Baseline 비교 실행 | [ ] |
## 구현 체크리스트
- [ ] `03_idle_full_baseline``complete.log` 존재를 확인하고 baseline record 경로를 추출한다.
- [ ] `bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full --baseline <idle-full-record>`를 실행해 full comparison record를 생성한다.
- [ ] comparison record에서 `compared rows`, `missing baseline rows`, `warning rows`, `regression_result`가 기록되었는지 확인한다.
- [ ] `agent-roadmap/milestones/performance-hotspot-optimization.md`의 compare-rule context에 baseline record, comparison record, compared/missing/warning row 수를 반영한다.
- [ ] CODE_REVIEW-*-G??.md의 구현 에이전트 소유 섹션을 실제 구현 내용과 검증 출력으로 채운다. 이 항목이 완료되기 전에는 구현이 완료된 것이 아니다.
## 코드리뷰 전용 체크리스트
- [ ] `코드리뷰 결과``PASS`, `WARN`, `FAIL` 중 하나의 판정을 append한다.
- [ ] 판정과 차원별 평가, Required/Suggested/Nit 분류가 서로 일치한다.
- [ ] active `CODE_REVIEW-*-G??.md``code_review_cloud_G07_N.log`로 아카이브한다.
- [ ] active `PLAN-*-G??.md``plan_cloud_G07_M.log`로 아카이브한다.
- [ ] PASS이면 `complete.log`를 작성하고 active task 디렉터리를 archive로 이동한다.
- [ ] PASS이고 task group이 `m-performance-hotspot-optimization`이면 완료 이벤트 메타데이터를 보고하고 roadmap 수정이나 `update-roadmap` 직접 호출을 하지 않는다.
## 계획 대비 변경 사항
_구현 에이전트가 계획과 다르게 구현한 부분을 이유와 함께 기록한다._
## 주요 설계 결정
_구현 에이전트가 주요 설계 결정 사항을 기록한다._
## 사용자 리뷰 요청
_기본값은 `없음`이다. 구현 중 사용자 결정, 사용자 소유 외부 환경/secret/서비스 준비, 또는 계획 범위 변경 없이는 안전하게 진행할 수 없으면 아래 항목을 실제 내용으로 교체하고, 구현을 중단한 뒤 active 파일을 그대로 둔 채 리뷰를 요청한다. 후속 에이전트가 명령 재실행이나 산출물 수집으로 해소할 수 있는 검증 증거 공백만으로는 사용자 리뷰 요청을 작성하지 않는다._
- 상태: 없음
- 사유 유형: 없음
- 결정 필요: 없음
- 차단 근거: 없음
- 실행한 검증/명령: 없음
- 자동 후속 불가 이유: 없음
- 재개 조건: 없음
## 리뷰어를 위한 체크포인트
- `03_idle_full_baseline`의 archive complete.log가 선행 조건으로 충족되었는지 확인한다.
- baseline과 current comparison이 모두 full profile인지 확인한다.
- comparison record가 compared/missing/warning row 수를 실제로 기록했는지 확인한다.
## 검증 결과
### BASELINE-1 중간 검증
```bash
$ rg --sort path -n "regression_result:|compared rows:|missing baseline rows:|warning rows:" agent-test/runs/<new-comparison-record>.md
(output)
```
### 최종 검증
```bash
$ bash agent-ops/skills/project/run-proto-socket-test-matrix/scripts/run_performance.sh --full --baseline agent-test/runs/<idle-full-record>.md
(output)
$ rg --sort path -n "regression_result:|compared rows:|missing baseline rows:|warning rows:" agent-test/runs/<new-comparison-record>.md
(output)
$ git diff --check
(output)
```