Commit graph

183 commits

Author SHA1 Message Date
9a4013904d sync: all pending changes - roadmap, spec, test, code, scripts, archive 2026-07-18 23:47:02 +09:00
cedb7fd41b refactor: 로드맵 갱신 및 클라이언트/에지/노드 개선 2026-07-18 14:15: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
leedongmyun
9f5d15d91c chore: sync OpenAI compatible API contract, routing policy, and dev-corp test updates 2026-07-13 19:18:07 +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
aeec784c7b feat: 라우팅 정책 모델 오케스트레이션 진행 및 provider config 반영
- seulgivibe OpenAI-compatible provider 완료 후 archive로 이동
- 모델 그룹 혼합 제공자 디스패치 milestone 진행
- agent-spec: OpenAI-compatible surface, provider pool config refresh 갱신
- Go: mapper.go/config.go provider config 매핑 개선
- agent-task: 새 subtask plan/code-review 문서 추가
2026-07-11 14:27:24 +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
a1a15faabb sync: update routing-policy-model-orchestration phases, edge/node runtime and transport fixes, openai-compatible adapter improvements 2026-07-07 22:52:55 +09:00
cc87db264b feat: sync edge module validation and E2E script updates
- Add mock resource activation for G06 review followup alignment
- Expand edgevalidate tests and refactor validation logic
- Update node mapper with improved handling
- Add integration and server test fixes
- Update Go config with new options
- Fix E2E scripts (cli-workspace, lemonade, ollama, vllm)
2026-07-07 04:38:31 +09:00
59e09cdb07 refactor: mattermost 통합 정리 및 openai tool boundary 개선 2026-07-06 21:06:36 +09:00
d8fa80e7bc chore: clean up review files and update log_safety_test 2026-07-06 15:45:56 +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
698f03c0ea refactor: clean up long-context admission smoke test files and input estimator 2026-07-06 09:33:08 +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
35eb21959f feat: queue skip support in model queue 2026-07-05 19:50:11 +09:00
b2754b871f feat: long context admission support - refactor edge server, add input estimator 2026-07-05 19:26:06 +09:00
2c9faad1f3 feat: long context admission support - refactor edge server, add input estimator 2026-07-05 18:18:58 +09:00
26e2301116 feat: long context admission support for model group 2026-07-05 15:44:54 +09:00
9b64a26f18 Update roadmap and openai server implementation 2026-07-05 05:19:02 +09:00
59e55d409e feat: openai-compatible tool call boundary hardening & knowledge tool optimization 2026-07-04 18:21:27 +09:00
0ca170013d feat: openai-compatible tool call boundary hardening changes 2026-07-04 17:31:03 +09:00
b55d1a2e85 fix: document and verify provider priority leveling 2026-07-04 15:05:36 +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
9ecf7f9fef feat: add OpenAI compat stream trace logging
- Add stream trace logging to edge server streamChatCompletion
- Add stream trace logging to node adapter openai_compat provider
- Enable trace via IOP_OPENAI_COMPAT_TRACE_STREAM env var or iop_trace_stream metadata
- Track content, reasoning, tool_calls chunks with think tag detection
2026-07-03 11:54:26 +09:00
c3b40cbe1c feat(edge): tool validation contract and chat completion retry 2026-07-03 05:08:02 +09:00
7acb8e59fa feat: reasoning_delta 이벤트 처리 및 출력 개선
- reasoning_delta 이벤트 전파: edge console와 node sink에서 explicit 케이스로 처리
- 각 줄에 [node-reasoning] prefix를 붙여 reasoning 출력을 구분
- 빈 delta는 무시하고, 멀티라인 content도 각 줄에 prefix 적용
- 관련单元测试 추가
2026-07-02 14:05:19 +09:00