b6ae39bf3e
fix(edge): worker 산출물 경계를 plan에 고정한다
2026-08-15 10:35:32 +09:00
81439001f9
fix(edge): 분리된 Gemini 도구 호출을 보존한다
2026-08-15 10:29:48 +09:00
03aff0b8f8
fix(edge): Gemini 병렬 도구 인덱스를 정규화한다
2026-08-15 10:25:34 +09:00
1e2aaf4c64
fix(edge): artifact content와 제어 경로를 분리한다
2026-08-15 10:13:02 +09:00
5dfce5fd90
fix(edge): review 검증 진입을 강제한다
2026-08-15 10:08:00 +09:00
0feb3b5e83
fix(edge): worker review handoff를 plan에 명시한다
2026-08-15 09:37:28 +09:00
4f1faa56e3
fix(edge): 하이브리드 단계 책임을 복원한다
...
Planner와 Reviewer의 축약 계약을 system 경계에 두고 Worker가 실제 Review 증거를 직접 남기도록 해 terminal 요약에 의한 인계 누락을 막는다.
2026-08-15 09:24:28 +09:00
c051529c05
fix(openai): Review 읽기를 handoff 쓰기와 구분한다
...
Work 도구 호출에 review 경로가 포함됐다는 이유만으로 handoff write로 오분류하지 않는다. 실제 write content가 있는 호출만 handoff로 판정하고 단순 read/inspection은 caller 도구로 통과시킨다.
2026-08-15 08:42:16 +09:00
64ab12b895
fix(openai): Work에 절대 Plan 경로를 전달한다
...
호출자가 이미 제공하는 working directory를 사용해 Work 입력의 Plan 경로를 절대경로로 해석한다. 잘못 추가했던 /iop 추정 alias는 제거하고 일반 workspace 호출은 그대로 통과시킨다.
2026-08-15 08:31:20 +09:00
864a930b55
fix(openai): 발급된 artifact 경로를 정규화한다
...
로컬 모델이 선행 점을 슬래시로 바꾼 경우에도 정확한 Plan과 Review만 식별하고 일반 workspace 호출은 그대로 유지한다.
2026-08-15 08:15:15 +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
fe08764fcf
fix(openai): canonicalize issued tool calls
2026-08-15 06:39:36 +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
70176afda6
fix(edge): classify artifact lineage mismatches
2026-08-15 06:21:57 +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
dbf278e854
fix(openai): preset selector effort를 결속한다
...
caller body에 effort가 없어도 preset selector가 소유한 reasoning effort를 operation 요구사항에 포함해야 올바른 Responses wire를 선택할 수 있다.
2026-08-15 05:45:04 +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
aeedf9b59d
test(plan): 선행 조사 흐름을 검증한다
...
Plan 조사 호출이 추가된 실제 실행 순서와 단계별 도구 예산을 통합 fixture가 정확히 반영하도록 한다.
2026-08-14 18:36:44 +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
b7fc808a56
fix(config): provider admission을 transport 상한과 분리한다
2026-08-13 23:12:33 +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
2fcc1093c7
fix(openai): 스트림 정지 종료를 복구한다
...
semantic filter 비활성 경로도 endpoint codec과 terminal sink를 유지해야 논리적 finish 뒤 정지가 열린 응답으로 남지 않는다.
2026-08-13 11:43:37 +09:00
0e17a9d9ec
fix(edge): Gemini 거부 출처를 구분한다
...
Edge 내부 오류가 provider HTTP 거부로 기록되지 않도록 실제 tunnel status에서만 관측하고, dev release가 stale tracking ref와 존재하지 않는 package root에 막히지 않게 한다.
2026-08-13 10:34:33 +09:00
28ed27a575
fix(benchmark): direct 진단 런타임을 안정화한다
2026-08-13 09:14:23 +09:00