Skip to content

0단계 검증 기록 ​

설계서 §16.1-11: "수행한 테스트와 남은 제한을 문서화하고 검증하지 않은 항목을 완료했다고 보고하지 않는다." 이 문서는 0단계(저장소 신설·계약·합성 fixture) 시점에 실제로 실행한 검증과 미검증 항목을 구분해 기록한다.

  • 기준일: 2026-09-19
  • 환경: Windows, Node v24.19.0, pnpm 10.4.1
  • 벤더 패키지: vendor/hohyun94-portal-foundation-0.6.156.tgz · hohyun94-portal-ai-0.1.0.tgz · hohyun94-portal-operations-0.3.0.tgz

1. 실행한 명령과 결과 ​

명령결과
pnpm install성공 (508 패키지 해석, 벤더 tarball 포함)
pnpm check (tsc --noEmit)통과
pnpm test (vitest run)통과 — 4 파일 / 34 테스트
pnpm build (vite + esbuild)성공 — dist/public(SPA) · dist/index.js 33.7kb
pnpm verify:full (test + check + build)통과 (VERIFY_OK)

서버 스모크 테스트 (수동, 2026-09-19) ​

확인결과
GET /api/health{"ok":true,"authMode":"mock","processAdapterKind":"mock","demoData":true,"aiEnabled":false}
미지정 경로 404404 + §10.5 오류 봉투({error:{code,...}})
NODE_ENV=production + AUTH_MODE=mock시작 실패 — 운영 환경에서 AUTH_MODE=mock 은 허용되지 않습니다(설계서 §13.4 / AT-32).

포트 3000은 이 환경에서 다른 포털(ProcessCenter) 개발 서버가 사용 중이어서 스모크 테스트는 PORT=3105로 수행했다.

2. 자동 테스트 목록 ​

파일건수검증 내용
tests/unit/processPortal.test.ts9커서 기반 listNodes·complete, 알 수 없는 분류체계 오류, 복합키 판정, 권한 캐시 TTL(≤5분), 폐기 노드 차단, 노드 검색, materialFingerprint(명칭 변경 무시/레벨 변경 감지), 복합키 직렬화
tests/unit/domain.test.ts9가시성 4종(PRIVATE/ORG/ENTERPRISE/ALLOWLIST), 목록 필터 일관성, 유형별 상호 배타 집계, 재검토 필요(승인 매핑 한정), 직접 적용에서 CONTEXT 제외, Agent 수 중복 제거
tests/unit/env.test.ts6개발 기본값, 운영 Mock 인증 차단(AT-32), 운영 Mock 어댑터 차단, 잘못된 열거값 오류, 어댑터 팩토리 가드 2종
tests/integration/router.test.ts10공개 헬스, 미인증 거부, 조직 간 비공개 Agent 비노출(AT-21), 숨겨진 객체 404, 노드 목록 권한 필터, 권한 밖 노드 조회 시 노드 정보·연결 Agent 미반환, 접근 가능 노드의 매핑 한정 반환, 접근 제한 매핑의 노드 ID 비노출, 권한 범위 집계, 없는 노드 404

3. 인수 시나리오(§15) 대응 현황 ​

상태시나리오
✅ 검증됨 (테스트 존재)AT-21(비공개 객체 비노출), AT-32(운영 Mock 시작 실패), §12.1 집계 규칙, §4.2 노드 접근 제한, §9.1 어댑터 계약, §9.3 materialFingerprint
⏳ 코드 경로만 존재 · 운영 연계 후 재검증 필요AT-19·AT-20·AT-31(원본·권한 어댑터 관련) — 설계서도 MVP에서는 Mock 계약으로, 실제 연계 전 운영 계약으로 재검증하도록 요구
❌ 미구현 (다음 단계)AT-01~AT-18(등록·편집·검토·게시·동시성·동기화), AT-22~AT-30, AT-33~AT-36

이 저장소가 0단계에서 하지 않은 것: 등록·검토·승인·게시 상태 전이, 동기화 Worker, 알림·감사 영속화, 실제 SSO·프로세스 포탈 연계, E2E(Playwright).

4. 알려진 제한 ​

  • 클라이언트 번들이 1.1MB(단일 청크)로, Vite가 500kB 초과 경고를 낸다. 코드 분할은 후속 작업이다.
  • vendor/ 에 portal-security·portal-runtime·directory-sync tarball 이 없다(감사·검색·조직 동기화 단계에서 추가).
  • 부분 고유 인덱스(Agent당 PUBLISHED 1개·작업 버전 1개, §7.8)는 마이그레이션 SQL 보완이 필요하다.
  • 개발 인증은 x-demo-subject-id 헤더 기반 Mock 이며, 실제 세션 claim 검증은 구현되지 않았다.