Repository navigation
feat(funding): discover Bizinfo notices as unconfirmed candidates - #38
Merged
Merged
Conversation
Add the Bizinfo (기업마당) Open API collector to funding:sync. Notices tagged 소상공인 or 창업벤처 in Seoul or without a region signal become automated products that stay NEEDS_CONFIRMATION until a person reviews them (ADR 0006 sections 1-2). - Add supportType UNKNOWN (catalog and Prisma enum, new migration) and treat an empty eligibleBusinessStages as an unconfirmed stage, so the collector records what Bizinfo does not tell us without guessing. - Bump the catalog schema to funding-catalog-v1.2.0 and keep reading v1.0.0 and v1.1.0 releases. - Hold discovery-only sources out of current candidates even when the policy loan switch is on. - Report notices that were not in the previous ACTIVE release, and mask BIZINFO_API_KEY in every error and CLI line. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Contributor
Author
실제 기업마당 API 확인 (2026-09-29)본문의 "실행하지 못한 검사"였던 실제 API 호출을 인증키가 있는 로컬 환경에서 확인했다.
🤖 Generated with Claude Code |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Refs #5, #13
변경 내용
ADR 0006 후속 4번(기업마당 공고 탐색)이다.
funding:sync에 기업마당 지원사업정보 Open API 수집기를 등록했다. 기업마당만으로 확인된 상품은 사업 단계·지원 유형을 알 수 없으므로 추가 확인에 머문다(ADR 0006 1·2절).app/src/features/funding/sources/bizinfo.tsBIZINFO_API_KEY로 요청 한 번(searchCnt5000)에 현재 공고 전체를 JSON으로 받는다.trgetNm)에소상공인또는창업벤처가 있는 공고만 올린다.[지역]표시·소관기관), 신청 종료일이 지난 공고, 형식이 깨진 공고, 중복 공고. 사유별 개수를 명령 출력에 남긴다.YYYY-MM-DD ~ YYYY-MM-DD만 날짜로 읽는다. 기준일이 그 사이면 OPEN, 아니면 UNKNOWN이다. 문장은 note에 그대로 남긴다.jsonArray없음,totCnt보다 적게 받음.funding-catalog-v1.2.0)UNKNOWN을 추가했다. 화면에는 "유형 미확인(원 공고 확인)"으로 표시한다.FundingSupportType에 값을 더하는 migration20260928020000_funding_support_type_unknown이 있다.UNKNOWN이어야 하고 확정 금리·기간을 기록할 수 없다. 상환 계산 대상이 아니다.eligibleBusinessStages를 빈 배열로 두면 사업 단계 미확인이다. 사업 단계 판정은 UNKNOWN이고 사업 단계 근거를 요구하지 않는다.catalog.json은 스키마만 올려2026-09-28.2가 되었고 상품은 그대로다.DISCOVERY_ONLY_SOURCES= 기업마당)의 자동 상품은 두 스위치가 켜져 있어도 현재 후보가 되지 않는다. 사람이 같은 공고를sourceRef로 기록하면 사람 기록이 우선한다(feat(funding): add funding:sync with automation settings and source freshness #37).funding:sync결과에 직전 ACTIVE 릴리스에 없던 공고를 출처별로 나열한다. 운영자가 서울시 육성자금 같은 사람 관리 상품의 새 공고·변경공고를 찾는 데 쓴다.docs/domains/funding.md(v1.2.0, 기업마당 규칙, 출처 표),docs/DEVELOPMENT.md와app/.env.example(BIZINFO_API_KEY),docs/ARCHITECTURE.md, 카탈로그 README.검증
npm --prefix app run verify:fast: 통과(Vitest 269 passed / 41 skipped, skipped는 모두 DB 테스트).node scripts/run-tests.ts database): 304 passed / 6 skipped. 6개는 #37과 같은 원본 대조 테스트(data/raw/없음)다.prisma migrate deploy로 적용했다.prisma migrate diff --from-config-datasource --to-schema의 결과가 빈 migration이었다.runFundingSync로 적재한 뒤/funding을 desktop·Pixel 7 폭으로 열었다.www.bizinfo.go.kr을 막고 인증키도 없다.pblancId,pblancNm,pblancUrl,jrsdInsttNm,excInsttNm,reqstBeginEndDe,trgetNm,pldirSportRealmLclasCodeNm,totCnt)은 공개 명세와 ADR 0006 Context를 따랐다.npm --prefix app run funding:sync -- --dry-run으로 확인해야 한다. 필드가 다르면 조용히 성공하지 않고 기업마당 출처가 실패로 기록된다.위험·후속
app/prisma단일 PR 규칙 때문에 feat(funding): add funding:sync with automation settings and source freshness #37 병합 뒤에 이 PR을 열었다.supportType에 값 하나(UNKNOWN)를 더했고, 이 값은 정책자금이 아닌 쪽(자동 승격 없음)으로 다룬다.🤖 Generated with Claude Code
https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Generated by Claude Code