Repository navigation
feat(funding): keep unknown industry and purpose as pre-application checks - #36
Merged
Merged
Conversation
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
…feat/funding-pre-application-checks
…hecks Per ADR 0006, industry and purpose are conditions no official source gives in structured form, so an UNKNOWN verdict on them no longer keeps a product out of the current candidates. They are added to manualChecks as "업종: ..." / "용도: ..." and counted in the candidate reason, while eligibilityVerdict stays UNKNOWN. An UNKNOWN business stage or region still means NEEDS_CONFIRMATION, and any FAIL still means NOT_ELIGIBLE. AGENTS.md section 3 item 8 now points to ADR 0006 for this case, and funding.md and the candidate group notes describe the new split. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
…feat/funding-pre-application-checks
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>
…feat/funding-pre-application-checks
This was referenced Sep 28, 2026
jhjh0512
pushed a commit
that referenced
this pull request
Sep 28, 2026
Resolve AGENTS.md and eligibility.ts in favor of this branch: main holds the squashed #36 version, and this branch already contains #36 plus the #37 changes on the same lines. The merged tree is identical to ba3ac46. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL
This was referenced Sep 28, 2026
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.
관련: ADR 0006(#33) 4절 "업종·용도 규칙 변경". 별도 Issue는 없다.
#33 위에 쌓은 PR이다. 이 PR은 AGENTS.md와
funding.md에서 ADR 0006 파일을 링크한다. 그래서 base를 #33의 branch로 두었다. #33이 병합되고 그 branch가 지워지면 GitHub가 base를 main으로 바꾼다. 그 뒤 main을 합쳐 diff를 정리한다. #33보다 먼저 병합하지 않는다.변경 내용
eligibility.ts): 업종·용도는 공식 출처가 구조화해 주지 않는 조건이다. 그래서 두 조건이 UNKNOWN이어도 현재 후보를 막지 않는다.manualChecks(화면의 "신청 전 추가 확인")에업종: …,용도: …형태로 더한다. 후보 사유의 "신청 전 N건"에도 이 수를 포함한다.eligibilityVerdict는 그대로 UNKNOWN이다.NEEDS_CONFIRMATION)이다.NOT_ELIGIBLE)이다.manualChecks를 쓴다.FundingCandidatesPanel.tsx): 두 그룹의 설명 문구만 새 규칙에 맞게 고쳤다.docs/domains/funding.md판정 절: 조건별 UNKNOWN의 효과를 적었다.additionalChecks에 적는다. 그러면 새 스키마 없이 같은 "신청 전 추가 확인" 목록에 나온다.검증
npm --prefix app run verify:fast통과: 카탈로그 검증, Prettier, ESLint, TypeScript, 테스트, build를 포함한다.data/raw/가 없을 때의 원본 대조 테스트 6개다.verify:db명령을 돌리지 못했다. 대신 로컬 PostgreSQL 16에 migration을 적용하고 DB 모드를 직접 실행했다(run-tests.ts database, 6b260f1 기준). 결과는 263 passed, 6 skipped(data/raw/없음)다.funding.md의 상대 링크가 모두 실제 파일을 가리킨다(이 branch 기준).npm --prefix app run verify는 병합 전에 로컬에서 한 번 돌려 보기를 권한다.위험·후속
funding:sync와 자동화 설정(feat(funding): add funding:sync with automation settings and source freshness #37, 이 PR 위에 쌓음)ols.semas.or.kr) 수집기🤖 Generated with Claude Code
https://claude.ai/code/session_015LCE4DgT5qdHP8y8V5qtbL