Commit graph

64 commits

Author SHA1 Message Date
dbf278e854 fix(openai): preset selector effort를 결속한다
caller body에 effort가 없어도 preset selector가 소유한 reasoning effort를 operation 요구사항에 포함해야 올바른 Responses wire를 선택할 수 있다.
2026-08-15 05:45:04 +09:00
4368a31ea6 fix(openai): 도구 호출 effort를 Responses로 보존한다
GPT Chat wire는 함수 도구와 reasoning effort를 함께 지원하지 않는다. caller-workspace 내부 단계가 선택된 프로필의 Responses operation으로 전환해 두 요구를 모두 보존하도록 한다.
2026-08-15 05:30:42 +09:00
0110ca1af8 fix(openai): 프로필별 Chat 호출을 정규화한다
OpenCode의 일반 Chat 요청을 GPT provider가 거부한 뒤 재시도 가능한 오류로 왜곡해 벤치가 장시간 정체됐다. 선택된 protocol profile에 맞춰 출력 토큰 필드를 정규화하고 upstream 400을 비재시도 validation 오류로 유지한다.
2026-08-15 05:12:54 +09:00
c9939edf24 fix(edge): caller workspace 하이브리드 경계를 복구한다
실제 provider 요청과 작업 공간 handoff가 같은 PLAN/REVIEW 계약을 사용해야 하며, 단계별 prepare와 pair-write 의미가 테스트와 런타임에서 일치해야 한다.
2026-08-15 04:01:21 +09:00
d99305d105 fix(edge): Gemini 도구 서명을 provider 계층에서 정규화한다 2026-08-14 04:42:45 +09:00
39fa1da55b fix(benchmark): 원샷 비교 실행 실패를 해소한다
호출기별 격리 쓰기 계약과 Gemini ingress, 단일 요청 stage 처리를 맞춰 실제 9-cell 비교가 생성물을 남길 수 있게 한다.
2026-08-12 14:37:17 +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
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
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
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
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
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
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
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
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
59e09cdb07 refactor: mattermost 통합 정리 및 openai tool boundary 개선 2026-07-06 21:06:36 +09:00
2b3793149c fix(edge/openai): remove preview fields from production logs
Remove all *_preview zap.String/Any fields from OpenAI-compatible log
calls (chat_handler, responses_handler, stream) so that prompt, content,
reasoning, source, and delta values are never written in plain to
operational logs.

Replace preview fields with non-content metadata:
  - prompt_len, content_len, reasoning_len, delta_len, source_len
  - message_count, content_len, finish_reason, tool_call_count

Also remove the now-unused previewString helper from types.go.

Add log_safety_test.go with regression tests that:
  - verify no *_preview fields exist on any log line
  - verify operational metadata fields are retained for observability
  - verify logOpenAICompatStreamOutput does not emit delta_preview
2026-07-06 15:21:50 +09:00
toki
ca5eb4685c fix(edge): provider-pool thinking과 queue 정책을 정리한다
vLLM-MLX provider-pool에서 strict output이 thinking을 끄지 않도록 하고, queue_timeout_ms=0을 IOP queue timeout 없음으로 해석해야 한다. long reasoning/long-context 요청은 IOP queue timeout이 아니라 caller cancellation과 backend timeout 정책으로 제어한다.
2026-07-06 10:16:43 +09:00
5b95208f4c feat: edge runtime model queue and status dispatch updates
- Update control-plane edge wire and edge-node runtime wire contracts
- Refactor model queue service with admission control
- Update chat handler and responses handler for edge
- Modify run dispatch and status provider logic
- Add/modify runtime proto definitions
- Move G07 status logs to archive
2026-07-05 20:01:27 +09:00
2c9faad1f3 feat: long context admission support - refactor edge server, add input estimator 2026-07-05 18:18:58 +09:00
59e55d409e feat: openai-compatible tool call boundary hardening & knowledge tool optimization 2026-07-04 18:21:27 +09:00
9b4c6ac644 feat: edge server-side streaming refactoring and contract/docs update 2026-07-04 13:46:39 +09:00
77ab36cbd1 feat: edge config refresh and OpenAI handlers update
- Add config refresh classification and test coverage
- Update OpenAI chat/responses/stream handlers with config refresh support
- Add comprehensive server tests for config refresh
- Update local dev guide with config refresh information
- Extend config package with ConfigRefresh field
2026-07-04 09:33:00 +09:00
37bab752d0 feat(openai): think 컨트롤 필드 전달과 include_reasoning 옵션을 지원한다
node 어댑터에서 think, reasoning_effort, thinking_token_budget 필드를
vllm, lemonade 등 제공자별로 변환하여 전달하도록 변경한다.
vllm은 chat_template_kwargs로, lemonade는 직접 필드로 전달한다.
에드지는 include_reasoning=false일 때 reasoning_content를
스트림과 비스트림 응답에서 모두 삭제하도록 변경한다.
관련 테스트를 추가한다.
2026-07-03 15:05:39 +09:00
3e1248d584 chore: update knowledge-tool-optimization-extension phase, SDD, and openai changes 2026-07-03 14:29:51 +09:00
c3b40cbe1c feat(edge): tool validation contract and chat completion retry 2026-07-03 05:08:02 +09:00
90bce8336f feat: edge openai handler updates and node provider first config surface
- Modify edge openai chat/stream handlers for priority routing
- Update responses_handler and run_result
- Add model queue test updates
- Add node provider first config surface task
- Archive inflight accounting recovery docs
2026-07-01 10:44:48 +09:00
9529af8dfc fix(openai): store 요청 필드를 호환 처리한다 2026-06-27 23:50:23 +09:00
ea7388cfe9 fix(openai): native tool unsupported fallback 추가 2026-06-27 22:24:06 +09:00
a32264e908 fix(openai): native tool 인자를 schema에 맞춘다 2026-06-27 22:06:43 +09:00
7dc0788f88 fix(openai): provider tool call을 그대로 전달한다 2026-06-27 21:44:49 +09:00
135259619e fix(openai): Cline 도구 호출 변환을 지원한다
Cline이 텍스트 XML 블록으로 도구 호출을 내보내는 경우 OpenAI-compatible tool_calls 응답으로 변환해야 클라이언트 실행 루프가 멈추지 않는다.

Node resource model 로드맵과 agent-task 문서는 요청된 전체 변경 범위에 포함한다.
2026-06-27 13:16:49 +09:00