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
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 정책으로 제어한다.
- 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
- 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
- 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
- reasoning_delta 이벤트 전파: edge console와 node sink에서 explicit 케이스로 처리
- 각 줄에 [node-reasoning] prefix를 붙여 reasoning 출력을 구분
- 빈 delta는 무시하고, 멀티라인 content도 각 줄에 prefix 적용
- 관련单元测试 추가
- Add classify.go/classify_test.go for config-based priority routing
- Add model_queue.go/test with priority queue support
- Update run_dispatch.go to use priority routing
- Add edge.yaml config for model priority settings
- Add config.go/config_test.go for priority config parsing
- Remove G06 priority routing plan/review (merged into main flow)
- Add archive for m-node-provider-first-config-surface task
- Move node-resource-model-unification milestone and SDD to archive
- Update PHASE.md for operational-observability-provider-management
- Refactor edge node registration and model queue logic
- Add status provider tests for model queue validation
- Update edge config and Go config structs
Cline이 텍스트 XML 블록으로 도구 호출을 내보내는 경우 OpenAI-compatible tool_calls 응답으로 변환해야 클라이언트 실행 루프가 멈추지 않는다.
Node resource model 로드맵과 agent-task 문서는 요청된 전체 변경 범위에 포함한다.
- Replace float64 ratio comparison with integer-only load ratio math
to avoid floating-point precision issues.
- Collect all equal-ratio candidates and rotate via lastSelectedSlot so
equally loaded providers do not pin to a single provider.
- Add loadRatioLess and loadRatioEqual helper functions.
- Track lastSelectedSlot in admit and tryDispatchLocked paths.