chore: update openai-compatible tool call boundary hardening milestone
This commit is contained in:
parent
7261b919d5
commit
fcd6068501
1 changed files with 5 additions and 1 deletions
|
|
@ -74,6 +74,10 @@ OpenAI-compatible provider 응답의 tool-call 후보를 요청 schema 기준으
|
|||
- 관련 경로: `apps/edge/internal/openai`, `apps/node/internal/adapters/openai_compat`, `agent-contract/outer/openai-compatible-api.md`, `docs/openai-compatible-api-contract.md`, `agent-test/dev`
|
||||
- 표준선(선택): 명시적 `tools[]`가 있는 요청은 runtime-only validation을 우선한다. 요청 schema에 없는 tool name은 client-visible 성공 content가 아니라 validation failure로 다룬다.
|
||||
- 표준선(선택): provider-pool은 native `tool_calls`만 신뢰하지 않고, raw text tool-call 후보가 보이면 같은 OpenAI-compatible boundary 정책으로 검증한다.
|
||||
- 관측 메모(2026-07-04): 현재 구현/계약은 provider route 또는 provider-pool에서 fallback marker 없이 assistant content에 raw `<tool_call>` text가 들어온 경우 이를 `tool_calls`로 합성하지 않고 성공 content로 보존한다. 로컬 단위 재현은 `TestChatCompletionsDoesNotSynthesizeTextToolCallsForProviderRoute`가 고정하고 있다.
|
||||
- 관측 메모(2026-07-04): unknown text tool-call도 현재는 client-visible content로 남는다. `TestChatCompletionsLeavesUnknownTextToolCallAsContent`와 `TestChatCompletionsLeavesUnknownTemplateToolCallAsContent`가 이 동작을 고정한다.
|
||||
- 관측 메모(2026-07-04): `<|mask_end|>` 같은 chat-template sentinel token 제거 경로는 현재 코드 검색 기준 확인되지 않았다. strict output normalization은 think tag/code fence/XML 정리에 머문다.
|
||||
- 관측 메모(2026-07-04): dev-runtime Edge health는 응답했지만 `/v1/models`는 Bearer 인증을 요구해 secret 없이 live provider 재현은 수행하지 않았다. 실제 Pi/Cline형 긴 prompt에서 모델이 raw block을 자발 출력하는지는 credentialed client smoke로 확인해야 한다.
|
||||
- 선행 작업: Tool Call Runtime 검증 재시도 MVP, OpenAI-compatible Think 제어 MVP에서 확인된 provider-pool/Pi raw leak 진단
|
||||
- 후속 작업: Tool Call 판정 모델 Gate 리뷰, 요청 실행 로그와 Usage Ledger 기반
|
||||
- 확인 필요: 없음
|
||||
- 확인 필요: dev-runtime Bearer credential이 있는 환경에서 Pi/Cline형 긴 agent prompt와 `tools[]` 요청으로 live provider raw leak 또는 차단 결과를 다시 관측한다.
|
||||
|
|
|
|||
Loading…
Reference in a new issue