chore: 저장소 구조 정리 및 문서화, 첫 커밋
- src/dist 산출물 분리 원칙 정리(.gitignore, .gitattributes) - 루트 및 주요 폴더(config/scripts/prompts/tests/src, 런타임 폴더 5종)에 안내용 README.md 추가 - CHANGELOG.md, LICENSE, docs/ops/05-release-and-versioning.md 추가 - docs/README.md 문서 지도 갱신
This commit is contained in:
commit
56a6e2da93
159 changed files with 145825 additions and 0 deletions
15
tests/fixtures/agy_envelope_clean.json
vendored
Normal file
15
tests/fixtures/agy_envelope_clean.json
vendored
Normal file
|
|
@ -0,0 +1,15 @@
|
|||
{
|
||||
"conversation_id": "a1b2c3d4-1111-4a2b-9c3d-000000000001",
|
||||
"status": "SUCCESS",
|
||||
"response": "{\"headline\": \"오늘 DMF 변경 3건, 그중 제조소 변경 1건 주의 필요\", \"summary_md\": \"### 오늘의 변경 요약\\n- 신규 2건\\n- 변경 1건(제조소 변경, CRITICAL)\\n- 취하 0건\\n\", \"anomalies\": [], \"per_event\": [{\"dmf_key\": \"20180514-142-I-88-02\", \"comment\": \"제조소가 이탈리아에서 스위스로 변경됨. 공급망 리스크 확인 필요.\", \"importance\": \"HIGH\"}]}",
|
||||
"error": null,
|
||||
"duration_seconds": 8.42,
|
||||
"num_turns": 1,
|
||||
"usage": {
|
||||
"input_tokens": 3120,
|
||||
"output_tokens": 410,
|
||||
"thinking_tokens": 96,
|
||||
"cache_read_tokens": 0,
|
||||
"total_tokens": 3626
|
||||
}
|
||||
}
|
||||
1
tests/fixtures/agy_envelope_polluted.json
vendored
Normal file
1
tests/fixtures/agy_envelope_polluted.json
vendored
Normal file
|
|
@ -0,0 +1 @@
|
|||
{"conversation_id":"cb636581-e8de-4375-8542-4f83fca1db9c","status":"SUCCESS","response":"{\"toolAction\":\"Finishing task\",\"toolSummary\":\"Return weekday in Korean\",\"weekday\":\"수요일\"}\n오늘(2026년 9월 2일)의 요일은 **수요일**입니다.\n{\"toolAction\":\"Finish task\",\"toolSummary\":\"Task completion\",\"weekday\":\"수요일\"}\n오늘의 요일은 **수요일**입니다.\n{\"toolAction\":\"Finish task\",\"toolSummary\":\"Finish task\",\"weekday\":\"수요일\"}\n오늘(2026년 9월 2일)의 요일은 **수요일**입니다.\n{\"toolAction\":\"Finish task\",\"toolSummary\":\"Finish task\",\"weekday\":\"수요일\"}\n오늘(2026-09-02)의 요일은 **수요일**입니다.\n","duration_seconds":52.9313561,"num_turns":4,"json_schema":{"type":"object","properties":{"weekday":{"type":"string"}},"required":["weekday"]},"usage":{"input_tokens":86038,"output_tokens":2378,"thinking_tokens":2169,"cache_read_tokens":163370,"total_tokens":88416}}
|
||||
8
tests/fixtures/api_error_invalid_key.xml
vendored
Normal file
8
tests/fixtures/api_error_invalid_key.xml
vendored
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<OpenAPI_ServiceResponse>
|
||||
<cmmMsgHeader>
|
||||
<errMsg>SERVICE ERROR</errMsg>
|
||||
<returnAuthMsg>SERVICE_KEY_IS_NOT_REGISTERED_ERROR</returnAuthMsg>
|
||||
<returnReasonCode>30</returnReasonCode>
|
||||
</cmmMsgHeader>
|
||||
</OpenAPI_ServiceResponse>
|
||||
20
tests/fixtures/api_html_block.html
vendored
Normal file
20
tests/fixtures/api_html_block.html
vendored
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
<!DOCTYPE html>
|
||||
<html lang="ko">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>서비스 점검 안내</title>
|
||||
<meta http-equiv="refresh" content="3;url=https://www.data.go.kr/notice/maintenance.do">
|
||||
<script type="text/javascript">
|
||||
// 안내 페이지로 강제 이동
|
||||
location.href = "https://www.data.go.kr/notice/maintenance.do";
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="maintenance">
|
||||
<h1>서비스 점검 중입니다</h1>
|
||||
<p>현재 공공데이터포털 오픈API 서비스는 시스템 점검으로 인해 일시적으로 이용하실 수 없습니다.</p>
|
||||
<p>점검 시간: 02:00 ~ 06:00 (예정)</p>
|
||||
<p>불편을 드려 죄송합니다. 잠시 후 다시 시도해 주세요.</p>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
12
tests/fixtures/api_page_empty.json
vendored
Normal file
12
tests/fixtures/api_page_empty.json
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
{
|
||||
"header": {
|
||||
"resultCode": "00",
|
||||
"resultMsg": "NORMAL SERVICE."
|
||||
},
|
||||
"body": {
|
||||
"numOfRows": 100,
|
||||
"pageNo": 1,
|
||||
"totalCount": 0,
|
||||
"items": []
|
||||
}
|
||||
}
|
||||
85
tests/fixtures/api_page_ok.json
vendored
Normal file
85
tests/fixtures/api_page_ok.json
vendored
Normal file
|
|
@ -0,0 +1,85 @@
|
|||
{
|
||||
"header": {
|
||||
"resultCode": "00",
|
||||
"resultMsg": "NORMAL SERVICE."
|
||||
},
|
||||
"body": {
|
||||
"numOfRows": 8,
|
||||
"pageNo": 1,
|
||||
"totalCount": 9084,
|
||||
"items": [
|
||||
{
|
||||
"DMF_PERMIT_NO": "20121228-168-I-169-04",
|
||||
"INGR_KOR_NAME": "포르모테롤푸마르산염수화물",
|
||||
"ENTP_NAME": "(주)대웅제약",
|
||||
"MNFCTR_NAME": "SICOR SOCIETA'ITALIANA CORTICOSTER OIDO S.R.L. ,[미분화공정 제조소] Micro-Macinazione SA.",
|
||||
"MNFCTR_PLACE": "Rho(MI) - Via Terrazzano, 77, Italy ,6995 Madonna del Piano, Switzerland",
|
||||
"MANUF_COUNTRY_CODE_NM": "이탈리아,스위스",
|
||||
"DMF_PERMIT_DATE": "2015-02-26"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20110531-71-B-317-05",
|
||||
"INGR_KOR_NAME": "아토르바스타틴칼슘삼수화물",
|
||||
"ENTP_NAME": "한미약품(주)",
|
||||
"MNFCTR_NAME": "Zhejiang Hisun Pharmaceutical Co., Ltd.",
|
||||
"MNFCTR_PLACE": "No.1 Hisun Road, Jiaojiang, Taizhou, Zhejiang, China",
|
||||
"MANUF_COUNTRY_CODE_NM": "중국",
|
||||
"DMF_PERMIT_DATE": "2011-05-31"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20110531-71-B-317-05(1)",
|
||||
"INGR_KOR_NAME": "아토르바스타틴칼슘삼수화물",
|
||||
"ENTP_NAME": "유한양행",
|
||||
"MNFCTR_NAME": "Zhejiang Hisun Pharmaceutical Co., Ltd.",
|
||||
"MNFCTR_PLACE": "No.1 Hisun Road, Jiaojiang, Taizhou, Zhejiang, China",
|
||||
"MANUF_COUNTRY_CODE_NM": "중국",
|
||||
"DMF_PERMIT_DATE": "2021-09-10"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20260901-209-J-2270",
|
||||
"INGR_KOR_NAME": "미분화베클로메타손디프로피오네이트",
|
||||
"ENTP_NAME": "㈜하이플",
|
||||
"MNFCTR_NAME": "Farmabios S.p.A.",
|
||||
"MNFCTR_PLACE": "Via Pavia 22, Gropello Cairoli (PV), Italy",
|
||||
"MANUF_COUNTRY_CODE_NM": "이탈리아",
|
||||
"DMF_PERMIT_DATE": "2026-09-01"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "수6580-16-ND(20)",
|
||||
"INGR_KOR_NAME": "프레가발린",
|
||||
"ENTP_NAME": "종근당",
|
||||
"MNFCTR_NAME": "Divi's Laboratories Limited",
|
||||
"MNFCTR_PLACE": "Chippada Village, Bhimavaram Mandal, Andhra Pradesh, India",
|
||||
"MANUF_COUNTRY_CODE_NM": "인도",
|
||||
"DMF_PERMIT_DATE": "2020-11-20"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20050831-33-A-81-08(18)",
|
||||
"INGR_KOR_NAME": "세프트리악손나트륨",
|
||||
"ENTP_NAME": "삼성제약공업(주)",
|
||||
"MNFCTR_NAME": "Orchid Pharma Limited",
|
||||
"MNFCTR_PLACE": "No.1, SIPCOT Industrial Complex, Alathur, Kancheepuram, India",
|
||||
"MANUF_COUNTRY_CODE_NM": "인도",
|
||||
"DMF_PERMIT_DATE": "2026-08-18"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20081010-90-E-12",
|
||||
"INGR_KOR_NAME": "라니티딘염산염",
|
||||
"ENTP_NAME": "동아에스티(주)",
|
||||
"MNFCTR_NAME": "Cadila Healthcare Limited",
|
||||
"MNFCTR_PLACE": "Sarkhej-Dholka Road, Bavla, Ahmedabad, Gujarat, India",
|
||||
"MANUF_COUNTRY_CODE_NM": "인도,미국",
|
||||
"DMF_PERMIT_DATE": "2008-10-10"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20130215-201-I-8-01",
|
||||
"INGR_KOR_NAME": "실로스타졸",
|
||||
"ENTP_NAME": "오츠카제약",
|
||||
"MNFCTR_NAME": "大塚化学株式会社",
|
||||
"MNFCTR_PLACE": "Tokushima, Japan",
|
||||
"MANUF_COUNTRY_CODE_NM": "일본",
|
||||
"DMF_PERMIT_DATE": "2013-02-15"
|
||||
}
|
||||
]
|
||||
}
|
||||
}
|
||||
67
tests/fixtures/snapshot_prev.json
vendored
Normal file
67
tests/fixtures/snapshot_prev.json
vendored
Normal file
|
|
@ -0,0 +1,67 @@
|
|||
{
|
||||
"run_date": "2026-09-01",
|
||||
"run_id": "run_20260901_060012",
|
||||
"note": "diff.compute_diff() 비교용 '전일' 원본 레코드 스냅샷. COL_* 원본 필드명을 그대로 쓴다. 오늘자 변형(변경·취하·신규)은 각 테스트가 이 레코드를 기반으로 구성한다.",
|
||||
"records": [
|
||||
{
|
||||
"DMF_PERMIT_NO": "20121228-168-I-169-04",
|
||||
"INGR_KOR_NAME": "포르모테롤푸마르산염수화물",
|
||||
"ENTP_NAME": "(주)대웅제약",
|
||||
"MNFCTR_NAME": "SICOR SOCIETA'ITALIANA CORTICOSTER OIDO S.R.L.",
|
||||
"MNFCTR_PLACE": "Rho(MI) - Via Terrazzano, 77, Italy",
|
||||
"MANUF_COUNTRY_CODE_NM": "이탈리아,스위스",
|
||||
"DMF_PERMIT_DATE": "2015-02-26",
|
||||
"_scenario": "안정 — 오늘도 변화 없음(동일 판정 회귀 케이스)"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20180514-142-I-88-02",
|
||||
"INGR_KOR_NAME": "실로스타졸",
|
||||
"ENTP_NAME": "오츠카제약",
|
||||
"MNFCTR_NAME": "Farmabios S.p.A.",
|
||||
"MNFCTR_PLACE": "Via Pavia 22, Gropello Cairoli (PV), Italy",
|
||||
"MANUF_COUNTRY_CODE_NM": "이탈리아",
|
||||
"DMF_PERMIT_DATE": "2018-05-14",
|
||||
"_scenario": "제조소 변경 예정 — 오늘은 스위스로 이전(CRITICAL CHANGED 회귀 케이스)"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20090301-45-C-201-02",
|
||||
"INGR_KOR_NAME": "라니티딘염산염",
|
||||
"ENTP_NAME": "동아에스티(주)",
|
||||
"MNFCTR_NAME": "Cadila Healthcare Limited",
|
||||
"MNFCTR_PLACE": "Sarkhej-Dholka Road, Bavla, Ahmedabad, Gujarat, India",
|
||||
"MANUF_COUNTRY_CODE_NM": "인도",
|
||||
"DMF_PERMIT_DATE": "2009-03-01",
|
||||
"_scenario": "취하 예정 — 오늘 응답에서 사라짐(WITHDRAWN 회귀 케이스)"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20110531-71-B-317-05",
|
||||
"INGR_KOR_NAME": "아토르바스타틴칼슘삼수화물",
|
||||
"ENTP_NAME": "한미약품(주)",
|
||||
"MNFCTR_NAME": "Zhejiang Hisun Pharmaceutical Co., Ltd.",
|
||||
"MNFCTR_PLACE": "No.1 Hisun Road, Jiaojiang, Taizhou, Zhejiang, China",
|
||||
"MANUF_COUNTRY_CODE_NM": "중국",
|
||||
"DMF_PERMIT_DATE": "2011-05-31",
|
||||
"_scenario": "중복 등록번호 그룹 멤버 1/2 — dup_index 0"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20110531-71-B-317-05",
|
||||
"INGR_KOR_NAME": "아토르바스타틴칼슘삼수화물",
|
||||
"ENTP_NAME": "유한양행",
|
||||
"MNFCTR_NAME": "Divi's Laboratories Limited",
|
||||
"MNFCTR_PLACE": "Chippada Village, Bhimavaram Mandal, Andhra Pradesh, India",
|
||||
"MANUF_COUNTRY_CODE_NM": "인도",
|
||||
"DMF_PERMIT_DATE": "2020-11-20",
|
||||
"_scenario": "중복 등록번호 그룹 멤버 2/2 — dup_index 1(정렬 튜플로 결정)"
|
||||
},
|
||||
{
|
||||
"DMF_PERMIT_NO": "20260901-209-J-2270",
|
||||
"INGR_KOR_NAME": "베클로메타손디프로피오네이트",
|
||||
"ENTP_NAME": "㈜하이플",
|
||||
"MNFCTR_NAME": "Farmabios S.p.A.",
|
||||
"MNFCTR_PLACE": "Via Pavia 22, Gropello Cairoli (PV), Italy",
|
||||
"MANUF_COUNTRY_CODE_NM": "스위스,이탈리아",
|
||||
"DMF_PERMIT_DATE": "2026-09-01",
|
||||
"_scenario": "J군(sub 없음) + 국가 다중값 순서 흔들림 회귀 케이스(오늘은 '이탈리아,스위스' 순서로 옴 — 동일 판정이어야 함)"
|
||||
}
|
||||
]
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue