Source:
report/version7/reporter/v7_stage0_stage05_interim_report.md
v7 Peak-Aware FL 캠페인 Stage 0 + Stage 0.5 중간 보고서¶
브랜치: v7-planning
기준일: 2026-04-20 (UTC 기준 smoke 실행 완료일)
상위 문서:
- ADR: docs/decisions/ADR-007_v6_to_v7.md
- Design spec: docs/reference/project_state/track_v7_design.md
- Track TODO: todos/track-v7_peak_aware_fl.md
1. Executive Summary¶
1.1 본 phase의 목적 (비전문가용 한 문단)¶
v7은 발표자료 제출용 peak-aware 연합학습(FL) 프레임워크를 숫자로 검증하는 clean-restart phase이다. 핵심 주장은 두 가지로 압축된다 — (i) peak 시점에 가중치를 둔 loss가 peak 예측을 개선하며, (ii) 공유 VQ codebook + 개별 DLinear residual 이중 경로가 baseline/TSFM 대비 우수하다는 것. 본 중간 보고서는 이 검증 캠페인의 가장 앞단인 사전 등록(Stage 0) 과 수직 슬라이스 smoke test(Stage 0.5) 까지의 진척과 발견을 정리한다.
1.2 현재 진행률¶
| Stage | 상태 | 산출물 |
|---|---|---|
| 0 사전 등록 | ✅ 완료 (cycle 2, critic 통과) | golden tensor G1~G5 freeze, Option B threshold 확정, Apt88 지정 |
| 0.5 smoke test | ⚠️ 발견 단계 (9/12 runs 실행, Gate 5 FAIL) | 6-Gate 평가 완료, Gate 5 재설계 완료, A3 발산 확인 |
| 1 Baseline | 🚫 HOLD | Stage 0.5 통과 + A3 발산 수정 대기 |
| 2 Ablation | 🚫 HOLD | Stage 1 종속 |
| 4 VQ 개선 | 🚫 HOLD | Stage 2 종속 |
| 5 통계 / 6 TSFM / 발표자료 | 🚫 HOLD | 상류 종속 |
1.3 핵심 발견 2가지¶
발견 1 — 기존 Gate 5 metric은 v6 back-test에서 0% 통과였다 (작동 불가능한 임계였음).
원설계 moving_avg / initial_avg < 0.5 임계는 "val loss가 반으로 줄어야 수렴"을 요구했지만,
v6 converged run 22개 back-test 결과 p50 = 0.929로 집계됐다 — 즉 v6의 정상 수렴 run도
이 임계를 단 하나도 통과하지 못했다 (legacy_FAIL_count=22/22, false-positive rate = 1.0).
critic이 지적하고, expert가 rel_decrease = (초기 3점 평균 − 말미 3점 평균) / 초기 3점 평균
기반 3-tier metric으로 재설계했다 (PASS ≥ 0.0017 / WARNING 0.0 ~ 0.0017 / FAIL < 0.0).
v6 back-test에서 신 metric은 PASS 19건 + WARNING 1건(TPR = 90.9%)으로 정상 동작.
발견 2 — A3 "full proposed" cell이 smoke 3 seed 모두 val_loss 발산 (loss 상승).
Stage 0.5 smoke에서 A3는 3 seed 모두 rel_decrease 음수(−1.3% ~ −1.9%) = 학습 진행 시 val
loss가 오히려 증가. B0 local (PASS, 1.8~3.0% 감소) / B2 FedProx (PASS~WARNING, 0.1~1.0% 감소)
대비 명확히 다른 행동이다. A3의 final val_loss 절대값도 0.62 ~ 0.67로 B0 (0.35) / B2 (0.34)
대비 약 2배. 이 현상은 초록의 핵심 claim(C2/C3/C4/C5/C6) 기반을 직접 위협하며, 원인 규명
없이는 Stage 1 진입이 의미가 없다.
1.4 Stage 1 진입 HOLD 사유 (현 시점)¶
- Gate 5 rel_decrease metric이 코드(smoke_analysis.py)에 반영되지 않음 — design spec/preview만 존재하고 실행 경로는 여전히 legacy ratio 기준.
- A3 발산의 원인 구성 요소 미특정 — peak_alpha=2.0 / VQ init / DLinear residual 중 어느 것이 유발자인지 확인되지 않아 수정 scope 불명확.
2. 완료 작업 Timeline¶
2.1 Stage 0 — 사전 등록 (2 cycles)¶
Cycle 1 → critic review → Cycle 2 (v2)¶
- Expert v1 초안:
report/version7/exp-expert/v7_0419_stage0_preregistration.md - Critic review:
report/version7/exp-critic/v7_0419_stage0_preregistration_review.md - Expert v2 (critic 반영):
report/version7/exp-expert/v7_0419_stage0_preregistration_v2.md
확정 산출물¶
| 항목 | 확정값 |
|---|---|
| Golden tensor G1 (toy, Q90=7.9) | expected PAPE = 20.000000 / HR = 1.000000 |
| Golden tensor G2 (degenerate σ=0) | expected PAPE = NaN / HR = NaN (by policy) |
| Golden tensor G3 (Apt6 168h, perfect) | expected PAPE = 0.000000 / HR = 1.000000, q90 = 2.918 |
| Golden tensor G4 (Apt6 168h, const mean) | expected PAPE = 67.342534 / HR = 0.619048 |
| Golden tensor G5 (Apt15 336h, uniform RNG seed=42) | expected PAPE = 64.279282 / HR = 0.511905 |
| Metric definition hash | 8be2bd2f691deed0 (sha256 상위 16 hex, v2 기준) |
| Apt_max_load (smoke용 1가구) | Apt88 (5/5 peak-load metric 1위, critic M2 민감도 검증 통과) |
| 7-metric fail-fast threshold | Option B — val ratio > 1.5 + train > 3.0 (static) |
Design spec 반영 위치: §2.2 (metric 정의 + golden tensor), §2.3 (통계 방법), §2.4 (fail-fast).
근거 수치 (v6 n=22 converged back-test):
- final_val_loss / initial_val_loss 분포: p50 = 0.929, p95 = 1.001, max = 1.001
- final_train_loss 분포 (n=3): max = 0.541 → static 3.0 ceiling (~5.5배 margin)
v6 Historical 근거 산출물¶
outputs/v7_stage0/v6_loss_distribution.csv— 14개 v6 experiment에서 추출한 loss 통계outputs/v7_stage0/stage0_summary.json— Stage 0 결정 기록outputs/v7_stage0/golden_tensors/— G3/G4/G5의y_true.npy/y_pred.npyfreeze 산출
2.2 v7 Runner Scaffolding + 학습 루프 + MLflow 로깅¶
- 신규 entry point:
experiments/federated/v7_runner.py(~77KB 단일 파일) - CLI:
--mode={smoke,main}/--phase={baseline,ablation,vq_improvement}/--cells/--seeds/--households - CELL_REGISTRY 12종: B0, B1, B2, B3, B4 / A1, A2, A3, A4 / V1, V2, V3
- Gate 1 hash assertion 활성 (fail-fast 실제 체크, dry-run 아님)
- 공용 모듈:
src/peak_analysis/v7/metrics.py— PAPE_v7 / HR_v7 /definition_hash()단일 소스 - MLflow 로깅 (의무 6종 모두 이행):
- per-epoch / per-round train_loss, val_loss
- best checkpoint artifact
- test
y_true.npy+y_pred.npyartifact - 가구별 + avg PAPE, HR, MSE, MAE
- 7-metric fail-fast 지표
- config 전체 (
pape_definition_hash,scaler_space_signature포함)
2.3 Stage 0.5 Smoke Infrastructure (2 cycles)¶
Cycle 1 → critic CRITICAL 5건 → Cycle 2 (v2)¶
- Expert v1:
report/version7/exp-expert/v7_stage05_gate_criteria.md(gate criteria) - Engineer contract v1:
report/version7/exp-expert/v7_stage05_engineer_contract.md - Critic review:
report/version7/exp-critic/v7_stage05_smoke_infra_review.md - Expert v2:
report/version7/exp-expert/v7_stage05_smoke_infra_v2.md
Critic CRITICAL 5건 해소 결과¶
| # | 이슈 | 해소 |
|---|---|---|
| 1 | Gate key alias 불일치 (G1~G6 vs gate_1~gate_6) | 단일 명명으로 통일 |
| 2 | Gate 2 / Gate 6 FAIL 시 정책 불명확 | 자동 engineer 호출 + 사용자 알림 (Q2 정책) |
| 3 | PASS path unit tests 부재 | tests/test_v7_stage05_* 작성 |
| 4 | dead arg 잔존 | 제거 후 CLI 표면 최소화 |
| 5 | v6 N=1 참조를 variance 기준으로 차용 경고 | report/version6/exp-expert/v6_baseline_reference.md에 사용 경고 명시 (Gate 판정에 사용 금지) |
2.4 Stage 0.5 Smoke 9 runs 실행 + 6-Gate 평가¶
- 실행 명령 (설계값):
v7_runner.py --mode=smoke --households=Apt6,Apt_max --cells=B0,B2,A3 --seeds=42,43,123 - 실제 실행: 9 runs (3 cells × 3 seeds, 단일 household 경로 per run)
- MLflow experiment:
v7-peak-aware-fl - 평가 스크립트:
experiments/federated/v7_stage05_smoke_analysis.py - 평가 산출물:
outputs/v7_stage05/smoke_report_20260420_021905.md— 최신 verdict 보고서outputs/v7_stage05/smoke_verdict_20260420_021905.json— 기계 판독 JSONoutputs/v7_stage05/figures/smoke_{pape,hr,mse}_avg_20260420_021905.png— Gate 4 검증 대상
2.5 Gate 5 Redesign (2 cycles)¶
- Expert v1:
report/version7/exp-expert/v7_stage05_gate5_redesign_v2.md - Critic review:
report/version7/exp-critic/v7_stage05_gate5_threshold_review.md - Engineer contract:
report/version7/exp-expert/v7_stage05_gate5_engineer_contract.md - v6 back-test 산출:
outputs/v7_stage05/v6_gate5_backtest.{json,csv}(n=22, MIN_STEPS ≥ 10) - Preview 산출 (신 metric을 smoke 9 run에 적용):
outputs/v7_stage05/smoke_gate5_preview.json
3. 기술 산출물 Inventory¶
3.1 신규 모듈 / 스크립트¶
| 경로 | 역할 |
|---|---|
src/peak_analysis/v7/metrics.py |
PAPE_v7 / HR_v7 / definition_hash 단일 소스 |
experiments/federated/v7_runner.py |
단일 entry point (~77KB, smoke ↔ main 코드 경로 공유) |
experiments/federated/v7_0419_stage0_preregistration.py |
Stage 0 재현 스크립트 (definition_hash 산출 포함) |
experiments/federated/v7_stage05_smoke_analysis.py |
6-Gate 자동 평가 + verdict/report 생성 |
3.2 테스트 현황 (155+ tests)¶
| 범주 | 대략 규모 |
|---|---|
v7_runner (CLI / registry / dispatch) |
57 tests |
| v7 training 경로 | 53 tests |
| Stage 0 재현 | 26 tests |
| Stage 0.5 smoke analysis | 19 tests |
| MLflow params 계약 | ~22 tests |
3.3 보고서 목록¶
Expert
- report/version7/exp-expert/v7_0419_process_redesign_with_smoke_test.md
- report/version7/exp-expert/v7_0419_stage0_preregistration.md (v1)
- report/version7/exp-expert/v7_0419_stage0_preregistration_v2.md
- report/version7/exp-expert/v7_stage05_gate_criteria.md
- report/version7/exp-expert/v7_stage05_smoke_infra_v2.md
- report/version7/exp-expert/v7_stage05_gate5_redesign_v2.md
- report/version6/exp-expert/v6_baseline_reference.md (N=1 사용 경고 포함)
Critic
- report/version7/exp-critic/v7_0419_stage0_preregistration_review.md
- report/version7/exp-critic/v7_stage05_smoke_infra_review.md
- report/version7/exp-critic/v7_stage05_gate5_threshold_review.md
Engineer contract
- report/version7/exp-expert/v7_stage05_engineer_contract.md
- report/version7/exp-expert/v7_stage05_gate5_engineer_contract.md
3.4 MLflow¶
| Experiment | 용도 | Runs |
|---|---|---|
v7-stage0-preregistration |
Stage 0 v3 산출 (golden tensor freeze + hash) | 1 |
v7-peak-aware-fl |
Stage 0.5 smoke (9 runs, 이후 Stage 1~4 공용) | 9 |
3.5 Smoke 9 runs — run_id 및 라벨¶
| Run | Cell | Seed | run_id (full) |
|---|---|---|---|
| 1 | B0 | 42 | 4c013601955b4240ab8d02b1fa442048 |
| 2 | B0 | 43 | 88b6fdba0e6545f78d892d401504020f |
| 3 | B0 | 123 | 9ce63bc1909f402a901b3b97743b7104 |
| 4 | B2 | 42 | 87716252c99342df9f73763f78116ecc |
| 5 | B2 | 43 | 4b324359c16b41fab909f672d33c813a |
| 6 | B2 | 123 | 70d3176828514ff58b6dcdca125f5c86 |
| 7 | A3 | 42 | e2c2c5137a32436f9be80c113995ad41 |
| 8 | A3 | 43 | 7d2c8fdd952b46068fb4a0ea27aa4b6c |
| 9 | A3 | 123 | 07764d6e45844166af639b071e50efe3 |
4. Stage 0.5 6-Gate 결과 Matrix¶
outputs/v7_stage05/smoke_verdict_20260420_021905.json 기반. 6 Gate 중 Gate 5만 FAIL. 전체 verdict = FAIL (FAIL 1건이라도 있으면 HOLD 정책).
| Gate | B0-s42 | B0-s43 | B0-s123 | B2-s42 | B2-s43 | B2-s123 | A3-s42 | A3-s43 | A3-s123 | 결과 |
|---|---|---|---|---|---|---|---|---|---|---|
| G1 (definition_hash + golden tensors) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| G2 (scaler space, VQ cell만) | n/a | n/a | n/a | n/a | n/a | n/a | PASS | PASS | PASS | PASS |
| G3 (MLflow artifact 완전성) | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS | PASS |
| G4 (figure run_id 쿼리 + PNG EXIF) | — | — | — | — | — | — | — | — | — | PASS (3 figure) |
| G5 (legacy 임계 기준) | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL | FAIL |
| G6 (paired 동일 split data hash) | PASS | PASS | PASS | — | — | — | — | — | — | PASS |
Gate 세부¶
- G1: 9/9 run 모두
definition_hash = 8be2bd2f691deed0일치 + G1~G5 golden tensor expected 값 모두 match. - G2: 공통 signature =
752452383a98bc03, unit =standardized(VQ cell인 A3에서만 해당). - G3: 9/9 run이
best.ckpt / y_true.npy / y_pred.npy / per-epoch loss / 7-metric을 artifact로 완비. - G4: smoke_pape_avg / smoke_hr_avg / smoke_mse_avg 3종 PNG 모두
mlflow.search_runs()query 기반 생성 + run_id EXIF 임베드 확인. - G5 (legacy ratio):
moving/initialratio 범위 0.975 ~ 1.014로, 9/9 run 모두 legacy 임계 0.6 기준 FAIL. 이 임계 자체가 v6 실제 분포와 모순되는 작동 불가능한 임계였음 → 재설계 완료 (§5.1). - G6: seed별 (42/43/123) 3개 cell이 동일 train/val/test data hash 공유 확인 (
train=a00f61e9f82e96a2,val=d454d3e3f2f7eb4d,test=de5cf8b0379cc074).
5. 주요 발견 (심화)¶
5.1 발견 1 — Gate 5 metric 결함 규명과 재설계¶
원설계의 문제 (legacy)¶
- 식:
final_val_loss_moving_avg(last 3) / initial_val_loss_moving_avg(first 3) < 0.5 - 해석: 초기 대비 val loss가 절반 이하로 줄어야 수렴 인정.
- v6 back-test (
outputs/v7_stage05/v6_gate5_backtest.json, n=22 converged runs, MIN_STEPS ≥ 10): legacy_ratio_moving_over_initial분포: p05 = 0.911, p50 = 0.965, p95 = 0.999, max = 1.000- legacy PASS count = 0 / WARNING = 0 / FAIL = 22 → false-positive rate = 1.0
- 결론: v6의 정상 수렴 run조차 단 하나도 통과하지 못하는 작동 불가능한 임계.
신 metric (v3, critic 반영)¶
- 식:
rel_decrease = (mean(val_loss[:3]) − mean(val_loss[-3:])) / mean(val_loss[:3]) - 전제:
len(val_loss) ≥ 6, block_size = 3 (smoke 최소 10 round에서 안정) - 3-tier cutoffs (v6 percentile 기반):
- PASS:
rel_decrease ≥ 0.0017(v6 P10, PASS rate = 86.4%) - WARNING:
0.0 ≤ rel_decrease < 0.0017(v6 P05 ~ P10 borderline) - FAIL:
rel_decrease < 0.0(net increase — 수렴 방향 반대) - v6 back-test 결과 (신 metric): PASS 19 / WARNING 1 / FAIL 2, TPR(PASS or WARN) = 90.9%
- 반영 위치: design spec §3 Gate 5 + §2.4 line 116 (§2.4 val-divergence와 Gate 5 상호 보완 관계 명시)
Smoke 9 run 신 metric preview (smoke_gate5_preview.json)¶
| Cell-Seed | rel_decrease | 신 metric verdict | legacy ratio |
|---|---|---|---|
| B0-s42 | 0.030072 | PASS | 0.978628 |
| B0-s43 | 0.029720 | PASS | 0.975406 |
| B0-s123 | 0.018253 | PASS | 0.985070 |
| B2-s42 | 0.001212 | WARNING | 1.000351 |
| B2-s43 | 0.009746 | PASS | 0.995218 |
| B2-s123 | 0.005041 | PASS | 0.996454 |
| A3-s42 | −0.018681 | FAIL | 1.014198 |
| A3-s43 | −0.013291 | FAIL | 1.011567 |
| A3-s123 | −0.013578 | FAIL | 1.010581 |
- Tally: PASS 5 / WARNING 1 / FAIL 3 / ERROR 0
- Stage 1 권고: HOLD (A3 cell이 3/3 FAIL)
5.2 발견 2 — A3 "full proposed" cell val_loss 발산¶
Cell별 학습 경로 요약 (smoke 9 run)¶
| Cell | 구성 | rel_decrease 범위 | val_loss 경향 | final_val_loss 범위 |
|---|---|---|---|---|
| B0 | Local DLinear | +1.8% ~ +3.0% | 단조 감소 | 0.35 (3 seed 공통 수렴대) |
| B2 | FedProx (μ=0.01) + DLinear | +0.1% ~ +1.0% | 완만 감소 | 0.34 (3 seed 공통 수렴대) |
| A3 | peak-weighted loss + shared VQ codebook + DLinear residual (full proposed) | −1.3% ~ −1.9% | 단조 증가 | 0.62 ~ 0.67 (B0 대비 ~2배) |
A3 val_loss 시계열 (10 point 기준, preview JSON에서 추출)¶
- A3-s42 (run
e2c2c513): 0.6483 → 0.6310 → 0.6406 → 0.6422 → 0.6483 → 0.6469 → 0.6467 → 0.6567 → 0.6508 → 0.6483 - A3-s43 (run
7d2c8fdd): 0.6635 → 0.6664 → 0.6599 → 0.6543 → 0.6627 → 0.6653 → 0.6678 → 0.6712 → 0.6707 → 0.6744 - A3-s123 (run
07764d6e): 0.6070 → 0.6112 → 0.6169 → 0.6151 → 0.6184 → 0.6211 → 0.6147 → 0.6201 → 0.6175 → 0.6224
원인 후보 (시점별 우선순위)¶
- peak_alpha = 2.0 scale 과대: peak-weighted SmoothL1의 peak-time 가중이 전체 grad 크기를 키워 최적화 불안정.
- VQ codebook 초기화 / gradient flow: codebook commitment loss가 DLinear residual 경로와 gradient 충돌.
- DLinear residual gradient 충돌: dual-path 합산이 학습 초반 residual을 키워 val에서 악화.
검증 방법 (후속 Task #12)¶
- A1 smoke (peak-weighted loss only, VQ/Residual 제거): 발산 여부 → peak_alpha 배제/확정.
- A2 smoke (SmoothL1 + VQ + DLinear, peak-weighted 제거): 발산 여부 → VQ+Residual 조합 검증.
- A4 smoke (peak-weighted + VQ, DLinear residual 제거): 발산 여부 → residual 경로 검증.
- 3개 ablation의 비교로 single-factor attribution이 이론상 가능 (A3만 발산 vs 일부 ablation도 발산).
6. Claim 영향 분석 (C1 ~ C7)¶
초록(2026-04-19 수정판) 기준, A3 발산이 지속될 경우의 영향.
| # | Claim | 통과 기준 | A3 발산 시 위협도 | Rollback 문구 |
|---|---|---|---|---|
| C1 | FL + privacy motivation | 서술 | 없음 | — |
| C2 | peak-weighted loss 효과 (A1 vs A0) | Wilcoxon p<0.05 | 원인 = peak_alpha이면 위협 | "asymmetrically weighted" |
| C3 | VQ codebook 기여 (A3 vs A1) | Bootstrap 95% CI 하한 > 0 | 원인 = VQ init이면 위협 | "(ii)" 구절 재구성 |
| C4 | DLinear residual 기여 (A3 vs A4) | Wilcoxon p<0.05 | 원인 = residual이면 위협 | "local adaptation head" |
| C5 | best across baselines (A3 vs B0~B4) | Wilcoxon + Bonferroni 다수 PASS | 현재 성립 불가 (A3 loss > B0, B2) | "competitive peak accuracy" |
| C6 | PAPE 9.8% reduction vs local-only | (B0−A3)/B0 CI 하한 > 5% | A3 fix 없이 산출 불가 | 실측 CI median %로 교체 |
| C7 | light-weight surpasses TSFM | Chronos + TimeMoE zero-shot 비교 | A3 fix와 무관하게 진행 가능 | 비교 유지 + param 비율 명기 |
결론: C2 ~ C6 모두 A3 정상 수렴이 전제. A3 발산 원인 규명 → 수정 → Stage 1 재smoke가 필요 경로. C7만 독립적으로 선행 가능하지만 발표 자료 일관성 측면에서 A3 fix 후 수행 권장.
7. Workload 재추정¶
| 항목 | 초기 추정 (design §7) | 재추정 (2026-04-20) |
|---|---|---|
| Stage 0 사전 등록 | 0.5h | 0.5h (완료, 실제 2 cycle 소요) |
| Stage 0.5 smoke | 2h | ≈2h (1차 완료, 재smoke 필요) |
| Stage 1 baseline (25 runs, 병렬) | 3h | 3h |
| Stage 2 ablation (20 runs) | 7h | 7h |
| Stage 4 VQ 개선 (15 runs) | 5.5h | 5.5h |
| Stage 5 통계 + Stage 6 TSFM + 발표자료 | 12h | 12h |
| 재smoke buffer | +2 ~ 4h | +2 ~ 4h |
| A3 발산 진단 + 수정 + 재smoke (신규) | — | +4 ~ 8h |
| Gate 5 rel_decrease 코드 이식 (신규) | — | +0.5 ~ 1h |
| 총 | 32 ~ 34h (≈ D+3~4) | 36.5 ~ 42.5h (≈ D+4~5) |
발표 자료 마감 여유 재확인 필요 (현 추정은 +4 ~ 8h slip). A3 원인이 peak_alpha 단일 scalar 조정으로 해결되는 경우 범위 하단, 구조적 수정이 필요한 경우 범위 상단.
8. 다음 단계 (병렬 dispatch 중)¶
| Task # | 주체 | 내용 | 상태 |
|---|---|---|---|
| #11 | engineer | Gate 5 rel_decrease 코드 이식 (v7_stage05_smoke_analysis.py) + 3-tier verdict 구현 + 단위 테스트 |
진행 중 |
| #12 | exp-expert | A3 발산 진단 — A1/A2/A4 ablation smoke (각 3 seed) + 원인 single-factor attribution | 진행 중 |
| #5 | — | Stage 1 진입 | HOLD (#11/#12 완료 + A3 수정 재smoke 통과 후) |
| #13~ | 순차 | Stage 2 (20 runs) → Stage 4 (15 runs) → Stage 5 통계 → Stage 6 TSFM → 발표 자료 | 대기 |
Stage 1 진입 차단 요인 (재확인)¶
- Gate 5 신 metric이 코드 경로에 반영되어야 함 (smoke_analysis.py + 단위 테스트 통과).
- A3 cell이 정상 수렴해야 함 — 원인 규명 후 수정 반영한 재smoke에서 Gate 5 PASS.
- 재smoke에서 모든 6-Gate 재통과.
위 3조건 동시 만족 전에는 Stage 1 (25 runs × baselines) 실행 금지 (자원 낭비 + 기준 없는 비교 위험).
9. 재현 참조 (독자가 직접 확인 가능한 경로)¶
- Stage 0 pre-registration 재실행:
uv run python -m experiments.federated.v7_0419_stage0_preregistration - Smoke 실행:
uv run python -m experiments.federated.v7_runner --mode=smoke --households=Apt6,Apt88 --cells=B0,B2,A3 --seeds=42,43,123 - 6-Gate 재평가:
uv run python -m experiments.federated.v7_stage05_smoke_analysis - v6 Gate 5 back-test:
outputs/v7_stage05/v6_gate5_backtest.py
MLflow 조회:
핵심 숫자 재산출에 필요한 파일:
- outputs/v7_stage05/smoke_verdict_20260420_021905.json
- outputs/v7_stage05/smoke_gate5_preview.json
- outputs/v7_stage05/v6_gate5_backtest.json
- outputs/v7_stage0/stage0_summary.json
10. 위험 / 의사결정 요약¶
| 위험 / 결정 | 현 상태 |
|---|---|
| Gate 5 legacy 임계가 실제 분포와 모순 | 해소 설계 완료, 코드 이식 대기 (#11) |
| A3 발산 → 초록 핵심 claim 위협 | 원인 진단 중 (#12). 진단 후 수정 + 재smoke 필수 |
| Workload +4 ~ 8h slip | 발표 자료 마감 재검토 필요 |
| Q2 정책 (Gate FAIL 시 자동 engineer 호출) | 이번 Gate 5 FAIL에서 실제 발동 — policy 검증됨 |
| v6 N=1 참조 남용 위험 | v6_baseline_reference.md에 사용 경고 삽입, Gate 판정에 사용 금지 (critic 반영) |
보고자: Peak Analysis Research Team (reporter 역할) 상태: draft — Gate 5 코드 이식 (#11) + A3 진단 (#12) 완료 후 final로 전환 예정