Skip to content

docs(exploration): Phase B — suminerProxy fork eval + upstream issue classification (Codex R1-R5 0 수렴) - #6

Merged
tgkim-openerd merged 5 commits into
mainfrom
chore/phase-B-upstream-backlog-eval-2026-05-28
May 28, 2026
Merged

tgkim-openerd merged 5 commits into
mainfrom
chore/phase-B-upstream-backlog-eval-2026-05-28

Conversation

@tgkim-openerd

Copy link
Copy Markdown
Collaborator

개요

Phase B = daily-evolve digest (2026-05-28) 의 evaluation + 분류 doc 2건 (doc-only, 코드 변경 X). Codex pair R1-R5 0 수렴.

Phase B 산출물 (2 신규 tracked docs)

1. docs/exploration/2026-05-28-suminerProxy-fork-evaluation.md

gh api repos/openai/codex-plugin-cc/compare/main...suminerProxy:codex-plugin-cc:main 22 commits 분석:

가치 건수 대표 commits
HIGH cherry-pick 강력 권고 6 c30b664 (NDJSON event stream) / a3f4181 (notification hook) / 9332c29 (event stream + stall watchdog) / 4baaf19 (token usage in /codex:status) / 6871973 (CODEX_EVENTS_RAW=0 PII strip) / 30f3a26 (task-stream push + /codex:stream)
MEDIUM 조건부 6 3a0ae2d / 1014d10 / 2f3a397 / 45a24f0 / f701412 / d224805
LOW 1 5e8100a (test isolation, angle 다름)
N/A 9 release 3 (f9f36fb/0e258dc/bdea774) + merge 6

2. docs/exploration/2026-05-28-upstream-issue-classification.md

upstream openai/codex-plugin-cc 30+ open issue 분류:

본 fork 가 이미 cover (총 8건) — upstream gh issue 답글 후보:

upstream # 우리 fix 위치 R1 verdict
openai#281 after logout/login fail PR #4 broker busy + timeout 분기 VERIFIED certain
openai#282 Desktop history isolate v2.0+ plugin home 격리 VERIFIED certain
openai#285 Stop/Session cross-drive solution doc + hooks cd-first VERIFIED certain
openai#287 spawn ENOENT PATHEXT process.mjs buildCommandInvocation VERIFIED certain
openai#288 sendBrokerShutdown timeout broker-lifecycle.mjs L46-48 + L65 VERIFIED certain
openai#298 /codex:review max findings --max-findings flag (default 20, cap 100) VERIFIED certain
openai#337 spawn shell:true Windows process.mjs cmd.exe 래핑 VERIFIED certain
openai#342 setup loggedIn:false broker busy PR #4 broker busy 분기 VERIFIED certain

부분 cover (3건): openai#310 (zh-TW Big5 locale) / openai#286 (broker race) / openai#308 (large prompt rejection)

HIGH port 후보 (8건): openai#350 / openai#349 / openai#345 / openai#336 / openai#333 / openai#331 / openai#330 / openai#295 — 다음 sprint

MEDIUM/LOW (16건): feature requests / VS Code 영역 / Desktop 영역 / 등

Codex Pair Review trace (R1-R5 0 수렴)

Round agent ID finding 상태
R1 ae4c27a7edbc5ebea HIGH 0 + MEDIUM 2 (count 충돌 + NOT-FIXED 분류 오류) + LOW 1 (path 표기) apply (bcb8a14)
R2 a54bbdc7067a5768a R1 partial — stale count 4곳 잔존 apply (effd4b3)
R3 a11792f890463f768 R2 partial — line 81 cover 한 5건 잔존 (replace_all 누락) apply (885ce21)
R4 ac4ea09763a077add R3 partial — line 5/15 cover 5건 잔존 (의미 모순) apply (bf2f756)
R5 ada73e4e8aab57e58 cosmetic stale 0 + blocking 0 + CONVERGED + Squash GO merge GO

R1-R5 trace 의 lesson learned: doc-only PR 의 count/숫자 stale 은 reviewer 가 모든 occurrence 잡기 어려움. replace_all + grep verification 양쪽 결합 필요. 본 PR 의 5 round 는 cosmetic loop 의 limitation 노출 — 다음 doc PR 부터 author 가 commit 전 grep -c "OLD" file && grep -c "NEW" file self-verify 권장.

Commit history (squash 시 1 commit)

bf2f756 fix(phase-b): R4 line 5/15 stale 'cover 5건' → '총 8건 = 본 섹션 5 + 추가 3' 명시
885ce21 fix(phase-b): R3 line 81 stale 'cover 한 5건' → 8건 (replace_all 누락)
effd4b3 fix(phase-b): Codex R2 stale count 4곳 정리 — MEDIUM/N/A 분포 + cover 5→8 통일
bcb8a14 fix(phase-b): Codex R1 review 3건 적용 — count 통일 + 분류 정리 + 경로 정확 표기
d6823da docs(exploration): Phase B — suminerProxy fork eval + upstream issue 분류 (Codex audit 기반)

검증

  • doc-only 변경 (코드 X) — npm test 회귀 영향 없음
  • 본 fork cover 8건 모두 코드 evidence 일치 (R1 + R4 verified)
  • file path 정확 표기 (plugins/opnd-codex/scripts/lib/*.mjs)
  • count 일관성 (MEDIUM 6 / N/A 9 / cover 8 / NOT-FIXED HIGH 8 + MEDIUM/LOW 16)

다음 sprint plan (사용자 결정 영역)

우선 작업 추정
HIGH 본 fork cover 8건 upstream gh issue 답글 등록 (quick win) 0.5d
HIGH upstream HIGH 8건 port — trivial 2건 fix 시작 (openai#333 argv / openai#331 MSYS) 1주
MEDIUM suminerProxy NDJSON event stream 묶음 cherry-pick 1주+
MEDIUM suminerProxy raw payload strip + token usage cherry-pick 3-4일
LOW upstream-pr 92건 분류 sprint 1주+
LOW suminerProxy task-stream push mode (UX 결정 큼) 1주+

변경 파일 (3 files / +173 -14)

  • docs/exploration/2026-05-28-suminerProxy-fork-evaluation.md (신규)
  • docs/exploration/2026-05-28-upstream-issue-classification.md (신규)
  • plugins/opnd-codex/CHANGELOG.md (+2 lines Unreleased)

merge 전략

Squash merge 권장 — 5 commits → 1 commit docs(exploration): Phase B 로 main history clean. R1-R5 trace 는 본 PR description 에 보존.

…분류 (Codex audit 기반)

## Phase B 결과 — 평가 + 분류 doc 2건 (doc-only, 코드 변경 X)

본 fork (opnd-io) 가 daily-evolve digest (2026-05-28) 의 다음 영역 처리 가능성 평가:

### docs/exploration/2026-05-28-suminerProxy-fork-evaluation.md

`gh api repos/openai/codex-plugin-cc/compare/main...suminerProxy:codex-plugin-cc:main`
으로 22 commits 비교. 가치 분포:

- **HIGH 6건 cherry-pick 후보**: c30b664 (NDJSON event stream API) + a3f4181 (notification stream hook) + 9332c29 (event stream + stall watchdog) + 4baaf19 (token usage in /codex:status) + 6871973 (CODEX_EVENTS_RAW=0 PII strip) + 30f3a26 (task-stream push + /codex:stream slash command)
- **MEDIUM 5건**: 3a0ae2d / 45a24f0 (Codex CLI 0.131 schema gaps) / 1014d10 (rescue defaults bg + compact recovery) / 2f3a397 (stuck-phase integration test) / f701412 (review unblock) / d224805 (review isolate)
- **LOW 1건**: 5e8100a (test isolation, 우리 openai#338 와 angle 다름)
- **N/A 11건**: release / merge

다음 sprint plan: NDJSON event stream 묶음 (1주+) / raw payload strip (1일) / token usage (2-3일) / task-stream push (1주+) cherry-pick 우선. license 확인 + Apache 2.0 §4-b NOTICE attribution 필수.

### docs/exploration/2026-05-28-upstream-issue-classification.md

upstream openai/codex-plugin-cc 의 30+ open issue 분류:

**본 fork 가 이미 cover (5건, gh issue 답글 후보)**:
- openai#281 (after logout/login fail) — PR #4 broker busy/timeout 분기
- openai#282 (Desktop history isolate) — v2.0+ plugin home 격리
- openai#288 (sendBrokerShutdown timeout) — broker-lifecycle.mjs L46-48 + L65
- openai#337 (spawn shell:true Windows) — process.mjs buildCommandInvocation cmd.exe 래핑
- openai#342 (setup loggedIn:false when broker busy) — PR #4 broker busy 분기 직접 cover

**부분 cover (3건)**: openai#310 (zh-TW Big5 locale) / openai#286 (broker race) / openai#308 (large prompt rejection)

**HIGH port 후보 (8건)**: openai#350 codex-rescue empty output / openai#349 Windows sandbox / openai#345 SessionEnd kill / openai#336 CreateProcessAsUserW 1312 / openai#333 argv parsing / openai#331 MSYS path / openai#330 IPC deadlock / openai#295 CreateProcessAsUserW 1920

**MEDIUM/LOW (19건)**: openai#354 feature / openai#329 VS Code / openai#324 rescue stub / openai#321 / openai#320 / openai#309 PARTIAL / openai#306 rate limit infinite cycle / openai#304 sandbox / openai#298 max findings (우리 --max-findings cover) / openai#287 PATHEXT (openai#337 와 유사) / openai#285 (solution doc 있음) / 등

## 다음 sprint plan (사용자 결정 영역)

| 우선 | 작업 | 추정 |
|---|---|---|
| HIGH | 본 fork cover 5건 upstream gh issue 답글 등록 (가장 quick win) | 0.5d |
| HIGH | upstream HIGH 8건 port — 가장 trivial 2건 fix 시작 (openai#333 argv / openai#331 MSYS) | 1주 |
| MEDIUM | suminerProxy NDJSON event stream 묶음 cherry-pick | 1주+ |
| MEDIUM | suminerProxy raw payload strip + token usage | 3-4일 |
| LOW | upstream-pr 92건 분류 | 1주+ |

본 PR 은 평가 + 분류 doc 만. actual fix / cherry-pick 는 별 PR (사용자 결정).

## CHANGELOG

- 2 docs/exploration/ entries 추가 (suminerProxy + upstream issue 분류)
- 기존 verified-no-change 항목 (openai#288 openai#337) 유지

## 검증

- doc-only 변경 (코드 X) — npm test 회귀 영향 없음
- 본 fork 의 코드 baseline 변화 없음 — Phase A merge 후 main 와 정합
R1 (agentId ae4c27a7edbc5ebea): HIGH 0 + MEDIUM 2 + LOW 1. cover 5건 ALL VERIFIED certain.

## MEDIUM#1 — suminerProxy MEDIUM count 통일

기존: "MEDIUM ~4건" / "MEDIUM 5건" / "실제 5건" / "MEDIUM 6건 평가" 혼재

수정 (가치 분포 섹션):
- MEDIUM 6건 통일 — 3a0ae2d / 1014d10 / 2f3a397 / 45a24f0 / f701412 / d224805
- N/A 9건 통일 (release 3건 f9f36fb/0e258dc/bdea774 + merge 6건)
- "MEDIUM 5건 평가" 섹션 제목 → "MEDIUM 6건 평가"

## MEDIUM#2 — NOT-FIXED 섹션 분류 정리

기존: NOT-FIXED MEDIUM/LOW 섹션 안에 "openai#287 cover 추정" / "openai#298 cover" / "openai#285 solution doc 있음" 혼재

수정:
- 신규 섹션 "본 fork 가 이미 cover 추가 발견 (R1 review 반영, 3건)" 추가
- openai#287 → process.mjs L62-82 (openai#337 와 동일 fix 영역) cover (verified)
- openai#298 → /opnd-codex:review 의 --max-findings flag 존재 cover (verified)
- openai#285 → solution doc windows-cross-drive-hook-cd-first-pattern cover (verified)
- 본 fork cover 합계 5건 → **8건**
- NOT-FIXED MEDIUM/LOW 19건 → 16건 재카운트

## LOW#3 — file path 정확 표기

기존: "lib/codex.mjs" / "broker-lifecycle.mjs" / "process.mjs" (root 상대 path 아님)
수정: 모든 path 를 "plugins/opnd-codex/scripts/lib/*.mjs" 정확 명시 (R1 cover table 4 항목)
- CHANGELOG entry 도 path 정확 표기 + cover 5건 → 8건 갱신

## 검증

- doc-only 변경 — npm test 회귀 영향 없음
- 본 fork cover 5건 ALL VERIFIED certain (R1 명시): openai#281 openai#282 openai#288 openai#337 openai#342 모두 코드 evidence 일치
- 추가 cover 3건 (openai#285 openai#287 openai#298) R1 권고에 따라 정리

## 0 수렴 목표

R2 review 에서 신규 finding 없으면 squash merge GO. cover 5→8건 + count 통일 + path 정확 표기.
@tgkim-openerd
tgkim-openerd merged commit fa11783 into main May 28, 2026
@tgkim-openerd
tgkim-openerd deleted the chore/phase-B-upstream-backlog-eval-2026-05-28 branch May 28, 2026 12:27
tgkim-openerd added a commit that referenced this pull request May 28, 2026
…ne + telemetry UX + Windows fixes (#10)

## Version bump 2.1.0 → 2.2.0 (semver minor — additive only, BREAKING 없음)

- package.json / package-lock.json / plugins/opnd-codex/.claude-plugin/plugin.json / .claude-plugin/marketplace.json 4 file version sync (scripts/bump-version.mjs 2.2.0)

## CHANGELOG release entry — 2.2.0 (2026-05-28)

본 release 의 main commits (9 PR squash):
- #1 daily-evolve pipeline Phase 0~6 + 1.5a + budget
- #3 /analyze Recommendations + /doc-sync + PII redact
- #4 broker false-negative 해소 (BROKER_BUSY_RPC_CODE + timeout 분기)
- #5 Phase A telemetry UX + setup advisory + verified-no-change
- #6 Phase B suminerProxy eval + upstream classification
- #7 Sprint 1 upstream comment body 8건
- #8 Sprint 2 openai#331 + openai#333 fix + 6 plan
- #9 Sprint 3 suminerProxy cherry-pick plan

## semver minor 정합

모두 additive (BREAKING 없음):
- 신규 daily-evolve pipeline (별도 commands/skills, 기존 영역 안 건드림)
- 신규 HEALTH_STATUS.TRANSIENT enum (existing 5 enum 보존)
- 신규 parseReviewArgv() (기존 parseArgs/parseCommandInput 보존)
- 신규 SELF_FORKS Set (fork-research 의 fork list filter — false-positive 제거만)
- 신규 inspectPluginHomeFreshness() + pluginHomeAdvisory field (additive)
- 신규 isUsageLimitError / annotateUsageLimitError (별도 helper)
- 기존 isStaleAuthCacheError pattern 확장 (backward compatible)
- broker busy / timeout 분기 추가 (catch fallback 보존)
- Windows process.mjs cmd.exe 래핑 (behavior change 가능성, e2e 검증 미완 — fork-cover 표기)

## marketplace install 즉시 가능

본 commit + 후속 push + main merge + tag v2.2.0 + gh release 후:

```bash
/plugin marketplace add opnd-io/opnd-codex-plugin
/plugin install opnd-codex@opnd-codex-plugin
/reload-plugins
/opnd-codex:setup
```

marketplace.json source = ./plugins/opnd-codex (main branch HEAD) → 사용자 install 시 v2.2.0 모든 변경 즉시 포함.

## 다음 sprint backlog (Unreleased)

- suminerProxy NDJSON event stream foundation cherry-pick (Phase 1, 3-4d)
- upstream HIGH port 6건 (openai#330 openai#345 openai#350 openai#349 openai#336 openai#295)
- quality-review-agent frontmatter description "3 영역 → 6 영역" (classifier 차단, 사용자 인가 후)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant