4f1faa56e3
fix(edge): 하이브리드 단계 책임을 복원한다
...
Planner와 Reviewer의 축약 계약을 system 경계에 두고 Worker가 실제 Review 증거를 직접 남기도록 해 terminal 요약에 의한 인계 누락을 막는다.
2026-08-15 09:24:28 +09:00
64ab12b895
fix(openai): Work에 절대 Plan 경로를 전달한다
...
호출자가 이미 제공하는 working directory를 사용해 Work 입력의 Plan 경로를 절대경로로 해석한다. 잘못 추가했던 /iop 추정 alias는 제거하고 일반 workspace 호출은 그대로 통과시킨다.
2026-08-15 08:31:20 +09:00
71c66aeaab
fix(openai): caller workspace 경로 차단을 제거한다
...
Plan과 Review의 정확한 접근만 상태로 기록하고 일반 작업 경로는 모델과 caller 도구에 그대로 맡긴다.
2026-08-15 08:10:53 +09:00
c1a402fe50
fix(openai): 로컬 Work 인계를 단순화한다
...
로컬 모델이 내부 REVIEW 프로토콜에 결합되지 않고 PLAN만 읽어 작업하도록 책임 경계를 Edge로 옮긴다.
2026-08-15 07:53:31 +09:00
bfaa9e8684
fix(openai): canonicalize worker review handoff
2026-08-15 07:09:13 +09:00
9baf54a026
fix(openai): normalize reserved path aliases
2026-08-15 07:03:06 +09:00
6f809f99b0
fix(openai): preserve cleanup call identity
2026-08-15 07:00:09 +09:00
0b037d0367
fix(openai): buffer command-mode stage projection
2026-08-15 06:57:26 +09:00
deea8d9592
fix(openai): validate stages before caller projection
2026-08-15 06:51:03 +09:00
9e13304d65
fix(openai): bind canonical artifact operations
2026-08-15 06:43:01 +09:00
51e5e4f35b
fix(openai): normalize continuation tool identity
2026-08-15 06:34:45 +09:00
82bfcd432a
fix(openai): atomically author selector artifact pair
2026-08-15 06:30:47 +09:00
619a05e0d4
fix(openai): selector pair 호출을 병렬 허용한다
...
pair-write 계약이 두 canonical write를 한 응답에 요구하므로 provider wire에서도 해당 단계에만 parallel tool calls를 명시해야 partial pair를 피할 수 있다.
2026-08-15 06:17:04 +09:00
0bf0464ee3
fix(openai): selector canonical tool schema를 제공한다
...
caller command tool schema를 selector에게 그대로 보여주면서 path/content 호출을 요구해 reserved artifact가 거부됐다. Provider에는 canonical schema를 주고 caller projection에서 실제 command로 encode한다.
2026-08-15 06:14:10 +09:00
4e441526b4
fix(openai): Responses 결과를 operation으로 해석한다
...
OpenAI Chat ingress의 내부 wire가 Responses로 전환돼도 decoder가 caller protocol만 보고 Chat shape를 요구해 502를 만들었다. selected operation을 우선해 공통 stage로 복원한다.
2026-08-15 06:07:16 +09:00
417c54c016
fix(openai): 내부 Responses stream 결속을 맞춘다
...
buffered Chat-to-Responses body와 tunnel metadata가 서로 다른 stream 값을 가지면 provider 종료 뒤에도 selector terminal이 수렴하지 않는다. 내부 wire를 일관된 non-stream으로 고정한다.
2026-08-15 05:59:21 +09:00
1ad03e0bd0
fix(openai): selector 출력 예산을 제한한다
...
bounded PLAN/REVIEW seed 생성에 caller SDK의 32000-token 기본값을 그대로 쓰면 high-effort selector가 provider timeout까지 점유한다. 내부 selector에만 4096-token 상한을 적용한다.
2026-08-15 05:55:06 +09:00
e9f043e417
fix(openai): reasoning Responses sampling을 정규화한다
...
GPT reasoning Responses wire가 generic SDK의 temperature와 top_p 기본값을 거부한다. mapped effort가 활성화된 내부 변환에서는 충돌하는 sampling defaults를 제거한다.
2026-08-15 05:40:45 +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
54c0ab1316
feat(plan): 워크스페이스 분석을 선행한다
...
근거 없는 계획 생성을 막기 위해 읽기 전용 조사가 성공한 뒤에만 Plan을 확정하도록 한다.
2026-08-14 18:19:17 +09:00
4e845e1749
feat(orchestration): 템플릿 기반 작업 인계를 적용한다
...
단일 요청의 계획·작업·리뷰·수리 단계가 정형화된 산출물을 다음 단계로 전달하고, 선택적 selfcheck로 불완전한 dispatcher 결과를 보완하기 위해 반영한다.
2026-08-14 17:19:35 +09:00
b02654f781
feat(api): Responses 브리지와 Gemini effort를 완성한다
...
표준 Responses 요청이 선택된 provider profile을 통해 손실 없이 실행되고 Gemini의 휴대 가능한 reasoning 등급만 전달되도록 한다.
2026-08-14 08:07:10 +09:00
d99305d105
fix(edge): Gemini 도구 서명을 provider 계층에서 정규화한다
2026-08-14 04:42:45 +09:00
653977383b
fix(edge): provider timings 응답을 정규화한다
2026-08-14 01:46:20 +09:00
84b76fcafe
fix(edge): 대화 중 system 메시지를 정규화한다
2026-08-14 01:31:55 +09:00
8dd0c9c297
fix(edge): provider chat 응답을 정규화한다
2026-08-14 01:02:43 +09:00
73d9b51432
fix(edge): single request provider 정규화를 적용한다
2026-08-14 00:24:11 +09:00
2df72b21f1
Merge branch 'feature/benchmark-route-provider-followup' into dev
2026-08-13 23:29:18 +09:00
3d53c28ae1
fix(edge): Gemini caller 모델 경로를 분리한다
...
엄격한 route 식별자 규칙을 유지하면서 공식 caller의 URL-encoded 표시 모델 이름은 별도 bounded 규칙으로 수용해 Gemini ingress의 잘못된 400을 제거한다.
2026-08-13 23:28:51 +09:00
ad70fcb46e
fix(edge): agy 도구 연속 호출을 지원한다
...
공식 agy의 model-role functionResponse를 Chat tool 메시지로 변환한다.
원격 벤치 검증 기록과 후속 API surface 리팩터링 계획을 함께 반영한다.
2026-08-13 23:25:39 +09:00
e5869a53ae
fix(edge): provider 호출 정규화 계층을 추가한다
...
caller별 예외 대신 요청 의미와 protocol profile capability로 operation을 선택해 tools와 effort 조합을 보존한다. 지원하지 않는 effort는 가장 가까운 하위 등급으로만 내리고 상향 매핑은 거부한다.
2026-08-13 23:06:50 +09:00
721960fec7
fix(runtime): provider stall 재시도를 단일 종료로 제한한다
2026-08-13 20:39:10 +09:00
58fdb32264
fix(edge): Plan 구조 출력을 배열로 고정한다
2026-08-12 18:41:23 +09:00
f4191097a2
fix(edge): Claude advisor beta를 수용한다
2026-08-12 18:23:37 +09:00
494d863a85
fix(edge): Plan 아티팩트를 결정적으로 렌더링한다
2026-08-12 18:07:21 +09:00
de4d8f4ff8
feat(benchmark): IOP Agent 연결 경로를 추가한다
...
세 Agent의 direct route를 동일한 fail-closed preflight와 격리 실행 경계에서 비교하고, 관측되지 않은 preset 셀이 실행되는 것을 막기 위해 연결 계약과 증거 수집 흐름을 고정한다.
2026-08-10 08:11:04 +09:00
31fada5d08
fix(single_request): 템플릿 승인 경계를 닫고 회귀 근거를 채운다
...
공식 리뷰가 지적한 두 가지 승인 경계 결함을 고친다. `plan_file`/`review_file`은
edge.yaml 디렉터리 기준 상대 경로만 허용하고 절대/빈 경로는 파일 접근 전에 거부한다.
필수 heading과 Review `PASS`는 부분 문자열이 아니라 정확한 단독 줄로 검증하며,
문서화된 placeholder를 제거한 뒤 남는 `{{`/`}}`를 거부해 문법을 닫는다.
리뷰가 존재한다고 기술했지만 실제로는 없던 회귀 근거를 추가한다. admission 시
고정된 effective 템플릿 쌍이 clone과 workspace 재검증을 통과하는지, refresh가
이미 승인된 요청이 아니라 새 요청에만 적용되는지, custom Review 템플릿이 내부
artifact만 바꾸고 caller 최종 출력은 그대로인지를 각각 확정 검증한다.
현재 문서도 실제 동작에 맞춘다. Edge 실행 spec의 낡은 Plan JSON Schema 서술을
direct PlanMD 검증으로 고치고, outer Anthropic 계약과 input spec에 템플릿이
Edge 내부 stage 입력일 뿐 caller 요청/응답 계약을 바꾸지 않음을 명시한다.
Refs: agent-task/single_request_plan_review_templates/PLAN-cloud-G08.md
2026-08-09 09:25:27 +09:00
0eaab4561d
docs(roadmap): 단일 요청 실행 마일스톤을 종료한다
2026-08-09 07:00:04 +09:00
d7a150c7fe
feat(agent): 단일 요청 실행 경로를 완성한다
...
Claude의 단일 Anthropic 요청 안에서 IOP가 Plan, Work, Review와 workspace 도구 실행을 끝내고 실제 dev smoke로 계약을 검증할 수 있어야 한다.\n\n완료 task evidence와 마일스톤 검토 상태도 같은 변경에 고정한다.
2026-08-08 23:35:13 +09:00
dc9a9a8c59
feat(agent): 단일 요청 Agent 실행 경계를 구현한다
...
승인된 execution preset을 Edge 조정 경계와 Node workspace/tool 실행 경계로 연결해 단일 요청 수명주기와 관측 계약을 일관되게 처리한다.
2026-08-07 07:03:55 +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
4b3b5debae
feat(openai): extend Anthropic bridge compatibility
2026-08-06 07:04:03 +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