Commit graph

345 commits

Author SHA1 Message Date
84b76fcafe fix(edge): 대화 중 system 메시지를 정규화한다 2026-08-14 01:31:55 +09:00
f1b7c14610 fix(control-plane): 관리 라우트 갱신 경로를 연결한다
운영 중 provider 선택을 직접 DB 조작 없이 CAS와 projection 동기화를 거쳐 교정할 수 있어야 한다.
2026-08-14 01:04:02 +09:00
8dd0c9c297 fix(edge): provider chat 응답을 정규화한다 2026-08-14 01:02:43 +09:00
73d9b51432 fix(edge): single request provider 정규화를 적용한다 2026-08-14 00:24:11 +09:00
2df72b21f1 Merge branch 'feature/benchmark-route-provider-followup' into dev 2026-08-13 23:29:18 +09:00
3d53c28ae1 fix(edge): Gemini caller 모델 경로를 분리한다
엄격한 route 식별자 규칙을 유지하면서 공식 caller의 URL-encoded 표시 모델 이름은 별도 bounded 규칙으로 수용해 Gemini ingress의 잘못된 400을 제거한다.
2026-08-13 23:28:51 +09:00
ad70fcb46e fix(edge): agy 도구 연속 호출을 지원한다
공식 agy의 model-role functionResponse를 Chat tool 메시지로 변환한다.
원격 벤치 검증 기록과 후속 API surface 리팩터링 계획을 함께 반영한다.
2026-08-13 23:25:39 +09:00
b7fc808a56 fix(config): provider admission을 transport 상한과 분리한다 2026-08-13 23:12:33 +09:00
e5869a53ae fix(edge): provider 호출 정규화 계층을 추가한다
caller별 예외 대신 요청 의미와 protocol profile capability로 operation을 선택해 tools와 effort 조합을 보존한다. 지원하지 않는 effort는 가장 가까운 하위 등급으로만 내리고 상향 매핑은 거부한다.
2026-08-13 23:06:50 +09:00
721960fec7 fix(runtime): provider stall 재시도를 단일 종료로 제한한다 2026-08-13 20:39:10 +09:00
2fcc1093c7 fix(openai): 스트림 정지 종료를 복구한다
semantic filter 비활성 경로도 endpoint codec과 terminal sink를 유지해야 논리적 finish 뒤 정지가 열린 응답으로 남지 않는다.
2026-08-13 11:43:37 +09:00
toki
9449aa4ac4 Merge feature/iop-one-shot-agent-model-comparison into dev 2026-08-13 10:35:43 +09:00
0e17a9d9ec fix(edge): Gemini 거부 출처를 구분한다
Edge 내부 오류가 provider HTTP 거부로 기록되지 않도록 실제 tunnel status에서만 관측하고, dev release가 stale tracking ref와 존재하지 않는 package root에 막히지 않게 한다.
2026-08-13 10:34:33 +09:00
28ed27a575 fix(benchmark): direct 진단 런타임을 안정화한다 2026-08-13 09:14:23 +09:00
toki
cb18d7bba4 Merge benchmark outcome boundaries into release/dev-936 2026-08-12 21:03:24 +09:00
58fdb32264 fix(edge): Plan 구조 출력을 배열로 고정한다 2026-08-12 18:41:23 +09:00
8c8d553471 Merge Claude advisor beta compatibility into release/dev-936 2026-08-12 18:23:43 +09:00
f4191097a2 fix(edge): Claude advisor beta를 수용한다 2026-08-12 18:23:37 +09:00
1f748bd9bd Merge deterministic Plan rendering into release/dev-936 2026-08-12 18:07:36 +09:00
494d863a85 fix(edge): Plan 아티팩트를 결정적으로 렌더링한다 2026-08-12 18:07:21 +09:00
793cfa3fd7 Merge official caller terminal fixes into release/dev-936 2026-08-12 17:22:42 +09:00
30ac305e18 fix(benchmark): 공식 caller 종료 계약을 보정한다 2026-08-12 17:22:27 +09:00
04f7c39372 Merge benchmark runtime failure fixes into release/dev-936 2026-08-12 16:28:20 +09:00
731482ee80 fix(benchmark): 실측 호출 실패 원인을 해소한다 2026-08-12 16:27:46 +09:00
cdf9183048 Merge branch 'feature/iop-one-shot-agent-model-comparison' into release/dev-936 2026-08-12 14:42:44 +09:00
ba47290950 fix(test): Edge refresh 검증을 안정화한다
중복 Start cleanup과 짧은 register timeout이 clean release qualification을 비결정적으로 막지 않도록 fake-node handshake 계약을 통일한다.
2026-08-12 14:42:34 +09:00
b244b6e224 Merge branch 'feature/iop-one-shot-agent-model-comparison' into release/dev-936 2026-08-12 14:37:35 +09:00
39fa1da55b fix(benchmark): 원샷 비교 실행 실패를 해소한다
호출기별 격리 쓰기 계약과 Gemini ingress, 단일 요청 stage 처리를 맞춰 실제 9-cell 비교가 생성물을 남길 수 있게 한다.
2026-08-12 14:37:17 +09:00
d40e4494e7 test(node): workspace 취소 helper를 안정화한다 2026-08-12 08:01:44 +09:00
d48752a0cc test(workspace): 프로세스 대기 helper를 안정화한다 2026-08-12 08:00:09 +09:00
de4d8f4ff8 feat(benchmark): IOP Agent 연결 경로를 추가한다
세 Agent의 direct route를 동일한 fail-closed preflight와 격리 실행 경계에서 비교하고, 관측되지 않은 preset 셀이 실행되는 것을 막기 위해 연결 계약과 증거 수집 흐름을 고정한다.
2026-08-10 08:11:04 +09:00
6f141b9121 fix(single_request): 템플릿 경로 생략과 명시 빈 값을 구분한다
`plan_file`/`review_file`이 평범한 문자열이라 decode 직후 trim-empty가 곧
생략으로 취급되었고, 그 결과 loader의 빈 경로 거부가 설정값에 대해 도달할 수
없었다. 명시적으로 설정한 빈 값과 공백 값이 조용히 built-in default로
떨어지는 승인 경계 결함이므로 optional 표현으로 바꿔 생략만 fallback 신호가
되게 한다. 설정된 값은 파일 접근 전에 trim 후 빈 경로 거부까지 도달한다.

pointer cell이 snapshot 사이에서 aliasing되지 않도록 Templates 전용 deep
clone을 두고, 네 가지 명시 빈/공백 경계와 clone 독립성, 그리고 refresh가
경로나 본문을 노출하지 않는다는 기존 근거를 함께 회귀로 고정한다.

Refs: agent-task/single_request_plan_review_templates/PLAN-cloud-G08.md

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-09 10:04:01 +09:00
31fada5d08 fix(single_request): 템플릿 승인 경계를 닫고 회귀 근거를 채운다
공식 리뷰가 지적한 두 가지 승인 경계 결함을 고친다. `plan_file`/`review_file`은
edge.yaml 디렉터리 기준 상대 경로만 허용하고 절대/빈 경로는 파일 접근 전에 거부한다.
필수 heading과 Review `PASS`는 부분 문자열이 아니라 정확한 단독 줄로 검증하며,
문서화된 placeholder를 제거한 뒤 남는 `{{`/`}}`를 거부해 문법을 닫는다.

리뷰가 존재한다고 기술했지만 실제로는 없던 회귀 근거를 추가한다. admission 시
고정된 effective 템플릿 쌍이 clone과 workspace 재검증을 통과하는지, refresh가
이미 승인된 요청이 아니라 새 요청에만 적용되는지, custom Review 템플릿이 내부
artifact만 바꾸고 caller 최종 출력은 그대로인지를 각각 확정 검증한다.

현재 문서도 실제 동작에 맞춘다. Edge 실행 spec의 낡은 Plan JSON Schema 서술을
direct PlanMD 검증으로 고치고, outer Anthropic 계약과 input spec에 템플릿이
Edge 내부 stage 입력일 뿐 caller 요청/응답 계약을 바꾸지 않음을 명시한다.

Refs: agent-task/single_request_plan_review_templates/PLAN-cloud-G08.md
2026-08-09 09:25:27 +09:00
b6e0080fe5 feat(single_request): implement bounded Plan and Review Markdown templates 2026-08-09 08:41:03 +09:00
3a83f6a7ad fix(api): Claude thinking beta 헤더를 허용한다 2026-08-09 06:55:27 +09:00
d7a150c7fe feat(agent): 단일 요청 실행 경로를 완성한다
Claude의 단일 Anthropic 요청 안에서 IOP가 Plan, Work, Review와 workspace 도구 실행을 끝내고 실제 dev smoke로 계약을 검증할 수 있어야 한다.\n\n완료 task evidence와 마일스톤 검토 상태도 같은 변경에 고정한다.
2026-08-08 23:35:13 +09:00
dc9a9a8c59 feat(agent): 단일 요청 Agent 실행 경계를 구현한다
승인된 execution preset을 Edge 조정 경계와 Node workspace/tool 실행 경계로 연결해 단일 요청 수명주기와 관측 계약을 일관되게 처리한다.
2026-08-07 07:03:55 +09:00
a704a2ce03 chore: 테스트 임시 산출물을 정리한다
소스 트리에 남은 테스트 실행 부산물과 로컬 설정·DB·바이너리를 제거해 저장소 오염을 줄인다. 삭제한 디버그 스크립트의 readability 기준선도 함께 정리한다.
2026-08-06 20:01:57 +09:00
af35296aaa feat(runtime): provider liveness 복구를 dev에 병합한다 2026-08-06 08:56:24 +09:00
f9442edfef feat(runtime): provider liveness 복구를 완성한다
장시간 무응답 attempt를 안전하게 fence하고 provider health와 분리 관측해야 중복 출력 없이 기존 recovery budget으로 재실행할 수 있다.
2026-08-06 08:49:59 +09:00
4b3b5debae feat(openai): extend Anthropic bridge compatibility 2026-08-06 07:04:03 +09:00
495996fee4 feat(openai): 핫패스 에이전트 실행 경로를 확장한다
Anthropic·Chat 게이트와 관찰·종료 제어를 통합하고 관련 계약·검증 산출물을 반영한다.
2026-08-06 00:09:24 +09:00
fef1f7a9dc feat(liveness): provider 실행 stall 관측을 구현한다
Node의 provider progress 기반 stall timeout, watchdog fencing과 bounded health probe evidence를 실행 경로에 반영한다. Edge-Node 계약과 구현 스펙, 테스트 및 Milestone 완료 evidence를 현재 상태와 맞춘다.
2026-08-05 09:45:14 +09:00
09598013d8 Merge dev into feature/iop-hot-path-one-shot-execution 2026-08-04 16:11:49 +09:00
6650e9f70d feat(hot-path): 실행 프리셋과 논리 요청 흐름을 구현한다 2026-08-03 14:42:55 +09:00
4cafc91323 fix(transport): 터널 지연에 맞춰 heartbeat 경계를 보강한다
장시간 provider prefill과 stream backpressure가 정상 노드를 끊지 않도록 liveness window를 확장하고 Chronos 분리 완료 문서와 잔여 artifact를 정리한다.
2026-08-02 22:30:25 +09:00
81243284cb refactor(execution): correct residual agent ownership wording
Post-promotion boundary correction: replace the standalone-agent and
terminal-session wording in doc.go/types.go/main.go with provider-only,
run-scoped descriptions and add a Node CLI regression that rejects Agent
wording. Promotion and recovery evidence is preserved untouched.
2026-08-02 21:12:36 +09:00
c8e98d4e10 refactor(runtime): promote provider-only execution boundary 2026-08-02 20:28:45 +09:00
04b8baceff Merge branch 'feature/glm-coding-plan' into dev 2026-08-02 13:25:56 +09:00
61d4e76fe8 feat(protocol-profile): GLM Coding Plan 프로필을 분리한다
General API와 Coding Plan이 서로 다른 엔드포인트와 사용량 경계를 유지하도록 프로필, credential route, provider mapping, full-cycle 검증을 함께 반영한다.
2026-08-02 13:24:42 +09:00