Files
HMDesign/docs/guidelines/gitea-source-transfer-preparation-2026-10-10.md
T

6.1 KiB

월요일 공식 Gitea 소스 반영 준비

이번 작업은 준비 문서만 작성했다. 공식 Gitea는 NOT ACCESSED / NOT MODIFIED. GitHub 원격을 유지하며 ZIP을 만들지 않았다. 월요일 작업은 별도 지시에 따라 실행한다.

GitHub 임시 이력을 공식 Gitea에 merge/cherry-pick/import하지 않는다. 공식 저장소의 현재 main과 이력을 보존한 상태에서 승인된 최신 소스 파일을 비교·반영하고 공식 저장소에 별도 commit한다. 삭제/충돌/기존 사용자 변경은 자동 덮어쓰기하지 말고 별도 확인할 대상이다.

필수 파일

현재 기준은 BASE 0b2bc376aa8b6af9d2492b5620d8ae776391508d부터 GitHub 최종 main까지다. 월요일 최신 SHA를 새로 확인해야 한다. 정확한 경로 목록은 다음 명령으로 생성한다.

git diff --name-status 0b2bc376aa8b6af9d2492b5620d8ae776391508d HEAD

이번 변경 묶음은 아래와 같다. 이전 시 변경 묶음만 복사하면 기존 의존 파일이 누락될 수 있으므로 전체 최신 추적 소스를 기준으로 공식 소스와 비교한다.

  • AGENTS.md, docs/guidelines/ai-generation-guard.md, ai-implementation-details.md, ai-screen-contract.md, component-pattern-reference.md
  • docs/patterns/filter-bar.md, 이번 결과/준비 문서·요약 JSON
  • packages/ui/src/index.ts, packages/ui/src/patterns/filter-bar/filter-bar.tsx, packages/ui/src/theme/filter-bar.css, dashboard-layout.css
  • src/patterns/filter-bar.stories.tsx
  • scripts/ai-generation-guard.mjs, ai-generation-guard.test.mjs, guard-theme-analysis.mjs, guard-evidence.mjs, guard-evidence.test.mjs, public-theme-tokens.mjs, publisher-components.test.mjs
  • scripts/prepare-quality-experiments.mjs, verify-quality-runtime.mjs, verify-quality-reference.mjs, verify-quality-regression.mjs, serve-quality-reference.mjs, audit-quality-contracts.mjs, summarize-quality-evidence.mjs
  • examples/ai-quality/01..10의 index.html/main.tsx/requirements.json, shared/**, README.md, tsconfig.json, vite.config.ts

필수 기반 파일은 기존 package.json, package-lock.json, workspace packages, .storybook, Vite/TS 설정, scripts, public/theme/font assets다. 이번 작업은 dependency manifest/lock을 변경하지 않았다. .git, node_modules, _local, 생성 dist/Storybook output은 소스 이전 대상이 아니다. 이전 실험의 원본 증거는 소스와 별도로 보존한다.

의존성·검증 환경

실제 실행: Node 20.20.1, React/ReactDOM 19.3.0, TypeScript 7.0.2, Vite 8.3.0, Tailwind/@tailwindcss/vite 4.3.3, Storybook 10.6.1. 설치 버전의 단일 기준은 lockfile이며 공식 환경의 Node/npm 가용성은 월요일 확인해야 한다.

@hm-design/ui, @hm-design/center-graphic은 npm workspace build가 필요하다. public Theme CSS는 HM source/vendor CSS/font/status asset 연결을 유지한다. 소비 앱은 public export를 사용한다. 패키지 단독 소비는 npm pack 후 별도 앱에 설치해 typecheck/build/runtime를 확인했다.

브라우저 검증에는 Playwright 모듈·Chrome 실행 파일이 별도로 필요하다. 이번 환경에서는 Codex bundled Playwright와 설치된 Chrome을 사용했고 이를 root 의존성에 추가하지 않았다. HM_PLAYWRIGHT_DIR, HM_CHROME_PATH를 해당 환경 경로로 지정한다. 제품 소스에 로컬 절대 경로를 넣지 않는다.

검증 명령

npm ci --ignore-scripts --no-audit --no-fund
npm run check:theme-defaults
npm run build:packages
npm run typecheck
npm run test:guard
npm run test:components
node --test scripts/guard-evidence.test.mjs scripts/theme-verification.test.mjs
npm run build
npm run build-storybook
npm run build:publisher-example
npm run build:dashboard-export
node node_modules/vite/bin/vite.js build --config vite.recruit-export.config.ts
node scripts/check-doc-links.mjs
node scripts/public-theme-tokens.mjs
node node_modules/typescript/bin/tsc -p examples/ai-quality/tsconfig.json
node node_modules/vite/bin/vite.js build --config examples/ai-quality/vite.config.ts

verify-quality-regression.mjs는 작업 완료 뒤 관련 build/typecheck/test/Guard를 묶어 실행하는 대안이다. 이미 실행한 같은 검사를 별도로 중복하지 않는다. UI build 산출물이 먼저 준비되어야 한다.

브라우저: preview 6321에서 verify-quality-runtime.mjs, reference server 6322에서 verify-quality-reference.mjs. 실제 배포와 다른 localhost 경로이므로 공식 경로/assets도 월요일 확인한다. 각 화면 --result index.html FULL_SCREEN·Navigation 모드와 PARTIAL/Storybook Profile을 확인하고 static/runtime 상태를 구분한다. 생성 화면 증거 집계는 node scripts/summarize-quality-evidence.mjs다.

audit-quality-contracts.mjs는 이전 로컬 Storybook/실험 증거의 절대 경로와 BASE commit이 필요하다. 공식 Git 이력에 임시 BASE를 가져오지 않는다. 월요일에는 보존된 baseline JSON·소스 hash를 별도 입력으로 비교하거나 공식 baseline으로 수정한 뒤 사용한다. 동일 경로의 이전 증거가 없으면 그 부분을 NOT VERIFIED로 남긴다.

남은 위험

  • 기존 공식 저장소와 GitHub의 차이·충돌·추가 파일은 아직 확인하지 않았다. 소스 이전 준비 PASS는 공식 이전 완료를 뜻하지 않는다.
  • 모든 source가 이전되어도 ignored build/package dist와 외부 evidence는 다시 생성/별도 보존해야 한다.
  • native/CSS intent/computed Token의 기존 Guard NOT VERIFIED와 과거 contrast 잔여 문제는 그대로 남는다. 근거 없는 예외 등록·Theme 변경을 하지 않는다.
  • cross-model/낮은 추론 재생성·디자인 점수·스크린리더/실기기는 NOT VERIFIED다.
  • source 또는 public Component/Guard 계약이 변경되면 기존 Runtime hash 증거는 stale이다. 변경 화면만 새 증거로 검사한다.

필수 실패가 있으면 공식 push를 보류한다. GitHub 연결 해제는 공식 소스 반영·검증·commit/push·연결 확인 후 별도 지시에 따라 수행한다.