주간 크레딧 요약본 입력 커버리지 (2026-09-21~09-25, 외사 9개 × 5일)
이 문서는 대체됨 → [[260926_ron_weekly-credit-input-coverage]]
주간 크레딧 요약본 입력 커버리지 (9/21~9/25)
대상 크론: job 5c45c26045be (일요일 09:00 주간 크레딧 요약본) 조회 시각: 2026-09-26 01:12:20 KST (대행: cowork, 원래 대상 ron)
결론
- 커버리지 27/45 = 60.0%
- 5일 내내 빠짐: jpmorgan, td-securities (0/5씩) — 일일 요약뿐 아니라 9/21~25 날짜 원문 파일 자체가 0건. 수집 단계 누락이다.
- 부분 누락: morgan-stanley(9/21·9/24·9/25 없음, 2/5), bofa(9/21·9/25 없음, 3/5), citi·hsbc·nomura(9/21 없음, 4/5)
- 완전: barclays, goldman-sachs (5/5)
실행 명령 (원문)
python3 -c "import os;b='/Users/ron/knowledge-agent/400-reports/외사 리서치';H=['barclays','goldman-sachs','jpmorgan','citi','hsbc','nomura','morgan-stanley','td-securities','bofa'];[print(d,[h for h in H if any(('_'+h+'_') in f for f in os.listdir(f'{b}/2026-09-{d}/00_외사별일일'))]) for d in range(21,26)]"
출력 원문 (exit code 0)
21 ['barclays', 'goldman-sachs']
22 ['barclays', 'goldman-sachs', 'citi', 'hsbc', 'nomura', 'morgan-stanley', 'bofa']
23 ['barclays', 'goldman-sachs', 'citi', 'hsbc', 'nomura', 'morgan-stanley', 'bofa']
24 ['barclays', 'goldman-sachs', 'citi', 'hsbc', 'nomura', 'bofa']
25 ['barclays', 'goldman-sachs', 'citi', 'hsbc', 'nomura']
날짜 × 외사 표 (00_외사별일일 기준)
| 외사 | 09-21 | 09-22 | 09-23 | 09-24 | 09-25 | 합계 |
|---|---|---|---|---|---|---|
| barclays | 있음 | 있음 | 있음 | 있음 | 있음 | 5/5 |
| goldman-sachs | 있음 | 있음 | 있음 | 있음 | 있음 | 5/5 |
| jpmorgan | 없음 | 없음 | 없음 | 없음 | 없음 | 0/5 |
| citi | 없음 | 있음 | 있음 | 있음 | 있음 | 4/5 |
| hsbc | 없음 | 있음 | 있음 | 있음 | 있음 | 4/5 |
| nomura | 없음 | 있음 | 있음 | 있음 | 있음 | 4/5 |
| morgan-stanley | 없음 | 있음 | 있음 | 없음 | 없음 | 2/5 |
| td-securities | 없음 | 없음 | 없음 | 없음 | 없음 | 0/5 |
| bofa | 없음 | 있음 | 있음 | 있음 | 없음 | 3/5 |
| 일별 합계 | 2/9 | 7/9 | 7/9 | 6/9 | 5/9 | 27/45 (60.0%) |
사전 실측(01:10 KST)과 대조
- jpmorgan·td-securities 5일 내내 0건 → 일치
- 9/21은 barclays·goldman-sachs 2곳만 → 일치
- 틀어진 곳 없음. 사전 실측에 없던 추가 발견: morgan-stanley 9/24·9/25, bofa 9/25도 비어 있음.
보조 확인 (00_리포트목록.md / 원문 파일)
- 00_리포트목록.md는 5일 모두 존재 (23,578~32,052 bytes). 단, 이 목록은 직전 며칠치를 누적해 링크하는 방식이라 jpmorgan·td-securities 줄은 전부 09-19/09-20 날짜 원문을 가리킨다(예: 2026-09-25 목록 21행
260919_jpmorgan_Credit Market Outlook & Strategy). 즉 목록에 이름이 나와도 이번 주 새 자료는 아니다. - 날짜 폴더 내 원문 파일(00_외사별일일 제외) 수: jpmorgan 0·0·0·0·0, td-securities 0·0·0·0·0, morgan-stanley 0·1·2·0·0, bofa 0·4·1·1·0 (9/21~25 순).
- 해석: jpmorgan·td-securities는 수집기 쪽 문제, morgan-stanley 9/24~25·bofa 9/25는 원문 자체가 없어서 일일 요약도 안 만들어진 것. 요약 생성 단계만의 누락은 아님.
크론 영향과 조치
- 이 상태로 일요일 크론이 돌면 요약본의 외사별 "다룬내용" 블록에서 jpmorgan·td-securities는 이번 주 내용 없이 나가거나 빠진다. 미국 IG 크레딧 핵심 두 곳이라 품질 손실이 크다.
- 1순위: jpmorgan·td-securities 수집기 9/21 이후 무수집 원인 확인(로그인 세션 만료 여부) 후 재수집 → 해당 날짜 외사별일일 재생성. 목표 45칸 중 37칸 이상(82%+).
- 2순위: morgan-stanley 9/24~25, bofa 9/25 원문 재수집 시도.
- 재검증: 위 python3 -c 명령 재실행 후 jpmorgan·td-securities가 목록에 나오는지 확인.
수집기 단계 원인
조회 시각: 2026-09-26 01:31 KST (대행: cowork, 원래 대상 ron). 아래 수치는 전부 파일에서 읽은 값이다. 출처 폴더: /Users/ron/knowledge-agent/400-reports/hermes-research-sales-engine/runs/ - 20260921/daily-collection-054517.json - 20260922/daily-collection-054541.json (같은 날 061515 재실행분은 bofa·goldman-sachs만 돌아 세 외사 기록 없음) - 20260923/daily-collection-054510.json - 20260924/daily-collection-054505.json - 20260925/daily-collection-054508.json - 20260925/jpmorgan/discovery-summary.json - 20260925/td-securities/portal-latest.untitled.json
| 외사 | 날짜 | status | discovered | eligible | saved | duplicates | failed | error |
|---|---|---|---|---|---|---|---|---|
| jpmorgan | 09-21 | ok | 50 | 24 | 0 | 24 | 0 | - |
| jpmorgan | 09-22 | ok | 50 | 23 | 0 | 23 | 0 | - |
| jpmorgan | 09-23 | ok | 50 | 23 | 0 | 23 | 0 | - |
| jpmorgan | 09-24 | ok | 50 | 23 | 0 | 23 | 0 | - |
| jpmorgan | 09-25 | ok | 50 | 21 | 0 | 21 | 0 | - |
| td-securities | 09-21 | ok | 9 | 9 | 0 | 9 | 0 | - |
| td-securities | 09-22 | ok | 9 | 9 | 0 | 9 | 0 | - |
| td-securities | 09-23 | ok | 9 | 9 | 0 | 9 | 0 | - |
| td-securities | 09-24 | ok | 8 | 8 | 0 | 8 | 0 | - |
| td-securities | 09-25 | failed | 0 | 0 | 0 | 0 | 0 | RuntimeError:td_auth_required (시도 2회) |
| morgan-stanley | 09-21 | ok | 71 | 7 | 0 | 1 | 0 | - (라우팅 제외 6) |
| morgan-stanley | 09-22 | partial | 72 | 6 | 1 | 1 | 1 | article_body_unavailable (라우팅 제외 3) |
| morgan-stanley | 09-23 | partial | 73 | 7 | 2 | 1 | 1 | article_body_unavailable (라우팅 제외 3) |
| morgan-stanley | 09-24 | partial | 73 | 8 | 0 | 3 | 1 | article_body_unavailable (라우팅 제외 4) |
| morgan-stanley | 09-25 | ok | 73 | 8 | 0 | 2 | 0 | - (라우팅 제외 6) |
원인 해석 - jpmorgan: 홈 리서치 피드 50건(9/25 discovery-summary: listing_channels home_research_feed 50)을 매일 똑같이 읽는데, 대상 21~24건이 전부 이미 받은 것(duplicates = eligible)이고 saved 0. 9/25 요약은 capability_status "unsupported", excluded_by_routing 29. 즉 로그인 문제가 아니라 피드가 새 글을 못 보여주는(최신 50건 창에 이번 주 글이 안 잡히는) 발견 단계 문제다. 오류 없이 ok로 끝나서 5일간 경보가 안 울렸다. - td-securities: 9/21~24는 8~9건 전부 중복(saved 0, 오류 없음)이라 새 글을 못 찾은 상태였고, 9/25는 로그인 만료(td_auth_required)로 목록 자체를 못 읽었다(portal-latest.untitled.json status failed, discovered 0). - morgan-stanley: 9/22~24 세 번 partial이며 매번 같은 글 1건(9747d036-b594-11f1-a440-99a719172027)이 article_body_unavailable로 실패. 저장은 9/22 1건·9/23 2건뿐이고 9/21·9/24·9/25는 saved 0(나머지는 중복 또는 라우팅 제외). 작업 지시의 "9/23~24 partial"과 달리 파일상 9/22도 partial이다.
판단: jpmorgan(피드 발견 로직)과 td-securities(로그인 재인증)는 일요일 09:00 주간 크레딧 크론(job 5c45c26045be) 전에 반드시 복구할 대상이다. morgan-stanley는 같은 1건 반복 실패라 불가 목록 처리만 하면 되는 2순위다.
담당 - 수집기 수정: codex — jpmorgan 피드 창에서 신규 0건이 연속되면 경보로 올리고 날짜 기준 탐색 보강, morgan-stanley 9747d036 글은 불가 목록(unavailable) 처리. - TD 로그인: guardian이 세션 만료 확인 → 해리가 TD 포털 재로그인(비밀번호 입력은 해리 본인).
검증(cowork 기재분): 각 daily-collection JSON을 python3 -c로 다시 읽어 위 표 saved 값과 대조 → 불일치 0건, 통과. (ron 재검증 결과는 아래 "검증 명령" 참조)
외사별 판정 (ron 재집계, 2026-09-26 01:48 KST, bofa 추가)
5일 모두 daily-collection 054* 실행의 overall_status = partial. 아래 saved는 9/21·22·23·24·25 순.
| 외사 | 판정 | 숫자 | 요약본 재료(00_외사별일일) |
|---|---|---|---|
| jpmorgan | 목록 정체 | discovered 50·50·50·50·50 고정, eligible 24·23·23·23·21 전부 duplicates, saved 0·0·0·0·0 (status 매일 ok) | 0/5 |
| td-securities | 목록 정체 → 9/25 수집 실패 | 9/21~24 discovered 9·9·9·8 전부 duplicates, saved 0; 9/25 status failed, discovered 0, error td_auth_required | 0/5 |
| morgan-stanley | 원문 없음(1건 반복) + 9/24~25 신규 0 | discovered 71·72·73·73·73, saved 0·1·2·0·0, 9747d036 글 article_body_unavailable 3회(9/22~24) | 2/5 (9/22·9/23) |
| bofa | 원문 없음(일부) + 9/21·9/25 신규 0 | discovered 32 고정, saved 0·4·1·1·0, failed 3·2·1·0·0 (report_body_unavailable·bofa_direct_pdf_invalid, report-12910793은 9/21~22 반복) | 3/5 (9/22~24) |
한 줄 판정 - jpmorgan: 수집 실패가 아니라 목록 정체 — 홈 피드 50건 창이 5일간 한 번도 바뀌지 않아 신규 0건(상세 [[260926_hermes_jpm-collection-limit-design]]). - td-securities: 9/21~24는 목록 정체(8~9건 전부 기존 글), 9/25는 로그인 만료로 수집 실패. - morgan-stanley: 목록은 돌지만 이번 주 새 글 저장 3건뿐, 같은 글 1건이 본문 없음으로 3일 연속 실패. - bofa: 이번 주 저장 6건으로 재료는 있음, 본문 없음 실패는 누적 6건이지만 요약본에 치명적이지 않음.
일요일 09:00 요약본(크론 5c45c26045be)에서 나갈 모습 (스크립트 동작 기준, 대상 폴더 9/21~9/27) - jpmorgan·td-securities: 대상 주간 폴더에 노트 0건이라 블록이 빠지고, 하단 문구 "이번 주 수집 자료가 없어 제외한 하우스: 제이피모간, TD증권"으로만 나간다(주말 9/26~27 수집분이 생기면 달라짐 — 미확인). - morgan-stanley: 9/22·9/23 일일요약 2건으로 블록이 나가며, 주 후반 내용은 없다. - bofa: 9/22~24 일일요약 3건으로 정상 블록이 나간다.
검증 명령 (실행 2026-09-26 01:48:06 KST)
python3 -c "import json,glob;R='/Users/ron/knowledge-agent/400-reports/hermes-research-sales-engine/runs/';[print(f[-38:-5],j['overall_status'],*[(r['source'],r['status'],r.get('discovered'),r.get('saved'),r.get('duplicates'),len(r.get('failed') or []),r.get('error','-')) for r in j['results'] if r['source'] in ('jpmorgan','td-securities','morgan-stanley','bofa')]) for f in sorted(glob.glob(R+'2026092[1-5]/daily-collection-054*.json')) for j in [json.load(open(f))]]"
출력 원문 (exit code 0)
/20260921/daily-collection-054517 partial ('bofa', 'partial', 32, 0, 29, 3, '-') ('morgan-stanley', 'ok', 71, 0, 1, 0, '-') ('td-securities', 'ok', 9, 0, 9, 0, '-') ('jpmorgan', 'ok', 50, 0, 24, 0, '-')
/20260922/daily-collection-054541 partial ('bofa', 'partial', 32, 4, 26, 2, '-') ('morgan-stanley', 'partial', 72, 1, 1, 1, '-') ('td-securities', 'ok', 9, 0, 9, 0, '-') ('jpmorgan', 'ok', 50, 0, 23, 0, '-')
/20260923/daily-collection-054510 partial ('bofa', 'partial', 32, 1, 28, 1, '-') ('morgan-stanley', 'partial', 73, 2, 1, 1, '-') ('td-securities', 'ok', 9, 0, 9, 0, '-') ('jpmorgan', 'ok', 50, 0, 23, 0, '-')
/20260924/daily-collection-054505 partial ('bofa', 'ok', 32, 1, 29, 0, '-') ('morgan-stanley', 'partial', 73, 0, 3, 1, '-') ('td-securities', 'ok', 8, 0, 8, 0, '-') ('jpmorgan', 'ok', 50, 0, 23, 0, '-')
/20260925/daily-collection-054508 partial ('bofa', 'ok', 32, 0, 30, 0, '-') ('morgan-stanley', 'ok', 73, 0, 2, 0, '-') ('td-securities', 'failed', 0, 0, 0, 0, 'RuntimeError:td_auth_required') ('jpmorgan', 'ok', 50, 0, 21, 0, '-')
코드 수정 없음(보고서 정리만).