JP모건 외사 수집 목록 50건 고정 한계 — IG 리포트 누락 진단과 방지 설계안
JP모건 수집 목록 50건 고정 한계 — IG 리포트 누락 진단과 방지 설계안
선행 문서: [[260926_hermes_weekly-credit-input-coverage]] (48·59행 JP모건 항목)
원 로그: hermes-research-sales-engine/runs/2026092{1..5}/jpmorgan/discovery.jsonl (각 50줄), 같은 폴더 listing-*.json, discovery-summary.json
조회: 2026-09-26 00:24~00:28 KST
결론 (한 줄)
9/21~9/25 JP모건 신규 0건은 필터가 IG 리포트를 막은 것이 아니라, IG 리포트가 애초에 목록에 안 떴기 때문이다. JP모건 홈 피드는 발행 순 전체 목록이 아니라 계정 맞춤형 50건 묶음이며, 크레딧 데스크 간행물(High Grade Weekly Spotlight 등)은 지난 43회 실행 중 8/27 05:57 단 1회만 노출됐다. 즉 "신규 없음"으로 보이는 날에도 IG 리포트가 조용히 빠지고 있을 가능성이 높다(이번 주 실제 누락 건수는 포털 직접 확인 전까지 미확인).
1. 9/21~9/25 목록 50건 분해
| 실행일 | 실행 시각 | 목록 | 포함(전부 중복) | 신규 저장 | 주제 제외 | 목록 발행일 범위 | 전일 대비 새로 뜬 문서 |
|---|---|---|---|---|---|---|---|
| 9/21(월) | 05:56 | 50 | 24 | 0 | 26 | 08-07 ~ 09-19 | — |
| 9/22(화) | 06:01 | 50 | 23 | 0 | 27 | 08-07 ~ 09-21 | 1건 (Equity Strategy 9/21) |
| 9/23(수) | 05:59 | 50 | 23 | 0 | 27 | 08-07 ~ 09-21 | 0건 (9/22와 목록 완전 동일) |
| 9/24(목) | 05:57 | 50 | 23 | 0 | 27 | 08-07 ~ 09-21 | 0건 (9/22와 목록 완전 동일) |
| 9/25(금) | 05:58 | 50 | 21 | 0 | 29 | 08-10 ~ 09-24 | 2건 (Oil Markets Weekly 9/24, Flows & Liquidity 9/23) |
| 합계 | 250 | 114 | 0 | 136 | 5일간 새 문서 3건 |
판단: 5일 동안 목록에 새로 올라온 문서는 3건뿐이고 셋 다 주식·원유·자금흐름이다. 목록 50건이 약 6주치(8/7~9/24)를 덮고 있다는 건, JP모건 전체 발간량(하루 수십 건)에 비해 이 피드가 극히 일부만 보여준다는 뜻이다.
주제 제외된 제목 (9/25 기준 29건, 9/21~24도 같은 제목군)
| 제외 사유 | 제목 (발행일) | 건수 |
|---|---|---|
| 주식 | Equity Strategy (9/21, 9/14, 9/7, 9/1, 8/17, 8/10), Global Equity Strategy (9/14), US Equity Strategy (8/10) | 8 |
| 구조화·모기지 | Securitized Products Weekly (9/18, 9/11, 8/28, 8/21) | 4 |
| 환율 단독 | FX Markets Weekly (9/18, 9/4, 8/21), Key Currency Views (9/11, 8/14) | 5 |
| 원유 | Oil Markets Weekly (9/24, 9/17, 9/9), Oil Flash Note (9/18) | 4 |
| 미국 IG·금리 연결 미확인 | Flows & Liquidity (9/23, 9/16, 9/9, 9/3, 8/20), J.P. Morgan Perspectives (9/8, 8/12), Emerging Markets Outlook and Strategy (9/9) | 8 |
제외 사유는 전부 제목상 타당하다. 경계 사례는 Flows & Liquidity 1종뿐이다 — 이 간행물은 자금 흐름 전반을 다루며 가끔 미국 IG 펀드 유입·해외수요를 포함한다(목록상 자산군 FixedIncome·Commodity·Currency·Equity 혼합). 필터 문제라기보다 원문 확인 후 판정할 사안이다.
포함(중복) 처리된 제목 — 크레딧/금리 계열
Credit Market Outlook & Strategy (9/18, 9/11, 8/28, 8/21), U.S. Fixed Income Markets Weekly (9/19, 9/12, 8/29, 8/22), Global Fixed Income Markets Weekly (9/18, 9/11, 8/21), US Weekly Prospects, The J.P. Morgan View — 전부 이미 저장된 것(중복). 9/19 이후 발행된 크레딧 간행물은 목록에 0건. Credit Market Outlook & Strategy는 매주 금요일 발행인데 9/25(금) 05:58 실행 시점엔 미국 금요일분이 아직 나오기 전이라 정상이다. 따라서 이번 주 공백 자체의 1차 원인은 "주간지 주기 + 목록 미노출" 두 가지가 겹친 것이다.
2. 필터가 막았나, 목록에 없었나 — 구분 결과
판정: 목록에 없었다(노출 문제). 필터는 막지 않았다.
근거 3가지:
- 9/21~25 목록 250행에 IG 전용 간행물 제목이 0건. "High Grade", "HG Credit", "Corporates", "European Credit" 등 크레딧 데스크 제목이 한 번도 없다. 크레딧 제목은 이미 포함 처리된 Credit Market Outlook & Strategy 한 종류뿐이다.
- 크레딧 데스크 간행물은 존재하고, 우리 계정으로 열리며, 필터도 통과한다. 8/27 05:57 실행에서만 목록이 평소와 다르게 13건이 바뀌어 떴고, 그중 10건이 크레딧 데스크 간행물이었다: High Grade Weekly Spotlight(8/20), HG Credit Foreign Demand Monitor(8/17), European Credit Weekly(8/21·8/14), High Yield Weekly Spotlight, High Yield Talking Points, LATAM Corporates Daily ×2, CNH Credit Markets, Bits Broadcasts & Bandwidth. 이 중 IG 관련 4건은 필터를 통과해 실제 저장됐다(
runs/20260827/jpmorgan/portal-latest.untitled.jsonsaved 5건, 원문raw/jpmorgan/20260820/..._high-grade-weekly-spotlight,raw/jpmorgan/20260817/..._hg-credit-foreign-demand-monitor). 같은 날 18:47 재실행에선 이 13건이 모두 사라졌다(공통 37건). - 8/13~9/25 전체 43회 실행 누적 기준, 위 10개 크레딧 데스크 제목은 처음이자 마지막 노출이 모두 8/27이다. 반면 주간 매크로·주식 제목 18종은 8/13부터 9/25까지 매번 뜬다. 즉 홈 피드는 발행 순 전체 목록이 아니라 고정된 관심 시리즈 위주의 맞춤 목록이다.
추가 관찰:
- 9/21~25 메일 경로(broker-mail)도 JP모건 보충 0건: 발견 1·1·2·6·6건, 저장 0건, 외사별 0(by_broker: {}). 수동 보충 경로가 사실상 없다.
- 수집 상태 점검 문구(check_source_health.py 70행)는 JP모건을 "최신 5건 목록만 확인"으로 안내하는데 실제는 50건이다. 사람이 볼 때 한계를 오해하게 만든다.
- 수집 요약의 capability_status: unsupported는 "과거분 소급 불가"만 말하고, "시리즈 누락 가능"은 드러내지 않는다. 그래서 매일 ok로 찍힌다(조용한 누락).
미확인: 8/27 05:57에 목록 구성이 바뀐 이유(포털 개인화 설정 변경, 일시적 추천 로직, 특정 페이지 방문 이력 등). 포털 쪽 크레딧 전용 목록 주소도 아직 실측하지 않았다.
3. 누락 방지 설계안 (코드 작성은 codex 위임, 여기선 변경 지점만)
1순위 — 크레딧 데스크 전용 목록 채널 추가
- 무엇: 홈 피드와 별도로 JP모건 포털의 크레딧 리서치 목록(시리즈·검색·상품군 필터 화면)을 두 번째 목록으로 읽는다. 대상 시리즈: High Grade Weekly Spotlight, HG Credit Foreign Demand Monitor, US High Grade 데일리류, Credit Market Outlook & Strategy.
- 선행 작업(코드 전): 살아있는 JP모건 브라우저 세션(9236)에서 크레딧 목록 화면을 열고 실제로 불리는 목록 주소와 응답 형태를 기록한다. 이 주소가 확인되기 전에는 코드 착수 금지.
- 변경 지점:
scripts/collect_jpmorgan_archive.py(두 번째 목록 채널, 발견 기록의 목록 구분값 분리),scripts/discovery_log.py(채널별 집계·소급 가능 여부 표기),scripts/report_routing.py(JP모건 분기의 포함 목록에 High Grade/HG Credit 시리즈를 명시 — 지금은 일반 규칙에 기대 통과 중),scripts/check_source_health.py(안내 문구 정정). - 기대효과: 8/27 1회 노출 기준 크레딧 데스크 IG 관련 간행물이 한 번에 4건 저장됐다. 주 1회 이상 노출되면 JP모건 주간 IG 입력이 현재 주 1종(Credit Market Outlook)에서 3~4종으로 늘어난다.
2순위 — 기대 시리즈 감시(조용한 누락을 경고로 바꾸기)
- 무엇: JP모건 IG 핵심 시리즈별 발행 주기(예: Credit Market Outlook & Strategy 매주 금, High Grade Weekly Spotlight 매주)를 목록으로 두고, 주기+2일 동안 목록에 안 뜨면 수집 결과를
ok가 아니라 "목록 미노출 경고"로 올린다. - 변경 지점: 새 설정 파일(
data/jpmorgan_expected_series.json),scripts/check_source_health.py(경고 판정),scripts/collect_daily_archive.py(요약 상태 반영). - 기대효과: 이번 주 같은 "5일 0건인데 전부 ok" 상태가 월요일 기준 늦어도 수요일에 드러난다. 1순위가 막혀도 즉시 적용 가능하다.
3순위 — 수동 보충 경로 (메일 알림 + 드롭 폴더)
- 무엇: (a) JP모건 포털에서 크레딧 시리즈 메일 알림을 수집용 지메일로 구독하고 기존 메일 수집기로 받는다 — 수집기에 JP모건 인식 규칙은 이미 있으나 9/21~25 실적 0건. (b) 해리가 받은 JP모건 PDF를 정해진 폴더에 넣으면 원문 저장소로 흡수한다.
- 변경 지점:
scripts/collect_broker_mail_archive.py(JP모건 알림 메일 제목·본문 링크 처리),scripts/ingest_existing_reports.py(드롭 폴더 → 원문 저장소 흡수). - 기대효과: 포털 목록 구조와 무관한 백업선. 메일 구독은 해리 계정 설정이 필요하므로 해리 확인 후 진행.
4. 리스크
- 단일 장애점: JP모건 수집은 목록 1개(홈 피드)에 100% 의존한다. 목록 구성이 바뀌면 누락이 경고 없이 일어난다(8/27 사례가 그 반대 방향 증거).
- 1순위는 포털 내부 주소에 의존하므로 포털 개편 시 깨질 수 있다 — 2순위 감시가 같이 있어야 깨졌을 때 드러난다.
- 크레딧 목록을 넓히면 HY·LATAM·CNH·유럽 크레딧이 같이 들어온다 — 기존 필터가 8/27에 이를 제외했으므로 필터 보강은 소폭이면 된다.
5. 검증 방법
- 1순위 적용 후: 다음 5영업일 발견 기록에 두 번째 목록 채널 행이 매일 있고, High Grade/HG Credit 제목이 주 1건 이상 저장되면 성공. 0건이면 목록 주소 재실측.
- 2순위 적용 후: 기대 시리즈 목록에서 한 시리즈를 일부러 주기 초과 상태로 시험 판정해 경고가 뜨는지 확인. 경고가 매일 과다(주 3회 이상 오탐)면 주기값 조정.
- 공통 확인 명령:
python3 -c "import json;rows=[json.loads(l) for l in open('runs/<날짜>/jpmorgan/discovery.jsonl')];print(len(rows),{r['listing_channel'] for r in rows})" - 롤백 조건: 두 번째 채널 추가로 수집 시간이 2배 넘게 늘거나 로그인 오류가 새로 생기면 채널 비활성화 후 홈 피드 단독으로 복귀.