Prerequisites
- 이 저장소의 프로젝트 루트에서 실행
- Node.js 24.x와 npm
- 근거 원본이 있는 상위 5240lab 워크스페이스
Install and baseline
npm install
npm run verify:evidence
npm test
예상 결과: 모든 선별 근거가 원본 파일·행·발췌·공개 안전성 검사를 통과하고 단위· 렌더 계약 테스트가 통과한다.
Full verification
npm run verify
예상 결과: 근거, 콘텐츠, 테스트, 타입, 린트와 production build가 모두 성공한다.
Local browser acceptance
npm run test:browser
Playwright가 검사용 개발 서버를 자동으로 시작하고 종료한다.
다음을 확인한다.
/,/guide,/5240lab,/roadmap가 200을 반환한다.- 기능정의서 작성 시점, Superpowers와 매뉴얼 동기화 단계가
/guide에 있다. - 근거 필터가 키보드로 동작하고 JavaScript를 끄면 전체 근거가 보인다.
- L0~L4, 100점과 개선 전후 판정이
/roadmap에 있다. - 375, 768, 1024, 1440px에서 수평 넘침과 핵심 콘텐츠 손실이 없다.
- 심각·중대 접근성 위반이 없다.
- 알 수 없는 경로가 404를 유지하고 복구 링크를 제공한다.
Candidate release
Phase 8 로컬 release interface는 구현되어 있다. 서비스 root는 운영 기본값 대신 격리된 임시 디렉터리로 덮어써서 점검할 수 있다.
export HARNESS_RELEASE_ROOT="$(mktemp -d)"
./deploy/build-release.sh --release-root "$HARNESS_RELEASE_ROOT" --release-id harness-local-check
./deploy/deploy.sh --release-root "$HARNESS_RELEASE_ROOT" --release-id harness-local-check --candidate-port 3631 --check-only
예상 결과: versioned standalone artifact가 생성되고 후보 포트에서 health와 내부 smoke를 통과하지만 활성 release는 바뀌지 않는다.
Production acceptance
아래 외부 활성화와 smoke는 T064 운영 승인, DNS와 TLS 구성이 끝난 뒤 실행한다.
./deploy/deploy.sh --release-id RELEASE_ID --external-base-url https://harness.insapien.co.kr
curl -fsS https://harness.insapien.co.kr/api/health
node scripts/smoke.mjs https://harness.insapien.co.kr
예상 결과: 네 공개 경로·health·정적 자산·404가 모두 통과하고 배포 기록에 활성 release와 근거 검증일이 남는다.
Rollback drill
격리된 fixture release, 후보 포트와 가짜 service restart를 사용해 두 실패 경로를 실행한다.
npm run test:deploy
후보 health 실패에는 활성 link가 유지되고, 활성화 후 외부 smoke 실패에는 이전 release가 다시 활성화되어야 한다. 이 훈련은 실제 systemd, Nginx, DNS 또는 TLS를 변경하지 않는다. 실행 결과는 deployment report에 기록한다.