작업 범위: T001–T012
기준일: 2026-08-13 UTC
manual-impact: affected
매뉴얼 영향
전역 탐색, 릴리스 표기, 디자인 토큰과 네 공개 경로의 기본 셸이 추가되어 사이트
독자와 이후 콘텐츠 작성자에게 영향이 있다. 현재 단계의 공개 설명은 최소
placeholder이며 본문 매뉴얼은 US1에서 작성한다. 설치·검증 기준선은
docs/implementation-baseline.md에 기록했다.
RED
구현 파일을 만들기 전에 sandbox-safe Node runner로 각 계약을 실행했다.
| 명령 | 결과 |
|---|---|
node --import tsx --test tests/unit/content-schema.test.ts |
FAIL (exit 1) — Cannot find module '../../lib/content-schema' |
node --import tsx --test tests/integration/site-shell.test.tsx |
FAIL (exit 1) — Cannot find module '../../app/layout' |
처음 사용한 tsx --test CLI는 테스트 코드에 진입하기 전에
격리된 임시 runtime pipe에서 listen EPERM이 발생했다. 테스트 스크립트를
node --import tsx --test로 변경해 환경 오류가 아닌 실제 누락 동작의 RED를
확인했다.
코드 품질 검토 후 변경 계약도 구현 전에 RED를 확인했다.
| 명령 | 결과 |
|---|---|
node --import tsx --test tests/unit/integration-test-files.test.ts |
FAIL (exit 1) — Cannot find module '../../scripts/integration-test-files' |
node --import tsx --test tests/unit/content-schema.test.ts |
FAIL (exit 1) — pending release 계약 불일치 |
node --import tsx --test tests/integration/site-shell.test.tsx |
FAIL (exit 1) — footer가 검증 대기 대신 근거 확인일 공개 |
GREEN
| 명령 | 결과 |
|---|---|
npm test |
PASS — unit 9/9, integration 5/5 |
node --import tsx --test tests/unit/content-schema.test.ts |
PASS |
node --import tsx --test tests/integration/site-shell.test.tsx |
PASS |
npm run test:integration |
PASS — .test.ts와 .test.tsx 파일 각각 수집 |
npm run typecheck |
PASS |
npm run lint |
PASS |
npm run build |
PASS — 최종 stage static-generation, 네 공개 경로 정적 사전 렌더 |
test -f .next/standalone/server.js |
PASS — standalone server 파일 존재, 7,307 bytes |
최근 npm install 내장 감사 |
PASS — 취약점 0건 |
구현 결과
- 안정 ID, 중복, 참조, ISO 날짜와 릴리스 메타데이터 검증기를 추가했다.
- 네 공개 경로, 여덟 하네스 계층, 승인 문서와 정확히 일치하는 열 단계 workflow와 상태 레이블을 구조화하고 순서 계약 테스트를 추가했다.
- 한국어 metadata, skip link, header/nav/main/footer landmark와 SSR 릴리스 정보를 제공한다.
- T027의 실제 근거 검증 전에는 확인일을 주장하지 않고 footer에
근거 상태: 검증 대기를 SSR한다. - System Atlas 라이트·다크 토큰, 반응형 layout primitives, 44px 동작 대상, 가시적 focus와 reduced-motion 규칙을 적용했다.
- 통합 테스트 runner는 shell glob에 의존하지 않고
.test.ts와.test.tsx를 정렬해 실행하며 어느 확장자 클래스든 0건이면 실패한다. - 이후 단계 검증 스크립트는 구현 전 성공으로 오인되지 않도록 명시적 실패 stub으로 유지했다.
남은 우려
- npm allow-scripts 정책은
unrs-resolver와esbuildpostinstall 검토를 요구했다. Playwright 1.62.1 갱신과 미사용 Lucide 제거 후 최근 install의 내장 감사는 취약점 0건이며 typecheck, lint와 standalone build는 모두 통과했다. 별도 freshnpm audit는 registry 네트워크 가용성에 의존한다. - 브라우저 acceptance와 모바일 내비게이션 disclosure는 이후 사용자 스토리 및 cross-cutting 단계 범위다.