Skip to content

feat(experiments): OMX vs baseline 벤치마크 하네스 추가#73

Open
sumi-0011 wants to merge 2 commits into
mainfrom
exp/omx-vs-baseline-batch-01-harness
Open

feat(experiments): OMX vs baseline 벤치마크 하네스 추가#73
sumi-0011 wants to merge 2 commits into
mainfrom
exp/omx-vs-baseline-batch-01-harness

Conversation

@sumi-0011
Copy link
Copy Markdown
Member

유저 관점 요약

이 PR은 사용자가 보는 동작/UI를 하나도 바꾸지 않습니다. 앞으로 OMX 워크플로가 베이스라인 대비 얼마나 효과적인지 측정하기 위한 실험 인프라(KPI 수집 스크립트, 문서, acceptance 테스트 게이트)만 추가합니다.

변경 내용

  • docs/experiments/
    • 실험 슬러그 omx-vs-baseline-batch-01 README, task-manifest, acceptance-checklist, commands, KPI 스키마, PR 요약 템플릿
    • 빈 results 스켈레톤 (baseline.json, with-omx.json) — 실험 실행 시 채워짐
  • scripts/experiments/collect-kpi.js — KPI 결과 JSON 채우기 CLI
  • test/experiments/collect-kpi 헬퍼 + benchmark-harness 구조 검증 (6 tests)
  • test/settings/renderer-migration.test.js — settings React 마이그레이션의 TDD acceptance 게이트 (의도적으로 이 브랜치에서는 실패)
  • .codex/skills/omx-pr-benchmark/ — OMX 워크플로 실행용 skill 문서/스크립트
  • .gitignoredocs/experiments/, scripts/experiments/ 화이트리스트 (기존 ignore 룰 보존)
  • package.jsonexperiments:collect-kpi npm 스크립트 한 줄

실험 설계

  • harness 브랜치 (이 PR): 공유 출발점. baseline·with-omx 둘 다 이 커밋에서 분기
  • exp/settings-tsx-migration (별도 브랜치, 머지 대상 아님): 이전 작업 세션에서 생성된 TSX 마이그레이션 작업물 보존. 실험 공정성을 위해 harness 에 포함하지 않음
  • 후속: harness 머지 후 baseline 변종과 with-omx 변종을 같은 acceptance criteria 로 진행 → 두 변종 PR 의 KPI 비교

acceptance 게이트 (의도적 실패)

test/settings/renderer-migration.test.js 는 다음을 검사:

  • src/settings/settings.htmlrenderer.js 로드 (통과)
  • src/settings/renderer.tsx 존재 (이 브랜치엔 없음 — 변종이 만들어야 통과)
  • tsconfig.json/tsconfig.sources.jsonrenderer.tsx include (변종이 추가해야 통과)

이는 task-manifest 의 settings-react-002 "Add or tighten acceptance tests before implementation" TDD 요구사항. baseline/with-omx 변종이 React 마이그레이션을 완료하면 통과하도록 설계.

알려진 한계

  • 현재 게이트는 TSX 만 검사 — acceptance-checklist.md 는 "React-managed JSX or TSX" 둘 다 허용하지만 게이트가 TSX 로 좁혀짐. JSX 변종을 허용하려면 후속 PR 에서 완화 필요

검증

  • node --test test/experiments/*.test.js → 6/6 통과
  • npm run typecheck → 통과
  • npm test 전체는 기존 저장소 이슈로 일부 실패 (auth-callback-server 포트, cursor-install 권한, shared-process flake) — 이 PR 의 회귀가 아님

인수인계 노트와의 차이

원래 인수인계 문서는 harness + TSX 마이그레이션을 한 커밋에 묶고 곧바로 baseline/with-omx 워크트리를 생성하는 흐름이었으나:

  • 실험 README 가 명시한 "harness contains only shared benchmark setup, task manifest, and tests" 와 충돌
  • TSX 작업물이 harness 에 들어가면 두 변종이 "이미 완료된 상태" 에서 출발해 비교 의미 상실

따라서 TSX 작업은 exp/settings-tsx-migration 으로 분리하고 본 PR 은 스캐폴딩만 담음.

- docs/experiments/: 실험 슬러그(omx-vs-baseline-batch-01) README, task-manifest, acceptance-checklist, commands, kpi-schema, pr-summary 템플릿, 빈 results 스켈레톤 (baseline.json/with-omx.json)
- scripts/experiments/collect-kpi.js: KPI 결과 JSON 채우기 CLI
- test/experiments/: collect-kpi 헬퍼 + benchmark-harness 구조 검증
- test/settings/renderer-migration.test.js: settings React 마이그레이션 TDD acceptance 게이트
- .codex/skills/omx-pr-benchmark/: OMX 워크플로 실행용 skill 문서
- .gitignore: docs/experiments/ 와 scripts/experiments/ 화이트리스트
- package.json: experiments:collect-kpi 스크립트

이 브랜치는 OMX vs baseline 벤치마크의 공유 출발점.
baseline 과 with-omx 변종 모두 이 커밋을 base 로 분기.

주의: test/settings/renderer-migration.test.js 는 TSX 파일/tsconfig include 존재를 검사하므로 이 하네스 브랜치에서는 2/3 의도적 실패. baseline/with-omx 변종이 React 마이그레이션을 완료하면 통과하도록 설계된 acceptance 게이트.

검증:
- node --test test/experiments/*.test.js (6/6 통과)
- npm run typecheck (통과)
- prompts/baseline.md: OMX/OMC/superpowers skill 없이 task batch 수행하는 작업자용
- prompts/with-omx.md: OMX 워크플로 활성화 상태에서 같은 task batch 수행하는 작업자용

두 변종은 같은 task list / 같은 stop condition / 같은 verification 명령을 사용하며,
서로의 워크트리/브랜치/결과를 참조하지 않는다는 공정성 규칙을 명시.
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