Skip to content

fix(convention): 품질 게이트 복구와 테스트 안정화 - #87

Merged
dev-wooyeon merged 6 commits into
masterfrom
codex/quality-gates-recovery
Mar 30, 2026
Merged

fix(convention): 품질 게이트 복구와 테스트 안정화#87
dev-wooyeon merged 6 commits into
masterfrom
codex/quality-gates-recovery

Conversation

@dev-wooyeon

@dev-wooyeon dev-wooyeon commented Mar 30, 2026

Copy link
Copy Markdown
Owner

What changed

  • 훅 규칙 위반, unused 상태, 타입 누수, Tailwind 설정 포맷 등 lint를 깨던 소스 문제를 정리했습니다.
  • next/imageframer-motion 테스트 목업을 정리하고, 모바일 전용 시나리오를 데스크톱 프로젝트에서 건너뛰도록 조정했습니다.
  • 모바일 라우팅 smoke에서 첫 요청이 가끔 abort 되던 경로에 route warm-up을 추가해 navigation-ia 플래키를 줄였습니다.
  • test:unit 스크립트를 vitest run으로 보정하고, jsdom을 현재 개발 런타임과 호환되는 26.1.0으로 내려 unit test 런타임 이슈를 해소했습니다.
  • 저장소 구조 원칙과 충돌하던 실행 계획 문서를 active에서 제외하고 superseded 상태로 정리했습니다.

Why

  • 배포는 되지만 linte2e가 깨져 있어 기본 품질 게이트가 유지되지 않았습니다.
  • 일부 E2E는 모바일 전용 UI를 데스크톱에서도 기대하거나, 첫 라우트 로드 타이밍에 흔들려 신뢰도가 낮았습니다.
  • jsdom@27 계열은 현재 개발 환경의 Node 20.12.2보다 높은 런타임을 요구했고, 그 결과 html-encoding-sniffer / @exodus/bytes 체인에서 unit test가 시작 단계부터 실패했습니다.
  • active plan에 남아 있던 문서는 현재 feature-first 구조 원칙과 충돌해 잘못된 리팩터링 방향을 유도할 수 있었습니다.

Impact

  • npm run lint, npm run lint:css:syntax, npm run test:unit, npm run test:e2e, npm run test:ci, npm run build가 이 브랜치에서 통과합니다.
  • unit test 런타임은 jsdom@26.1.0 경로로 고정되어 Node >=18 환경과 맞추었습니다.

Validation

  • npm run test:ci
  • npm run build

lint를 막던 훅 규칙 위반과 unused 코드, 설정 문제를 정리했어요.
MDX 컴포넌트 호출 방식과 dev overlay 조건 분기를 바로잡고
빌드와 정적 검증을 깨던 공통 소스 파일을 안정화했어요.
framer-motion과 next/image 테스트 목업을 정리해서 경고와 lint 노이즈를 줄였어요.
모바일 전용 회귀 시나리오는 desktop 프로젝트에서 제외하고
홈 시리즈 이동 smoke 테스트를 더 안정적인 경로 검증 방식으로 바꿨어요.
현재 저장소 가이드와 충돌하는 구조 평탄화 계획을 active에서 제거했어요.
completed 폴더로 옮기고 superseded 상태를 명시해서
다시 같은 방향으로 오해하고 진행하지 않도록 정리했어요.
@vercel

vercel Bot commented Mar 30, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
eunu-log Ready Ready Preview, Comment Mar 30, 2026 7:58am

@dev-wooyeon dev-wooyeon changed the title [codex] 품질 게이트 복구와 테스트 안정화 fix(convention): 품질 게이트 복구와 테스트 안정화 Mar 30, 2026
@dev-wooyeon
dev-wooyeon marked this pull request as ready for review March 30, 2026 09:40

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 6bef1ff144

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

});
await expect(engineeringTab).toHaveAttribute('href', '/engineering');
await warmRoute(page, '/engineering');
await page.goto('/engineering');

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Exercise mobile nav links through user clicks

This smoke test now verifies each tab’s href and then navigates with page.goto(...) instead of clicking the tab, so it no longer validates that the bottom-nav UI is actually interactable. If a regression makes links unclickable on mobile (e.g., overlay/pointer-events/z-index issues) while keeping the href intact, this test will still pass and miss a user-facing navigation break.

Useful? React with 👍 / 👎.

const response = await page.request.get(targetHref);
expect(response.ok()).toBeTruthy();

await page.goto(targetHref);

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge Keep series-card smoke flow click-driven

The scenario is described as moving from the home series card to the series detail page, but after reading the link href it jumps with page.goto(targetHref), which bypasses the card interaction itself. This means the test can pass even when the card is visible but not clickable, weakening smoke coverage for a core home-page navigation path.

Useful? React with 👍 / 👎.

@dev-wooyeon
dev-wooyeon merged commit 9b6abd4 into master Mar 30, 2026
3 of 5 checks passed
@dev-wooyeon
dev-wooyeon deleted the codex/quality-gates-recovery branch April 13, 2026 06:33
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