You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
I Luk Kim 25603c390c feat: 8-K filing parser — Item 추출 + event 생성
AVGO 8-K (accession 0001193125-26-144028, Item 8.01, Google TPU 공급계약)이
DB에 수집은 되었으나 파싱/event 생성이 불가했던 문제 해결.

구현:
- sec_8k_parser.py: 8-K primary document HTML 파싱
  - extract_items(): regex 기반 Item 헤더 추출, 목차 중복 제거 (last-wins)
  - _strip_ixbrl_viewer(): documents_json의 /ix?doc=... URL → 직접 URL 변환
  - _find_primary_doc_url(): primary_document_url 우선 사용 (iXBRL viewer 회피)
  - Item 8.01 단독 filing: exhibit(9.01) 없이 본문에서 직접 content 추출
  - Item 9.01 skip, 나머지는 ITEM_EVENT_MAP으로 event_type 분류
  - Exhibit enrichment: 2.02/7.01/8.01 + EX-99.1 있을 때 exhibit content 우선
- sec_filing_events 테이블 신설 (UniqueConstraint: accession_number + item_number)
- sec_filings 테이블에 parsed_status / items_json 컬럼 추가
- index_filings() 완료 후 신규 8-K auto-parse 트리거
- GET /filings/events/{ticker}: lazy parse + 조회
- POST /filings/events/parse/bulk: backfill용 일괄 파싱
- FilingSummary에 parsed_status / items 필드 포함
- alembic migration: g8a9b0c1d2e3
- 테스트 22개 추가 (extract_items, strip_ixbrl, find_primary_doc, parse_filing)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
4 months ago
..
api feat: 8-K filing parser — Item 추출 + event 생성 4 months ago
core feat: Form 4 내부자 거래 + Earnings Surprise + FINRA 확장 5 months ago
middleware perf: API 성능 개선 Round 3 — 8개 항목 (P15-P22) 5 months ago
models feat: 8-K filing parser — Item 추출 + event 생성 4 months ago
schemas feat: 8-K filing parser — Item 추출 + event 생성 4 months ago
services feat: 8-K filing parser — Item 추출 + event 생성 4 months ago
utils perf: API 성능 개선 Round 3 — 8개 항목 (P15-P22) 5 months ago
__init__.py Initial commit with full project improvements 5 months ago
main.py perf: API 성능 개선 Round 2 — 9개 항목 (P6-P14) 5 months ago