# [test-only] PR-E1 — reference_id 필터 보안불변식 명시 테스트 2건

## allowed_resources
```yaml
allowed_resources:
  paths:
    - "server/tests/test_consultation_history_v1.py"
  forbidden_paths:
    - "server/routes/**"
    - "server/main.py"
    - "src/**"
    - "extension/**"
    - ".github/**"
  commands:
    - "pytest"
    - "python"
    - "git"
  merge_policy: "none"
  ttl_hours: 4
```
> ★ **소스 변경 절대 0 — 테스트 파일만.** 브랜치 **`task/task-2840-dev1`**(PR #121)에 이어서 커밋(새 PR 금지).

## 배경 (Codex 검토 — test 갭)
`GET /api/insuro/consultation-history/v1` 의 `reference_id` 옵션 필터는 코드상 CORRECT·per-FA SAFE·malformed FAIL-CLOSED 확인됨. Codex 미결 = **보안 불변식이 reference_id 필터와 함께 유지되는지 명시 테스트 2건 부재**:
1. **교차-FA reference_id → 0행**: FA-A 가 (FA-B 소유) reference_id 로 LIST 조회 시 **0건** 반환(타 FA 레코드 노출 0). 현재 reference_id 有 상태의 이 격리 케이스가 명시 테스트에 없음.
2. **reference_id 일치 + REQUIRES_REVIEW 제외**: 같은 reference_id 의 레코드 중 record_status='REQUIRES_REVIEW' 는 **필터 일치해도 결과에서 제외**(OK_ONLY_VIEW 유지). 현재 reference_id 有 상태의 ok-only 케이스가 명시 테스트에 없음.

## 작업 (test-only — 소스 손대지 마라)
`server/tests/test_consultation_history_v1.py` 에 기존 LIST 테스트 하네스/mock 패턴 그대로 재사용해 2건 추가:
1. `test_list_reference_id_cross_fa_returns_zero` (또는 유사): reference_id 지정 + 그 reference_id 가 다른 FA 소유 → 응답 `records=[]`(0건). fa_account_id 스코프가 reference_id 필터와 함께 유지됨을 증명(mock 이 fa_account_id .eq 를 강제).
2. `test_list_reference_id_excludes_requires_review`: reference_id 일치하는 레코드셋에 REQUIRES_REVIEW 포함 → 응답에 **OK 만** (REQUIRES_REVIEW 0건). OK_ONLY_VIEW(뷰) 사용을 mock table 이름 기록으로 확인(raw 테이블 직접 접근 0).
- 기존 malformed·필터·per-FA 테스트 스타일 그대로. 새 헬퍼 최소화.

## 검증
- 신규 2건 PASS. 기존 65건 회귀 0 → **67 passed**. `pytest server/tests/test_consultation_history_v1.py -q`.
- 두 테스트가 실제로 격리/ok-only 를 강제하는지(mock 이 fa_account_id .eq 및 OK_ONLY_VIEW 사용을 관측) — 단순 통과가 아니라 불변식 관측.

## 완료
- `server/tests/test_consultation_history_v1.py` 외 변경 0 (`git diff --stat` — routes/ 등장 시 실패).
- **dev6 금지** — dev1. worktree finish → push(PR #121 반영·새 PR 금지) → ANU 독립검증. **머지 금지**.
- **ANU callback**(UTF-8 ≤3900 bytes, envelope). ⚠️ 세션 사망 대비: 완료 즉시 finish-task(push) 우선.
