8 Commits
Author SHA1 Message Date
byeongwook.choiandClaude Fable 5.1 5df8595fe2 runner: unit 의 호출이 끝나는 즉시 저장 — 중간에 끊어도 그때까지 끝난 unit 은 남는다
기존엔 프로그램의 호출을 전부 받은 뒤 한꺼번에 저장해서, 마지막 호출이 느리면 앞의 것도 잃었다
(고객사 실측: [8/9] 까지 ok 인 상태에서 9번째 대기). 저장은 여전히 메인 스레드에서만 한다.
Ctrl+C 는 남은 호출을 취소하고 올라간다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 20:06:11 +09:00
byeongwook.choiandClaude Fable 5.1 ce459ba8f0 runner: 진행 상황 출력 — 프로그램별 호출 건수와 호출 하나 끝날 때마다 [i/n]·경과·예상 남은 시간 (stderr)
고객사 실측: unit 100+ 인 프로그램은 15분 넘게 아무것도 안 찍혀 멈춘 것으로 보였다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 18:04:47 +09:00
byeongwook.choiandClaude Fable 5.1 c577d5cb93 llm_client: 진짜 JSON 앞에 군더더기 { 한 줄이 붙은 응답 처리 (고객사 실측)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 16:54:40 +09:00
byeongwook.choiandClaude Fable 5.1 d8718c858f llm_client: 문법이 약간 틀린 모델 JSON 복구 (값 안 따옴표·줄바꿈·꼬리 콤마·잘린 출력), 못 읽으면 원문 보존
고객사 사내 LLM 실측: "Expecting ',' delimiter" — 설명 문장 안의 따옴표를 이스케이프하지 않았다.
_repair_json 이 문자열 안의 따옴표를 닫는 따옴표(뒤에 , : } ])와 구분해 이스케이프하고,
끝내 못 읽으면 data/llm_jobs/_badjson/ 에 원문을 남긴다.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 16:32:50 +09:00
byeongwook.choiandClaude Fable 5.1 9cdefa1a49 runner: 프로그램 요약 LLM 호출 실패(HTTP 오류·JSON 아닌 응답)에 전체가 죽지 않고 failed 로 기록 후 계속
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 16:23:56 +09:00
byeongwook.choiandClaude Fable 5.1 db50ec9d46 ping: JSON 이 안 나오면 설정 조합을 바꿔가며 자동 진단, LLM_MERGE_SYSTEM 옵션
- 게이트웨이/모델이 system 역할을 무시해 평문으로 답하는 경우(팀원 VM /api/ito + 339 실측)
  LLM_MERGE_SYSTEM=1 로 system 을 user 앞에 합쳐 보낸다
- summarize.ping 이 (그대로 → merge → merge+json_mode off) 순으로 시도해 되는 .env 값을 알려준다. --real 은 실제 조각 추출 프롬프트로

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 15:52:29 +09:00
byeongwook.choiandClaude Fable 5.1 0f70c0d245 LLM 호출 규격 전환: 고객사 사내 LLM(FabriX/Gauss) 헤더 지원 (LLM_PROVIDER=fabrix)
- settings: LLM_PROVIDER/LLM_CHAT_PATH/LLM_BODY_MODEL/LLM_JSON_MODE/LLM_MAX_TOKENS, FABRIX_* 3종, llm_enabled()
- llm_client: headers()/body() 를 규격별로 구성. fabrix 는 x-openapi-token(Bearer)/x-generative-ai-client/
  x-llm-model-id/x-generative-ai-user-email, body model 은 LLM_BODY_MODEL
- summarize/ping: 접속 점검 명령 (--show 로 요청만 확인)
- docs/llm-provider-plan.md: 계획·.env 값·오류별 조치. 기본값은 openai 라 기존 동작 불변

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 15:18:55 +09:00
byeongwook.choiandClaude Fable 5.1 11ae3629b2 Initial commit: ABAP indexing pipeline (ingest, parser, summarize, index, query, wiki)
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-09-21 13:23:37 +09:00