Commit graph

114 commits

Author SHA1 Message Date
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
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
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
c8e98d4e10 refactor(runtime): promote provider-only execution boundary 2026-08-02 20:28:45 +09:00
4c8441e6c9 feat(credential): Provider Credential Slot 라우팅을 구현한다
사용자별 credential 저장, lease, projection, runtime 전달과 OpenAI-compatible 계약 및 검증 근거를 함께 반영한다.
2026-08-02 09:10:11 +09:00
892dc58369 fix(protocol-profile): 요청 경계와 후속 계획을 정리한다
Anthropic 전용 API key가 일반 OpenAI 요청에 적용되지 않도록 경계를 좁히고 잘못된 절대 operation URL을 fail-closed로 거부해야 한다.\n\n완료 Milestone archive와 principal credential 후속 agent-task를 같은 기준선에 맞춘다.
2026-08-01 12:52:56 +09:00
f2306f4dc8 feat(protocol-profile): 멀티 프로토콜 프로필을 추가한다
OpenAI 호환 및 Anthropic Messages 경로의 프로토콜 프로필, 라우팅 계약, 테스트와 실행 증거를 함께 반영한다.
2026-08-01 10:33:10 +09:00
f98d1b434b fix(openai): usage 귀속 마일스톤을 종료한다
Stream Gate 준비 실패에서도 요청 terminal 관측 계약을 지키고, direct provider identity 마이그레이션 누락으로 기존 검증과 운영 설정이 깨지지 않게 한다.
2026-07-31 21:20:19 +09:00
04879f2b43 feat(openai): 실제 provider별 사용량 귀속을 기록한다
요청 종료 계수와 실제 provider 시도 사용량을 분리하고, 직접·pool·retry 경로의 attribution을 보존한다. 관련 계약·스펙과 완료된 task archive 정리도 함께 반영한다.
2026-07-31 20:22:23 +09:00
c380892159 fix(openai): 채팅 터널 실패 종료를 보장한다
재시도 소진 뒤 거부된 터미널을 재생하지 않고 SSE 오류로 종료해야 클라이언트가 중단된 스트림 대신 명시적인 실패를 관측할 수 있다.
2026-07-30 17:42:25 +09:00
750cb1d1cb feat(stream-gate): 필터 검증 변경을 반영한다 2026-07-30 08:13:08 +09:00
d1e32b6e06 feat(openai): 반복 출력 복구를 구현한다
출력 반복을 요청 단위로 감지하고 안전한 continuation lifecycle을 보장하기 위해 Chat/Responses codec과 stream gate evidence를 함께 정렬한다.
2026-07-29 18:40:36 +09:00
772f63f25c feat: add stream gate pipeline, policy, filters, tunnel codec files 2026-07-28 15:25:23 +09:00
772b235778 feat: openai-compatible output validation filters - stream gate pipeline, policy, filters, tunnel codec, model queue, provider pool, contract & spec updates 2026-07-28 15:21:09 +09:00
7634ca8962 feat(stream-evidence-gate-core): complete stream evidence gate core implementation
- OpenAI request rebuilder with tool validation and provider tunnel
- Edge config runtime refresh for stream evidence gate
- Filter observation contract and runtime with sink/correlation
- Stream gate dispatcher, release sink, and vertical slice
- Recovery coordinator for evidence tail
- Parallel evaluation and commit boundary
- E2E test script for OpenAI vLLM
- Archive completed task groups to archive/2026/07
2026-07-28 04:08:12 +09:00
cdbc80a308 sync: archive migration, runtime-bridge updates, edge openai rebuilder, dispatch skill, docs 2026-07-27 17:55:16 +09:00
c1c1e19678 feat(streamgate): 요청 런타임 수명주기를 구현한다
증거 평가와 복구를 하나의 요청 루프로 수렴시켜 OpenAI ingress 재구성과 stream release를 일관되게 처리한다.
2026-07-26 21:03:39 +09:00
ae5845cd68 fix: post-commit refinements
- Update runtime loop plan/code-review
- Fix chat_handler, input_estimator_test, openai_request_rebuilder, provider_tunnel, responses_handler
- Fix ingress_snapshot_test
- Add code review and plan logs
2026-07-26 20:53:32 +09:00
d182eafeff feat: stream evidence gate core - full implementation
- Stream evidence gate routing in edge config and runtime
- Ingress snapshot and allocation
- Recovery coordinator and plan
- Runtime contract for gate filters
- OpenAI-compatible request rebuilder and stream gate dispatcher
- Comprehensive tests for all new components
- Updated contracts and roadmap milestones
2026-07-26 20:48:53 +09:00
1378a7fc27 refactor: readability baseline 및 리팩토링 (에지/노드/클라이언트/설정) 2026-07-18 07:39:38 +09:00
01dc2ef78b refactor: readability baseline 및 테스트 구조 개선
- agent-readable-repository-refactor 완료: 기존 테스트 파일 아카이브 이동
- 새 테스트 파일 추가 (edge, node, client, config, readability)
- readability_audit 스크립트 및 baseline 추가
- roadmap/SDD 문서 갱신
- agent-client/pi/extensions/openai-sampling-parameters 추가
2026-07-17 16:02:12 +09:00
8c5b01c893 refactor: repository readable restructuring - OpenAI tests, roadmap, and cleanup
- Add unit tests for OpenAI edge adapter (chat handler, stream reasoning, tool synthesis, auth routes, test support)
- Add roadmap: agent-readable-repository-refactor milestone with subtask plans
- Update PHASE.md, priority-queue.md, .gitignore
- Delete old edge/node/openai.test files (replaced by proper test structure)
2026-07-16 13:38:19 +09:00
9b7b4e044f refactor: openai usage metrics stream relay with grafana doc update
- Move usage metrics aggregation to stream layer in edge openai handler
- Refactor stream.go to relay usage metrics from node responses
- Update grafana doc with new metric structure and dashboard notes
- Remove completed G05 plan/code-review artifacts
- Archive closed task artifacts
2026-07-14 18:57:43 +09:00
5cd7aea826 fix(openai): provider native thinking을 보존한다
OpenAI-compatible passthrough에서 caller가 보낸 provider-native thinking field가 catalog 기본 thinking budget으로 덮이지 않아야 한다. provider가 거부한 extension field도 Edge가 선판단하지 않고 provider status/body로 relay되는지 테스트 근거를 남긴다.
2026-07-14 07:21:37 +09:00
33f8f5e57f feat(edge): OpenAI compatible provider pass-through & test coverage 2026-07-14 06:39:53 +09:00
59c2997d47 refactor(openai): call metadata 기반 response_mode 라우터 선택을 제거한다
provider 라우트는 raw tunnel 패스스루, 그 외 라우트는 정규화된
RunEvent 경로로 응답을 결정한다. caller metadata는 임의 컨텍스트이며
응답 경로/shape를 선택하지 않는다 (SDD S01).

- chat_handler.go: response_mode parse/switch 로직 제거, 라우트 기반 분기로 단순화
- responses_handler.go: tunnelResponsesPassthroughSideband 함수 및 response_mode switch 제거
- stream.go: 관련 response_mode 라벨 사용 정리
- server_test.go: response_mode 관련 테스트 케이스 제거 및 정리
- usage_metrics_test.go: 사용되지 않는 테스트 대목 제거
- docs/openai-usage-grafana.md: response_mode 라벨 설명을 passthrough/normalized로 수정
2026-07-13 21:05:04 +09:00
b7fedd04dc feat(edge): model group dispatch code polish and test coverage 2026-07-13 05:54:54 +09:00
8473a5450e feat: custom field preservation and sideband observation
- Add custom field preservation implementation
- Add sideband observation support
- Update OpenAI-compatible API contract
- Update roadmap and task files
2026-07-12 21:15:18 +09:00
ceefb85055 chore: archive task files and update tests
- Move plan/code_review to archive
- Update test files (edge, node, server, model_queue)
2026-07-12 20:50:29 +09:00
3cfe3181c4 feat(edge): model group mixed provider dispatch implementation + archive completed tasks
- Implement mixed provider dispatch with selection-first and path classifier strategies
- Add model queue service for provider load balancing
- Add OpenAI chat handler and stream updates for mixed provider support
- Add comprehensive tests for dispatch and queue logic
- Add inventory for Ornith vLLM mixed provider config
- Archive completed agent tasks (G06, G07)
2026-07-12 15:42:16 +09:00
12a26d4b4c feat: routing-policy-model-orchestration - responses passthrough & model group mixed provider dispatch 2026-07-11 12:42:16 +09:00
b38f978652 feat: update edge config runtime refresh, openai compatible provider, and mapper 2026-07-11 09:48:54 +09:00
c836f1e562 feat: update edge config, usage docs, tests, and roadmap 2026-07-11 04:47:11 +09:00
0bfcb0f189 feat: usage metrics - identity metering, usage token logging, and runtime proto 2026-07-10 17:54:23 +09:00
toki
ff7330680f refactor: reject transformed mode and responses for provider-pool/tunnel routes 2026-07-09 12:47:20 +09:00
toki
b6363f7dd2 feat(openai): explicit reasoning 보존 로직 추가 및 관련 핸들러 개선
Strict output 모드에서 reasoning이 명시적으로 요청된 경우 이를 보존할 수 있도록
normalizeCompletionOutput 함수와 관련 핸들러들의 로직을 업데이트한다.
2026-07-09 11:23:34 +09:00
toki
c747c395cf test(openai): passthrough 모델 alias 설명을 정리한다 2026-07-08 16:24:01 +09:00
toki
909f916df8 fix(openai): passthrough 응답 모델 alias를 보존한다 2026-07-08 16:14:14 +09:00
3348b64284 sync: backpressure cancel code review cleanup and test fixes 2026-07-08 09:09:55 +09:00
893aad6edb sync: edge openai raw tunnel sideband passthrough - contracts, specs, implementation, and tests 2026-07-08 07:51:23 +09:00
1bf5eec31a sync: edge openai raw tunnel sideband passthrough implementation, stream and test updates, roadmap phase sync 2026-07-08 07:17:40 +09:00
fc16a1e05c feat(edge): implement openai compatible raw tunnel sideband passthrough for edge stream
- Implement stream.go with sideband passthrough support
- Update chat_handler.go with streaming handler changes
- Add run_dispatch.go with new dispatch service logic
- Add server tests for streaming and sideband functionality
- Archive old plan/code-review docs for cloud-G07
2026-07-08 06:18:00 +09:00