Skip to content

Commit 2c131a6

Browse files
committed
Merge branch 'dev' into preview: 2026-07-25 bug-fix train
# Conflicts: # package.json
2 parents 8894e40 + 037e8f5 commit 2c131a6

382 files changed

Lines changed: 20890 additions & 17199 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Lines changed: 263 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,263 @@
1+
{
2+
"objective": "opencodex 워크트리 codex/260725-bug-sweep에서 GUI·enhancement 제외 미해결 버그(#433 quota cooldown 고착, #432 Windows 서비스 stale 오탐, #422 remote compaction v2 fatal, #404 Grok per-model adapter, #373 Cursor 재시작 context 0)를 다중 PABCD 사이클로 직접 수정하고 각 work-phase를 로컬 커밋으로 쌓는다. WP0는 docs-only 로드맵 사이클.",
3+
"slug": "opencodex-codex-260725-bug-sweep-gui-enhancement",
4+
"createdAt": "2026-07-25T08:12:13.026Z",
5+
"updatedAt": "2026-07-25T12:50:38.598Z",
6+
"activeWorkPhaseId": null,
7+
"workPhases": [
8+
{
9+
"id": "wp0",
10+
"title": "WP0 docs-only 로드맵 사이클 — 260725_bug_sweep 유닛 + 이슈별 decade 문서 diff-level 작성",
11+
"status": "done",
12+
"tasks": [
13+
{
14+
"id": "wp0-t1",
15+
"title": "5개 이슈 근본원인을 코드 대조로 확정 (sol high 4기 병렬 조사)",
16+
"status": "done"
17+
},
18+
{
19+
"id": "wp0-t2",
20+
"title": "외부 근거 원문 확인 (MS XSD, xAI, OpenAI Compaction, upstream codex)",
21+
"status": "done"
22+
},
23+
{
24+
"id": "wp0-t3",
25+
"title": "독립 리뷰어 3라운드 감사로 설계 결함 제거",
26+
"status": "done"
27+
},
28+
{
29+
"id": "wp0-t4",
30+
"title": "통합 유닛 구조가 DIFFLEVEL-ROADMAP-01과 충돌함을 확인, 이슈별 단일 work-phase 유닛으로 재구성 결정",
31+
"status": "done"
32+
}
33+
],
34+
"criteriaIds": [
35+
"c-roadmap"
36+
]
37+
},
38+
{
39+
"id": "wp-restructure",
40+
"title": "P-phase 개정 — 통합 유닛을 이슈별 단일 work-phase 유닛으로 분리 (LOOP-UNIT-CHAIN-01)",
41+
"status": "done",
42+
"tasks": [
43+
{
44+
"id": "wpr-t1",
45+
"title": "DIFFLEVEL-ROADMAP-01은 2+ work-phase 유닛에만 적용됨을 규약 원문으로 확인",
46+
"status": "done"
47+
},
48+
{
49+
"id": "wpr-t2",
50+
"title": "이슈별 독립 유닛 devlog/_plan/260725_issue_<n>/ 구조로 전환",
51+
"status": "done"
52+
}
53+
],
54+
"criteriaIds": []
55+
},
56+
{
57+
"id": "wp1",
58+
"title": "WP1 #433 — 먼 미래 resetAt로 인한 quota cooldown 고착 수정",
59+
"status": "done",
60+
"tasks": [
61+
{
62+
"id": "wp1-t1",
63+
"title": "260725_issue_433 유닛 P — 실제 파일 열어 정확한 diff 작성",
64+
"status": "done"
65+
},
66+
{
67+
"id": "wp1-t2",
68+
"title": "cooldown 상한 분리 + probe lease 구현 (lease id 전달 경로 포함)",
69+
"status": "done"
70+
},
71+
{
72+
"id": "wp1-t3",
73+
"title": "회귀 테스트 추가 + typecheck/test 통과 + 커밋",
74+
"status": "done"
75+
}
76+
],
77+
"criteriaIds": [
78+
"c-433"
79+
]
80+
},
81+
{
82+
"id": "wp2",
83+
"title": "WP2 #432 — Windows Task Scheduler XML 기본값 생략 시 stale 오탐 수정",
84+
"status": "done",
85+
"tasks": [
86+
{
87+
"id": "wp2-t1",
88+
"title": "260725_issue_432 유닛 P — 실제 파일 열어 정확한 diff 작성",
89+
"status": "done"
90+
},
91+
{
92+
"id": "wp2-t2",
93+
"title": "생략형 XML을 기본값으로 해석 + diagnoseService wiring 통합",
94+
"status": "done"
95+
},
96+
{
97+
"id": "wp2-t3",
98+
"title": "회귀 테스트 추가 + typecheck/test 통과 + 커밋",
99+
"status": "done"
100+
}
101+
],
102+
"criteriaIds": [
103+
"c-432"
104+
]
105+
},
106+
{
107+
"id": "wp3",
108+
"title": "WP3 #422 — API-key 기반 openai-responses에서 remote compaction v2 fatal 수정",
109+
"status": "done",
110+
"tasks": [
111+
{
112+
"id": "wp3-t1",
113+
"title": "030 문서 stale 체크 후 compaction 분기 경로 확정",
114+
"status": "done"
115+
},
116+
{
117+
"id": "wp3-t2",
118+
"title": "authMode별 compaction 지원 판정 구현",
119+
"status": "done"
120+
},
121+
{
122+
"id": "wp3-t3",
123+
"title": "회귀 테스트 추가 + typecheck/test 통과 + 커밋",
124+
"status": "done"
125+
}
126+
],
127+
"criteriaIds": [
128+
"c-422"
129+
]
130+
},
131+
{
132+
"id": "wp4",
133+
"title": "WP4 #373 — Cursor 재시작 후 context usage 0 보고 수정",
134+
"status": "done",
135+
"tasks": [
136+
{
137+
"id": "wp4-t1",
138+
"title": "050 문서 stale 체크 후 checkpoint tracker 경로 확정",
139+
"status": "done"
140+
},
141+
{
142+
"id": "wp4-t2",
143+
"title": "재시작 시드 복구 또는 request-local 추정 구현",
144+
"status": "done"
145+
},
146+
{
147+
"id": "wp4-t3",
148+
"title": "회귀 테스트 추가 + typecheck/test 통과 + 커밋",
149+
"status": "done"
150+
}
151+
],
152+
"criteriaIds": [
153+
"c-373"
154+
]
155+
},
156+
{
157+
"id": "wp5",
158+
"title": "WP5 #404 — Grok 4.5 per-model adapter override (혼합 게이트웨이 web_search 소실)",
159+
"status": "done",
160+
"tasks": [
161+
{
162+
"id": "wp5-t1",
163+
"title": "040 문서 stale 체크 후 adapter-resolve 경로 확정",
164+
"status": "done"
165+
},
166+
{
167+
"id": "wp5-t2",
168+
"title": "모델별 wire override 구현 또는 BLOCKED 증거 기록",
169+
"status": "done"
170+
},
171+
{
172+
"id": "wp5-t3",
173+
"title": "회귀 테스트 추가 + typecheck/test 통과 + 커밋",
174+
"status": "done"
175+
}
176+
],
177+
"criteriaIds": [
178+
"c-404"
179+
]
180+
},
181+
{
182+
"id": "wp6",
183+
"title": "WP6 최종 통합 검증 — 전체 스위트 회귀 확인",
184+
"status": "done",
185+
"tasks": [
186+
{
187+
"id": "wp6-t1",
188+
"title": "bun run typecheck 전체 통과",
189+
"status": "done"
190+
},
191+
{
192+
"id": "wp6-t2",
193+
"title": "bun run test 전체 스위트 실행 및 회귀 없음 확인",
194+
"status": "done"
195+
},
196+
{
197+
"id": "wp6-t3",
198+
"title": "060 스윕 종료 요약 문서 + 최종 커밋",
199+
"status": "done"
200+
}
201+
],
202+
"criteriaIds": [
203+
"c-suite"
204+
]
205+
}
206+
],
207+
"criteria": [
208+
{
209+
"id": "c-roadmap",
210+
"scenario": "5개 이슈의 근본 원인이 파일:라인 코드 대조로 확정되고, 외부 근거가 원문 확인되며, 독립 리뷰어 감사로 설계 결함이 제거된 상태로 조사 산출물이 커밋된다.",
211+
"expectedEvidence": "devlog 커밋 SHA + 리뷰어 감사 결과 + 근본원인별 파일:라인",
212+
"capturedEvidence": "커밋 cddc86f9(r1), 961fa431(r2), 86de6069(r3). 독립 리뷰어 3라운드 감사(Anscombe 2회, Lagrange 1회)로 근본원인 확정: #433 routing.ts:474 하드 cooldown이 재시작 외 해제 불가(auth-context.ts:132 선차단으로 자기완결 교착), 기존 테스트 codex-routing:312/:806이 2xx 보존을 고정. #432 service.ts:471-493 + 953-958 두 곳 독립 오탐, MS XSD상 생략 Enabled/RunLevel은 true/LeastPrivilege. #422 core.ts:973이 adapter.passthrough만 검사, isCanonicalOpenAiForwardProvider(openai-tiers.ts:32)가 정확한 판정자, core.ts:1828 non-stream 400. #373 protobuf-events.ts:48 tracker가 process-local, protobuf-events.ts:474가 inputTokens:0 복사. #404 adapter-resolve.ts:13 pin에 grok 없음, modelAdapters 성립하나 canonical forward에는 금지 필요. 기준선 typecheck 0 / routing 59 / responses 46 / service 34 / cursor 112 / server-auth 54 / privacy scan 통과.",
213+
"status": "met"
214+
},
215+
{
216+
"id": "c-433",
217+
"scenario": "먼 미래 resetAt를 받은 계정이 상한을 넘겨 고착되지 않고, 회복된 계정이 다시 라우팅 대상이 된다. 수정 전 실패하고 수정 후 통과하는 회귀 테스트가 이 동작을 고정한다.",
218+
"expectedEvidence": "신규 테스트 파일 경로 + bun test 통과 출력 tail + 커밋 SHA",
219+
"capturedEvidence": "커밋 c71defc4. tests/codex-routing.test.ts 72 pass/0 fail (신규 13개: far-future resetAt 상한, Retry-After 보존, retry-after 미probe, interval당 lease 1개, leased success 해제, unleased 2xx 보존, 불일치 lease 미소비, 실패 probe interval 재시작, stale-generation 차단, credential 종료, retry-after source 보존, reset-derived probe 가능, in-flight lease 생존). tests/codex-auth-context.test.ts 17 pass/0 fail (통합: 차단→interval 후 probe 허용→성공→정상 복귀). 기존 codex-routing:312/:806 무수정 통과. 전체 bun run test 4093 pass, 기준선 4079 대비 +14, 실패 2건은 양쪽 동일한 GUI react/jsx-dev-runtime 미해결로 무관. typecheck exit 0, privacy scan 통과.",
220+
"status": "met"
221+
},
222+
{
223+
"id": "c-432",
224+
"scenario": "Enabled/RunLevel이 생략된 Task Scheduler XML을 정상(healthy)으로 판정하고, 실제로 비활성화된 서비스는 여전히 stale로 판정한다.",
225+
"expectedEvidence": "신규 테스트 파일 경로 + bun test 통과 출력 tail + 커밋 SHA",
226+
"capturedEvidence": "커밋 c00b9c0c. tests/service.test.ts 40 pass/0 fail (기존 34 무회귀 + 신규 6: canonicalized XML 수용, 명시적 unsafe 거부, Data/주석 decoy 거부, prefixed 값 거부, Data shadowing 3종 거부, 중복 요소 거부). 전체 bun run test 4099 pass (기준선 4079 대비 +20). typecheck exit 0, privacy scan 통과. wiring은 WindowsServiceDiagnosticInputs 타입 변경으로 강제.",
227+
"status": "met"
228+
},
229+
{
230+
"id": "c-422",
231+
"scenario": "authMode=key인 openai-responses provider에서 remote compaction 요청이 fatal 없이 처리되거나 명확히 미지원으로 저하(degrade)된다.",
232+
"expectedEvidence": "신규 테스트 파일 경로 + bun test 통과 출력 tail + 커밋 SHA",
233+
"capturedEvidence": "커밋 e2626eb6. 신규 tests/responses-compaction-routing.test.ts 10 pass/0 fail (helper matrix, wire rewrite 검사, additional_tools 제거, input_image 재귀 치환, noncanonical forward rewrite, upstream failure, incomplete 차단, output_text.done fallback, completed snapshot fallback). 기존 responses-compaction+passthrough 46 pass 무회귀. 전체 bun run test 4109 pass (기준선 4079 대비 +30). typecheck exit 0, privacy scan 통과.",
234+
"status": "met"
235+
},
236+
{
237+
"id": "c-373",
238+
"scenario": "프록시 재시작 후 checkpoint 없는 Cursor 요청이 inputTokens=0이 아닌 실제 컨텍스트 규모를 보고한다.",
239+
"expectedEvidence": "신규 테스트 파일 경로 + bun test 통과 출력 tail + 커밋 SHA",
240+
"capturedEvidence": "커밋 cb22b7ee. 신규 10개 테스트(cursor-blob 4, cursor-protobuf-events 4, cursor-live-transport 2). cursor+token-estimate 7파일 132 pass/0 fail. 뮤테이션 검증: live-transport estimatedInputTokens 배선 제거 시 transport 테스트 2개가 정확히 실패. 전체 bun run test 4119 pass (기준선 4079 대비 +40). typecheck exit 0, privacy scan 통과. 리뷰어는 kimi/k3(Curie) 3라운드 감사 PASS.",
241+
"status": "met"
242+
},
243+
{
244+
"id": "c-404",
245+
"scenario": "혼합 게이트웨이에서 특정 모델만 responses wire를 쓰도록 override할 수 있거나, 구현 불가 사유가 코드 근거와 함께 문서화된다.",
246+
"expectedEvidence": "신규 테스트 파일 경로 + bun test 통과 출력 tail + 커밋 SHA, 또는 BLOCKED 증거 문서 경로",
247+
"capturedEvidence": "커밋 359e2ecd. 신규 13개(adapter-resolve 7, config 3, management 1, chat-completions-endpoint 3). 증상 회귀: mock dual-wire upstream으로 grok이 /responses에 web_search를 실은 채 도달, sibling은 /chat/completions, inbound도 effective adapter 사용을 검증. 전체 bun run test 4132 pass (기준선 4079 대비 +53). typecheck 0, privacy scan 통과. 리뷰어 kimi/k3 + gpt-5.6-sol medium priority 4라운드 PASS.",
248+
"status": "met"
249+
},
250+
{
251+
"id": "c-suite",
252+
"scenario": "모든 수정을 쌓은 최종 트리에서 bun run typecheck와 bun run test가 기존 대비 신규 실패 없이 완료된다.",
253+
"expectedEvidence": "bun run typecheck 종료코드 0 + bun run test 요약 출력 tail",
254+
"capturedEvidence": "bun run typecheck exit 0. bun run test 4132 pass / 2 fail / 2 errors / 21258 expect() calls. 기준선(변경분 stash 후 동일 명령) 4079 pass / 2 fail / 2 errors — 증가분 +53은 전부 신규 회귀 테스트이고 실패 2건은 gui/src react/jsx-dev-runtime 미해결로 변경 전후 동일. bun run privacy:scan 통과. 교차 영향 직접 실행 확인: canonical forward가 override 후에도 canonical 유지, key 게이트웨이는 canonical 오인 없음, #433 lease가 429->획득->success->해제까지 동작.",
255+
"status": "met"
256+
}
257+
],
258+
"host": {
259+
"armed": true,
260+
"armedAt": null,
261+
"source": "freeze"
262+
}
263+
}
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
{"ts":"2026-07-25T08:12:13.027Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"created","detail":"init objective=\"opencodex 워크트리 codex/260725-bug-sweep에서 GUI·enhancement 제외 미해결 버그(#433 quota cooldown 고착, #432 Windows 서비스 stale 오탐, #422 remote compaction v2 fatal, #404 Grok per-model adapter, #373 Cursor 재시작 context 0)를 다중 PABCD 사이클로 직접 수정하고 각 work-phase를 로컬 커밋으로 쌓는다. WP0는 docs-only 로드맵 사이클.\" criteria=0"}
2+
{"ts":"2026-07-25T10:25:10.974Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp1"}
3+
{"ts":"2026-07-25T10:25:10.974Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_started","detail":"started wp2"}
4+
{"ts":"2026-07-25T10:52:31.760Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp2"}
5+
{"ts":"2026-07-25T10:52:31.760Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_started","detail":"started wp3"}
6+
{"ts":"2026-07-25T11:24:06.677Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp3"}
7+
{"ts":"2026-07-25T11:24:06.677Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_started","detail":"started wp4"}
8+
{"ts":"2026-07-25T12:12:21.536Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp4"}
9+
{"ts":"2026-07-25T12:12:21.537Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_started","detail":"started wp5"}
10+
{"ts":"2026-07-25T12:48:30.899Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp5"}
11+
{"ts":"2026-07-25T12:48:30.899Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_started","detail":"started wp6"}
12+
{"ts":"2026-07-25T12:50:38.598Z","slug":"opencodex-codex-260725-bug-sweep-gui-enhancement","event":"workphase_done","detail":"closed wp6"}

.github/ISSUE_TEMPLATE/config.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,5 +4,5 @@ contact_links:
44
url: https://github.com/lidge-jun/opencodex/blob/main/SECURITY.md
55
about: Read the supported-version and reporting guidance before sharing security-sensitive details.
66
- name: Contributing guide
7-
url: https://lidge-jun.github.io/opencodex/contributing/
7+
url: https://opencodex.me/contributing/
88
about: Review setup, build, and verification guidance for contributors.

.github/ISSUE_TEMPLATE/documentation.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ body:
2828
attributes:
2929
label: Documentation location
3030
description: Public documentation URL or repository path.
31-
placeholder: "https://lidge-jun.github.io/opencodex/providers/ or docs/providers.md"
31+
placeholder: "https://opencodex.me/providers/ or docs/providers.md"
3232
validations:
3333
required: true
3434

0 commit comments

Comments
 (0)