Skip to content

docs(funding): accept ADR 0006 on automating funding candidates - #33

Merged
jhjh0512 merged 8 commits into
mainfrom
docs/5-funding-automation
Sep 28, 2026
Merged

jhjh0512 merged 8 commits into
mainfrom
docs/5-funding-automation

Conversation

@jhjh0512

@jhjh0512 jhjh0512 commented Sep 25, 2026 •

Copy link
Copy Markdown
Contributor

Closes #5

변경 내용

docs/decisions/0006-funding-discovery-automation.md에 ADR 0006(Accepted, Owner: jhjh0512)을 추가했다. 자금 후보를 두 갈래로 나누고, 정책자금 후보는 자동으로 올리고 내리며, 지원사업은 자동으로 찾는다는 결정이다. 2026-09-28에 실제 API 응답과 출처별 robots.txt·약관을 확인한 결과를 반영했다(e71981a).

  • 지원사업(지원금·공간·프로그램): 자동으로 승격하지 않는다.
  • 정책자금(대출·보증): v1 크롤링 출처는 소진공 정책자금 사이트(ols.semas.or.kr) 하나다.
    • "정책자금 한눈에 보기" 표와 공지 상세 HTML에서 값을 뽑는다. 공지 목록 JSON은 상세 페이지를 찾는 데만 읽는다.
    • robots.txt가 없고, 약관에 자동 수집 금지 조항이 없다. 담당자가 출처 표시 조건으로 수집을 허용했다.
    • 서울시 육성자금은 조건이 HWP 첨부에만 있어 사람이 관리한다. 새 공고와 변경공고를 찾는 일만 기업마당으로 자동화한다.
    • 소상공인24 내부 JSON API와, robots.txt가 막는 사이트는 쓰지 않는다.
  • 크롤링 규칙:
    • 로그인 없는 공개 페이지만, 하루 한 번, 요청 사이 1초 이상 간격을 둔다.
    • 차단되면 그 출처를 멈추고 우회하지 않는다.
    • 첨부(PDF·HWP) 해석과 AI는 쓰지 않는다.
  • 현재 후보로 자동으로 올리는 조건(정책자금): 신청기간, 사업 단계, 지역, 제외 신호 없음, 차단 목록에 없음, 출처의 마지막 성공 동기화가 3일 이내.
    • 업종·용도·연령이 확인되지 않은 상품도 막지 않고 "신청 전 확인"으로 표시한다.
  • 상환 계산 가능으로 자동으로 올리는 조건: 단일 고정 금리, 전체 기간, 거치, 상환방식이 공고 본문에 모두 숫자로 적혀 있을 때만.
    • 소진공 표는 상환방식이 없고 금리가 대부분 기준금리 연동이라, 표만으로는 0건이다.
  • 자동으로 내리는 경우: 신청 종료일이 지남, 조기 마감을 포함한 접수 마감, 제외 신호, 3일 넘게 동기화 실패.
    • 한 출처가 실패해도 다른 출처에는 영향이 없다.
  • 스위치: 정책자금 자동 승격과 상환 계산 자동 승격을 각각 끌 수 있다. 첫 4주 표본 점검과 중단 조건을 둔다.
  • 코드·스키마 변경은 없다. ADR 9절의 문서·설정 변경은 각 동작을 구현하는 PR에서 한다(AGENTS.md §7).

검증

  • 문서만 바꿨다. git diff --check가 통과했고, 새 파일에는 상대 링크가 없다.
  • 출처 확인: 2026-09-28에 K-Startup·기업마당 API의 실제 응답과, 크롤링 후보 사이트의 robots.txt·약관을 확인해 ADR Context에 기록했다.

위험·후속

🤖 Generated with Claude Code

https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL

Draft ADR 0006 (Proposed) for issue #5. Discovery from the K-Startup
and Bizinfo Open APIs produces catalog drafts with reviewer UNASSIGNED;
demotions (application end date passed, source changed, removed or
closed) apply automatically; promotion to a current candidate still
needs a human-reviewed catalog release. AI interpretation of
announcement text stays out of scope.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Rework the draft per the decision to automate both directions:
funding:sync builds the catalog from the K-Startup and Bizinfo APIs and
promotes non-loan announcements whose dates, stage and region come from
structured fields. Industry and purpose UNKNOWN become pre-application
checks instead of blocking. Loans and guarantees stay human-reviewed.
Source failures keep the current release, and auto products drop out
when syncs stop for more than three days.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Support programs (grant, space, program) are automated from the
K-Startup API. Policy loans and guarantees have no official API, so
they are automated by crawling the SEMAS and Seoul Shinbo pages under
explicit rules: robots.txt and terms checked per source, public pages
only, once a day, no evasion when blocked. Repayment calculation is
auto-promoted only when the page states a single fixed rate, term,
grace and method; variable-rate loans stay non-calculable. Each track
has its own promotion switch, and a failing source keeps its last
products until they go stale after three days.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Mark ADR 0006 Accepted with jhjh0512 as owner, and state that the
follow-up doc changes in section 9 land with the implementation PRs
(AGENTS.md section 7), not with this decision.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
@jhjh0512 jhjh0512 changed the title docs(funding): propose automating support program and policy loan candidates docs(funding): accept ADR 0006 on automating funding candidates Sep 28, 2026
Record the 2026-09-28 checks of real API responses, robots.txt and terms.
K-Startup would surface 116 mostly unrelated current candidates for a Seoul
pre-founder, so support programs are discovered through Bizinfo and promoted
only by a person. Policy loans are crawled from the SEMAS policy fund site,
including its notice list JSON to locate notice pages. Sbiz24's internal API
is not used, and Seoul development funds stay human-managed because their
terms exist only in HWP attachments.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jhjh0512
jhjh0512 merged commit 8b2094a into main Sep 28, 2026
1 check passed
@jhjh0512
jhjh0512 deleted the docs/5-funding-automation branch September 28, 2026 14:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[작업] 자금 후보 기능 방향 결정 (ADR)

2 participants