{
  "version": "v0.2-phase2q-apply",
  "label": "phase_2q_apply_opt_in_smoke",
  "date": "2026-05-24",
  "plan": "pr-2q-apply-query-rewrite-1-bright-meadow.md",
  "main_head": "0257a5d (Rerank-Payload-Fix merge)",
  "rollout_policy": {
    "type": "opt-in",
    "default": "rewrite_backend=null (single-query path)",
    "explicit_opt_in": "?rewrite_backend=cand_multi_query_macmini",
    "observation_period_start": "2026-05-24",
    "observation_period_end": "2026-05-31",
    "default_on_decision": "1주 후 metric 정상 + negative feedback 0 시 PR-2Q-Apply-Default-ON-1 진입"
  },
  "selected_llm": {
    "slug": "cand_multi_query_macmini",
    "endpoint": "http://100.76.254.116:8801/v1/chat/completions",
    "model": "gemma-4-26b-a4b-it-8bit",
    "rationale": "4-factor weighted (decision md §4): F3 24/7 + F1 NDCG 0.927 + F4 cold latency 우세 + F2 standards/exam/korean 강점"
  },
  "smoke_test": {
    "query": "LPG 저장탱크 안전거리",
    "opt_in_path": {
      "request": "GET /api/search/?q=LPG+저장탱크+안전거리&mode=hybrid&limit=3&rewrite_backend=cand_multi_query_macmini",
      "http_status": 200,
      "total_ms": 957,
      "rewrite_ms": 0,
      "variant_retrieve_ms": 847,
      "rerank_ms": 109,
      "freshness_ms": 0,
      "fallback_413": 0,
      "note": "cache hit (rewrite_ms=0) — 이전 Rerank-Fix 측정 시 박제. reranker 정상 호출 (rerank_ms=109)."
    },
    "baseline_path_regression_verify": {
      "request": "GET /api/search/?q=LPG+저장탱크+안전거리&mode=hybrid&limit=3 (rewrite_backend 미지정)",
      "http_status": 200,
      "total_ms": 207,
      "text_ms": 42,
      "vector_ms": 146,
      "rerank_ms": 19,
      "fallback_413": 0,
      "note": "baseline single-query path 회귀 0 확정. invariant PASS."
    }
  },
  "observation_metrics_targets": {
    "rewrite_cache_hit_rate": "≥ 50% (1주차)",
    "llm_latency_warm_p50": "≤ 1500ms",
    "llm_latency_cold_p50": "≤ 3000ms",
    "503_per_day": "≤ 5",
    "recall_at_10_t3_production": "≥ 0.74",
    "user_negative_feedback": "0"
  },
  "follow_up_prs": [
    "PR-2Q-Apply-Telemetry-1 — [rewrite-dispatch] log → search_failure_logs / 별 telemetry 테이블 누적",
    "PR-2Q-Alert-1 — Prometheus + ntfy alert rule",
    "PR-2Q-Apply-Default-ON-1 — 1주 관찰 종료 후 default ON 결정",
    "PR-2Q-Cache-Prewarm — cache hit rate < 50% 시 nightly cron",
    "PR-2Q-Apply-Category-Analysis — standards -0.28 / exam -0.19 회귀 분석"
  ],
  "code_changes_summary": {
    "production_impact": "0 (opt-in path 이미 Phase 1B/2 + Rerank-Fix 부터 가동)",
    "files_changed": [
      "docs/phase_2q_apply_opt_in.md — 사용자 가시화 + 1주 관찰 metric + threshold + sequencing 박제 (신규)",
      "app/api/search.py — rewrite_backend query param description 갱신 (Apply 진입 박제, 동작 변경 0)",
      "tests/search_eval/baselines/v0_2_phase2q_apply_smoke_2026-05-24.json — 본 박제 (smoke 결과)"
    ]
  }
}
