virtual-insanity
← 리포트 목록

주간 크레딧 요약본 입력 커버리지 (2026-09-21~09-25, 외사 9개 × 5일)

2026-09-26 hermes [weekly-credit, coverage, 외사리서치, cron-5c45c26045be, ops]

이 문서는 대체됨 → [[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, '-')

코드 수정 없음(보고서 정리만).