# Phase: 지식과 도구 최적화 확장

## 상태

[계획]

## 목표

Ollama serving 경로와 운영 기반이 안정화된 뒤, 단계 호출, tool/schema 강제, output validation, retry/fallback과 누적 요청 컨텍스트 구성을 IOP의 추론 최적화 계층으로 확장한다.
1차 MVP는 planner/generator/verifier 같은 단계 호출과 runtime schema 검증의 최소 실행 모드를 스케치하는 데 집중하고, caller-neutral 누적 요청 컨텍스트 최적화, RAG 장기 기억, advisor와 Context Hook은 서로 다른 2차 기능으로 분리한다.
이 Phase는 특정 Agent Shell에 종속되지 않고 OpenAI-compatible, A2A, IOP native protocol 중 맞는 표면에서 공통 최적화 책임을 제공하는 방향을 다룬다.

## Milestone 흐름

완료된 Milestone은 archive 경로를 가리키고, 검토중, 진행중, 계획, 스케치 또는 보류 Milestone은 이 Phase 하위 `milestones/` 경로를 가리킨다.
이 흐름은 해당 Phase 안의 상태 정리이며, Phase를 가로지르는 실행 순서는 아니다.
Milestone은 완료, 검토중, 진행중, 계획, 스케치 또는 보류 상태 그룹으로 정리한다.
Phase를 가로지르는 실제 다음 작업 선택은 [전역 마일스톤 실행 순서](../../priority-queue.md)를 우선한다.

- [완료] Tool Call Runtime 검증 재시도 MVP
  - 경로: [tool-call-runtime-validation-retry](../../archive/phase/knowledge-tool-optimization-extension/milestones/tool-call-runtime-validation-retry.md)
  - 요약: 명시적 `tools[]`/`tool_choice` 계약이 있는 OpenAI-compatible 요청에서 IOP 내부 provider 응답의 마지막 tool call을 검증하고, schema 불일치 시 같은 요청을 bounded exact replay로 재시도하는 runtime-only MVP를 구현한다.

- [완료] OpenAI-compatible Think 제어 MVP
  - 경로: [openai-compatible-think-control](../../archive/phase/knowledge-tool-optimization-extension/milestones/openai-compatible-think-control.md)
  - 요약: OpenAI-compatible Chat Completions 요청에서 thinking/reasoning 생성과 응답 노출을 요청별로 제어하고 provider별 option 매핑과 unsupported 정책을 구현한다.

- [완료] OpenAI-compatible Tool Call Boundary Hardening
  - 경로: [openai-compatible-tool-call-boundary-hardening](../../archive/phase/knowledge-tool-optimization-extension/milestones/openai-compatible-tool-call-boundary-hardening.md)
  - 요약: provider-pool/OpenAI-compatible 응답에서 raw text tool-call block, unknown tool name, chat-template sentinel token이 클라이언트 화면으로 새지 않도록 Edge tool-call 경계를 검증/정규화한다.

- [진행중] Stream Evidence Gate Core
  - 경로: [stream-evidence-gate-core](milestones/stream-evidence-gate-core.md)
  - 요약: codec의 response-start/event를 첫 safe release까지 stage하고 500-rune rolling, bounded terminal/fragment hold, pre-read 기본값/절대 상한 16 MiB raw-canonical ingress snapshot과 request-snapshot 기반 Filter Registry를 제공한다. Gate Coordinator가 single-flight all-complete evaluation/commit을, RecoveryPlan Coordinator와 host adapter가 strategy별 budget과 최초 실행 제외 기본값/절대 상한 3회의 request 전체 cap 아래 abort·optional one-shot plan prepare·lossless rebuild·cycle별 single re-admission을 담당한다.

- [계획] OpenAI-compatible 출력 검증 필터
  - 경로: [openai-compatible-output-validation-filters](milestones/openai-compatible-output-validation-filters.md)
  - 요약: OpenAI-compatible Chat Completions와 Responses provider stream의 반복, assistant-history anchor, 동일 tool/action, schema/provider error를 caller-neutral하게 판정하는 Core `Filter` 구현체를 제공한다. filter는 model/provider별 on/off와 semantic decision/RecoveryIntent만 소유하고, 병렬 평가·all-complete arbitration·retry budget·request rebuild/re-admission은 Stream Evidence Gate Core의 공통 Coordinator를 소비한다.

- [계획] OpenAI-compatible Incomplete Tool Call Syntax Gate
  - 경로: [openai-compatible-incomplete-tool-call-syntax-gate](milestones/openai-compatible-incomplete-tool-call-syntax-gate.md)
  - 요약: terminal provider 응답에서 완성된 tool call 수와 raw/reasoning/content tool-call marker scanner 결과가 불일치하는 케이스를 runtime에서 deterministic하게 판정해 incomplete tool-call syntax로 분류한다.

- [스케치] OpenAI-compatible Runtime Output Integrity Filter
  - 경로: [openai-compatible-runtime-output-integrity-filter](milestones/openai-compatible-runtime-output-integrity-filter.md)
  - 요약: terminal assistant 응답이 content, valid tool call, 명시 허용 structured/error finish 중 하나를 만족해야 한다는 runtime invariant를 정의하고, empty terminal, reasoning-only, incomplete tool-call syntax 같은 deterministic violation을 공통 filter pipeline과 bounded retry 정책으로 묶는다.

- [스케치] LLM 판별 기반 Missing Tool Call 재시도 Gate
  - 경로: [llm-judged-missing-tool-call-retry-gate](milestones/llm-judged-missing-tool-call-retry-gate.md)
  - 요약: Pi/dev-corp 같은 tool-bearing 요청에서 provider가 tool 사용 의도를 reasoning했지만 tool call 없이 종료하는 케이스를 LLM judge와 buffered retry 후보로 재검토하고, 정확한 종료/재시도 정책이 정의될 때까지 구현을 잠근다.

- [스케치] 단계 호출과 검증 최적화 MVP
  - 경로: [knowledge-tool-validation-optimization](milestones/knowledge-tool-validation-optimization.md)
  - 요약: 요청 의도 분석, 실제 작업, 검증/schema 강제, 오류 시 회귀를 단계 호출 실행 모드의 MVP 후보로 스케치한다.

- [스케치] Tool Call 판정 모델 Gate 리뷰
  - 경로: [tool-call-validator-model-gate-review](milestones/tool-call-validator-model-gate-review.md)
  - 요약: 명시적 tool schema만으로 판정할 수 없는 자연어/텍스트/agent-specific tool call 후보를 별도 validator 모델로 분류할지, 어떤 조건에서 허용할지 사용자 리뷰가 필요한 결정 항목으로 스케치한다.

- [스케치] Provider 입력 컨텍스트 선택과 축소
  - 경로: [request-context-assembly-optimization](milestones/request-context-assembly-optimization.md)
  - 요약: provider 입력으로 누적된 history를 현재 요청 관련성에 따라 과거 요청-답변 단위로 먼저 절단하고, 유지한 답변·tool/search 결과 안에서도 필요한 문단·코드 블록·구간만 남기는 caller-neutral 방향을 스케치한다. provider 응답을 사용자에게 전달하는 출력 경계는 다루지 않는다.

- [스케치] 장기 기억과 RAG 업데이트 사이클 (2차)
  - 경로: [long-term-memory-rag-second-wave](milestones/long-term-memory-rag-second-wave.md)
  - 요약: 특정 repo 장기 기억, RAG 저장소, update cycle, MCP 기반 context 절약은 MVP 이후 2차 후보로 스케치한다.

- [스케치] Advisor와 Context Hook 확장 (2차)
  - 경로: [advisor-context-hook-second-wave](milestones/advisor-context-hook-second-wave.md)
  - 요약: advisor 역할과 여러 최적화·검증 기능을 실행 흐름에 연결할 수 있는 Context Hook의 호출·실패·노출 경계를 별도 2차 후보로 스케치한다.

## Phase 경계

- 이 Phase는 Ollama 경로와 Edge model group queue가 안정적인 serving 경로로 검증된 뒤 시작한다.
- 이 Phase는 Control Plane/Client 운영 기반과 운영 관측 MVP 없이 현재 provider 확장 Phase 안으로 당겨 구현하지 않는다.
- 기본 `/v1/models`, `/v1/chat/completions`, Edge-Node relay, Ollama option/API passthrough 안정화는 `Ollama 서빙 안정화 기반` Phase 책임이다.
- 추가 추론 서버 provider의 adapter/config/target/model 매핑 표준화는 `추론 서버 provider 확장` Phase 책임이다.
- 단계 호출, schema 강제, validation/fallback은 1차 MVP 후보로 검토하되, 누적 요청 컨텍스트 최적화, 장기 기억/RAG, advisor, Context Hook, cloud fallback, 품질 평가 feedback은 서로 책임이 다른 2차 또는 그 이후의 확장으로 둔다.
- direct/Plan/Milestone 분류와 workflow 실행 라우팅은 `Automation Runtime과 Bridge 확장` Phase 책임으로 두며, 이 Phase의 컨텍스트 최적화 계층은 선택된 target과 budget을 소비할 뿐 target을 고르지 않는다.
