J자료 연결·전체 구현 계획GF · DOOIN · COURT · ONBID화면 검토 ↗

PRODUCTION MASTER PLAN · REVISION 22

GF·두인은 화면 참고
대법원은 운영 데이터

로그인 세션에서 확인한 두인경매와 GF Auction은 화면·검색·상세·회원 기능의 구현 기준으로 사용합니다. 출시 후 신건·사건·물건·기일·상태·결과는 대법원경매 파싱만 지속 갱신하며,제이옥션 PostgreSQL은 출처가 아니라 독립 저장·검색 원장으로 사용합니다.

LIVE EVIDENCE BASELINE

확인한 사실과 아직 닫히지 않은 조건

‘확인’과 ‘운영 완료’를 분리해 과대 판정을 막습니다.
A · 승인 세션두인 인증 조사46개 기준 상태

홈·검색·상세·회원·결제·게시판·도움말의 화면·권한 기준선을 확인하고 개인값·쿠키·세션은 보존하지 않음

H/S/R · 공개 재조사두인 공개 조사210 URL · 75 표면

공개 기준 35건에 same-origin 210 URL·22 JS·22 source map·29 form·84 호출 후보를 대조해 구현 관련 표면 75개로 정규화

UPSTREAM VERIFIED · PRODUCT BRIDGE PENDING제이옥션 canonical 실행면AuctionHub 146,330 lot

PostgreSQL/PostGIS를 제이옥션 내부 canonical·projection·enrichment 실행면으로 사용하되 Sites는 service auth·same-origin BFF만 소비

ACTIVE PRODUCER법원경매 운영 원천74,752 master 행

2026-07-17 20:30 기준 마지막 관찰 21.97분·pending event 0; 제이옥션은 버전된 outbox·cursor 피드만 멱등 소비

UPSTREAM VERIFIED공공 보강 생산면4대 API + ledger 5 routes

관리비·관공서·비교사례·배당과 건축물·토지·학군·학교 API는 상위 실행 증거가 있으나 현재 Sites BFF·제품 UI에는 미접목

OWNER CODE + DESIGN CONTRACT반응형 검증38 routes · 24 screen refs

실검색·결과·상세는 390·768·1440px overflow 0을 확인했고, 17 desktop·6 mobile·1 board 시안은 구조 기준으로만 사용

RELEASE BLOCKERS

연결보다 먼저 닫아야 할 운영 위험

  1. 01Court·공공보강의 AuctionHub 생산면은 동작하지만 제이옥션 Sites의 9개 same-origin BFF·상세 소비자·source freshness UI가 미접목이므로 상위 API 200을 제품 완료로 표시하면 안 됨
  2. 02실행 중인 대법원 파서의 raw 원장은 payload_hash·raw_path·raw_json을 보존하지만 source_url·fetched_at·parser_version·schema_version의 명시 열은 아직 없어 outbox 공개 전 migration이 필요함
  3. 03제이옥션 소비자의 versioned outbox 계약·cursor feed client·service auth·inbox·DLQ ledger·고정 판본 projection은 구현됐지만, 운영 producer 실증거·DLQ replay 실행기·projection outbox 전달과 authoritative 승격은 아직 차단 상태임
  4. 04최신 freshness guard가 GF를 required로 판정하고 두인 watch를 유지하며 일부 관리비·배당 staging도 민간 원천을 포함하므로 source allowlist·required 제거·신규 canonical write 0을 공개 전 증명해야 함
  5. 05학교알리미 credential은 재발급·회전 후 CT104 0600 secret 한 곳 외 저장·URL·로그·보고서 잔존 0을 확인하기 전 운영 인수를 완료로 판정하지 않음
  6. 064대 API의 당시 검증 공개 도메인은 제이옥션 제품 의존 경로가 아니며 내부 service origin과 same-origin BFF로 재구현하기 전 브라우저 직접 호출·공개 링크·fallback을 금지함
  7. 07API·학교·학구·K-apt 수치는 실행 중 계속 변하므로 확인시각·source run·checkpoint·projection revision 없는 정적 총계를 서로 합쳐 표시하면 안 됨
  8. 08추가 API capability inventory는 완료됐지만 후속 후보 9개 중 즉시 계약 가능한 4개도 제이옥션 계약·projection·권한·E2E 전에는 제품 구현 완료로 승격하면 안 됨
  9. 09전용 도메인은 사용자 제공 소유정보 기준 jauc.co.kr로 확정했지만 DNS·private→public 전환은 아직 실행하지 않았으며 PointAuction 도메인으로 우회하면 안 됨
  10. 10두인 조사 인벤토리 완료와 제이옥션 제품 구현 완료는 별도 판정이며 A/H/S/R 근거와 E2E 결과를 혼합하면 안 됨
  11. 11Court-only 30일 인수는 파서·API 구현 통과와 별개인 시간 증거이며, 최근 freshness의 GF-required 충돌을 제거한 뒤 새 기준선으로 연속 관측해야 함
  12. 12공매는 법원 자료나 두인 화면 복제로 채우지 않으며 15121030 코드 snapshot, 15157768 일간 코드·주소, 물건 API를 별도 활용승인·계약·quota·논리 secret으로 운영해야 함
  13. 13현재 Sites 배포는 소유자 전용 custom 접근이라 검색로봇이 들어올 수 없음; 공개 도메인·접근모드를 승인하기 전에는 robots·sitemap이 있어도 실제 색인되지 않음
  14. 14상담 관리자 화면은 Sites 로그인+운영자 허용목록으로 보호되지만, 나머지 회원·관리자 시안은 서버 인증이 연결되지 않았으므로 noindex를 데이터 보호 수단으로 오해하면 안 됨
  15. 15상담함 목록·상세의 허용계정 운영 렌더 E2E가 남아 있으며 Codex가 승인 세션에서 수행하고 세션 잠금 시 AUTH_UNLOCK만 1회 요청

LIVING PROJECT REGISTRY

계획·구현·검증·배포를
한 곳에서 계속 누적

이 판본부터 새 작업은 완료 여부를 추측하지 않고 상태·경로·근거·잔여 위험을 함께 남깁니다. 회사소개 임시 안내 교체와 경매컨설팅·상담 인트라넷·Court 연계 작업을 첫 기록으로 등록했습니다.
UPDATE RULE모든 계획과 작업을 한 공개 원장에 누적

앞으로 제이옥션의 계획·구현·검증·배포 작업은 이 페이지에 작업 ID, 상태, 공개 경로, 검증 근거와 남은 위험을 함께 기록합니다. 계획만 세운 항목과 실제 구현·공개된 항목을 분리하고, 같은 Sites 판본에서 화면과 원장을 함께 갱신합니다.

  • 작업 ID
  • 상태
  • 공개 경로
  • 검증 근거
  • 남은 위험
PUBLIC COMPANY
이번 판본 공개
JAUC-WORK-20260714-01

회사소개 임시 안내 화면 교체

회사 원칙과 상담 철학을 중심으로 인사말을 재구성하고 오시는길을 독립 화면으로 연결했습니다. 반복되는 법인정보 카드는 본문에서 제외했습니다.

소스
구현 완료
런타임
정적 경로 정상
공개판
이번 판본 배포
검증 근거
회사정보·구조화 데이터·canonical·모바일/데스크톱 가로 넘침 0 확인
남은 위험
카카오 지도 외부 로더 장애 시 주소·외부 지도 링크 대체 화면을 유지
CONSULTING
이번 판본 공개
JAUC-WORK-20260714-02

경매컨설팅 절차·수수료·신청 완성

기존 9단계 업무, 멤버십과 물건별 수수료, 법원·물건·사건번호가 연결되는 신청서를 제이옥션 디자인과 반응형 표로 구현했습니다.

소스
구현 완료
런타임
정적 경로 정상
공개판
이번 판본 배포
검증 근거
기존 GF 근거 화면과 항목 대조, 신청 오류 시 입력 유지, 공개 안내/비공개 신청 색인 분리
남은 위험
수수료·계약·개인정보 문구는 운영자와 법률 검토 후 확정본으로 승격
PRIVATE INTRANET
운영 접수 검증 · 관리자 열람 대기
JAUC-WORK-20260714-03

상담 접수 API와 비공개 상담함 기반

CSRF·Origin·멱등키·속도제한을 적용하고 상담 원문을 AES-GCM으로 암호화해 D1 원자적 batch와 관리자 열람감사로 연결했습니다.

소스
구현 완료
런타임
D1·암호키 적용
공개판
관리자 전용 · 허용 계정 로그인 필요
검증 근거
운영 합성 접수 JAC-20260714-5E6B의 HTTP 201·PII 없는 응답과 정상 경로 8개 statement 확인
남은 위험
Codex가 허용 세션으로 마스킹 목록·복호화 상세·PII_VIEWED 감사기록 E2E를 수행하고, 세션이 잠길 때만 AUTH_UNLOCK 1회 요청
COURT DATA
계획 확정 · 전송로 대기
JAUC-WORK-20260714-04

대법원 증분 파서 결과 연계 계약

신건·사건·물건·기일·상태·결과 이벤트와 원문 URL·조회시각·SHA-256·파서 버전을 보존해 검색·상세·상담에 투영하는 경계를 고정했습니다.

소스
계약 확정
런타임
전송로 미연결
공개판
계획 원장 공개
검증 근거
세션 019eea6e-17ee-7340-83dd-c070dc83396c 생산자 기준선과 outbox·cursor·DLQ·replay 계약 반영
남은 위험
producer manifest/hash 검증 전송로와 canonical DB 소비자 E2E 연결 필요
SEO · MEMBERSHIP
공개 요약·회원 상세 계약 구현 · 운영 배포 전
JAUC-WORK-20260714-05

공개 색인과 회원 상세·상담 전환 분리

검색과 비회원 상세에는 색인 가능한 사건 고유 요약만 제공하고, 문서·분석 등 확장 상세는 HttpOnly 회원 세션을 확인하는 별도 API에서만 반환하도록 공개·회원 projection을 분리했습니다.

소스
요약 projection·회원 세션 게이트 구현
런타임
로컬 BFF 검증 완료 · 운영 내부 origin 연결 대기
공개판
현재 운영판 미반영
검증 근거
비회원 상세 응답 detail_level=summary·당사자/확장필드 미포함, 무세션 회원 상세 HTTP 401, 안전한 return_to와 공개·회원 projection 분리 테스트
남은 위험
기존 Sites 프로젝트에 배포한 뒤 내부 AuctionHub origin의 회원 확장 상세와 로그인·가입·색인 E2E를 검증
SITES RELEASE
운영판 공개 · 관리자 E2E 1건 대기
JAUC-WORK-20260714-06

회사·컨설팅·작업 원장 운영 배포와 접근 검증

회사소개 임시 안내 교체, 컨설팅 4개 경로, D1 상담 접수와 통합 작업 원장을 같은 Sites 운영판에 배포하고 실제 경로·접수·접근 정책을 대조했습니다.

소스
커밋·패키지 검증 완료
런타임
Sites 운영판·D1 migration 적용
공개판
소유자 전용 custom · 익명 401
검증 근거
운영 8개 경로 HTTP 200, 회사 임시 안내 문구 0건, 상담 HTTP 201, 자동화 테스트 35건 통과
남은 위험
Codex가 기존 허용 계정 세션으로 관리자 상담 상세를 확인하며 비밀번호·2FA가 나타날 때만 AUTH_UNLOCK 1회 요청
PUBLIC COMPANY
이번 판본 공개
JAUC-WORK-20260714-07

회사소개 본문 법인정보 카드 제거

회사소개 인사말 아래에 반복 노출되던 상호·대표·사업자등록번호·주소·대표전화·개인정보 보호책임자 6개 항목 카드를 제거했습니다.

소스
본문 카드 제거 완료
런타임
정적 경로 정상
공개판
회사소개 본문에서 제거
검증 근거
회사소개 HTML의 회사 정보 aria-label 0건, CTA 유지, 공통 푸터·오시는길 정보 유지 테스트
남은 위험
공통 푸터와 오시는길의 필수 회사정보는 이번 요청 범위대로 유지
PUBLIC CALENDAR
실데이터 BFF 연결 구현 · 운영 배포 전
JAUC-WORK-20260715-01

일정별 검색 월간 법원 일정표 구현

일정별 검색을 6주·42칸 월간 달력으로 구현하고 같은 origin의 /api/v1/sale-events 응답에서 날짜별 법원 일정과 물건 수를 구성합니다. API 실패 시 임의 건수를 채우지 않고 오류·빈 상태를 구분합니다.

소스
월간 달력·sale-events BFF 구현 완료
런타임
로컬 AuctionHub 응답 연결 검증
공개판
현재 운영판 미반영 · 고정 가상 건수 없음
검증 근거
유효 ISO 날짜 42칸, /api/v1/sale-events 실응답 3건 로컬 연결, 고정 일정·법원 수 미사용, 로딩·빈 결과·연결 오류 상태 렌더 테스트
남은 위험
운영 배포와 브라우저 회귀 후 Court SCHEDULE_CHANGED projection의 원문 조회시각·파서 버전·변경 상태를 달력 응답에 확장
MAP SEARCH · MASTER PLAN
계획 확정 · 제품 라우트 비활성
JAUC-WORK-20260715-02

지도검색 예정 영역과 종합 구현계획 확정

지도검색은 아직 제품 기능으로 열지 않고 기존 두인 구현계약과 일치하는 /map 경로와 화면·데이터·API·품질 계약만 예약했습니다. 전체 사이트를 구현·검증용 표본·계획·미연결로 재분류하고 우선순위 제안과 단계별 활성화 게이트를 한 원장에 묶었습니다.

소스
Court 좌표 계보·PNU·품질 계약 예정
런타임
route·API·지도 SDK 없음
공개판
계획 원장만 공개 · 제품 route 없음
검증 근거
지도검색 예정 문구·비활성 상태·단계별 게이트 렌더, sitemap 제외, /map·/map-search·/search/map 링크와 활성 라우트 0건 자동검사
남은 위험
Codex가 좌표 품질 표본 1,000건·키 제한·API shadow를 처리하고 유료 provider·상업 약관만 LEGAL_ACCEPTANCE/PAID_CONTRACT_KYC 요청
PUBLIC DATA · ONBID REFERENCE
계약 구현 · API 활용신청/실연결 대기
JAUC-WORK-20260715-03

공공데이터포털 온비드 용도코드 API 연계계획 확정

15121030을 2023-12-31 기준 388행 bootstrap·회귀 스냅샷으로, 일간 15157768을 운영 용도코드·주소 정본 후보로 분리했습니다. 물건상세 15157247과도 별도 계약으로 유지하고 서버 전용 인증·버전 저장·검증·LKG 복구·공개 승격 게이트를 고정했습니다.

소스
공식 페이지·OAS·첨부 가이드 검증
런타임
adapter 계약·검증 테스트 구현 · upstream 미호출
공개판
/onbid SAMPLE·NOINDEX · 실데이터 승격 전
검증 근거
15121030 최신 UDDI·388행·5개 필드와 15157768 일간 코드/주소 2개 operation, header/query 인증 분리, 키 URL·HTML 비노출 테스트
남은 위험
후속 JAUC-WORK-20260715-05에서 15157768 HTTP 200·resultCode 00·420행 연결 완료; Proxmox 일간 runner는 Codex 실행대상
PUBLIC DATA · ONBID BOOTSTRAP
기준 스냅샷 연결 · 일간 코드 승인 확인
JAUC-WORK-20260715-04

기존 자동연결 이력 재사용과 온비드 기준코드 실제 연결

기존 auctionhub의 공공데이터 키 선택·URL 마스킹·원문 hash·실행원장 패턴을 확인해 재사용했습니다. 로그인 없이 제공되는 15121030 공식 CSV를 CP949 원문 그대로 보존하고 388행을 정규화·계층검증해 공개 reference API와 /onbid 기준코드 패널에 실제 연결했습니다.

소스
15121030 원문·SHA-256·388행·22/50/316 검증
런타임
bootstrap sync·safe probe·reference API·ETag 구현
공개판
/onbid 기준코드 연결 · 물건 SAMPLE·NOINDEX 유지
검증 근거
기존 키는 기존 공공데이터 배치에 사용됐으나 당시 온비드 probe는 15121030 HTTP 401·15157768 HTTP 403. 원문 b6c7655f…·semantic e6c3f093…와 388행 계층 검증 후 공식 파일 bootstrap 연결
남은 위험
후속 JAUC-WORK-20260715-05에서 전용 secret·HTTP 200·resultCode 00·전체 420행 대사 완료; 일간 runner만 남음
PUBLIC DATA · ONBID DAILY MASTER
Sites v13 공개 · 일간 runner 대기
JAUC-WORK-20260715-05

15157768 승인 확인과 일간 full-sync/LKG 구현

공공데이터포털 활용신청 현황에서 차세대 온비드 코드 및 주소 조회서비스 개발계정 승인을 확인했습니다. 공식 Swagger·활용가이드에 맞춰 top-level header/body, singleton/array, 문자열 pagination, 부모 edge 레벨 파생, totalCount 대사, 원문·조회시각·SHA-256·파서 버전 보존과 검증 성공본만 원자 승격하는 일간 수집기를 구현했습니다.

소스
15157768 승인 · HTTP 200/resultCode 00 · 420행
런타임
1 page 전체수집·23/50/347 계층·versioned raw/normalized/manifest·Sites secret rev 2
공개판
Sites v13 · 15157768 live reference 연결 · 물건 SAMPLE·NOINDEX 유지
검증 근거
snapshot 15157768:20260715T030641Z:e00689b5e9207893 · raw 3e2860f0… · semantic e00689b5… · parser onbid-usage-code-live-v1 · 키 비저장
남은 위험
Proxmox 일간 runner와 versioned reference 저장소 연결. 주소 API와 물건 API는 별도 게이트 유지
SEO DETAIL BENCHMARK
전수조사·계획·회귀계약 반영
JAUC-WORK-20260715-06

Wonsns·Busyman·Auctioning 전수조사 WON-SEO-01~10 병합

작업 019f639b-070a-7c42-aa37-87ebcf43f867의 1차 2개·2차 6개 상세 URL 조사 결과를 기존 P0·P1·P2·P3·P7·P8에 한 작업으로 병합했습니다. SSR 사실표, 공식 기일 이벤트 정규화, 단일 반응형 URL, 상태변경 IndexNow와 금지 회귀 fixture를 Court PUBLIC_INDEX 계약에 고정했습니다.

소스
공개 HTTP·HTML·검색 표본 조사 완료
런타임
WON-SEO-01~10 구현 대기 · 색인 차단 유지
공개판
계획판 공개 · 실제 검색색인 미활성
검증 근거
2차 6개 URL 중 현재 noindex 4개를 과거 색인 잔존으로 분리하고 SSR 표·alias·lifecycle·피드·soft-404 조사 결과를 10개 계약과 자동검증 행렬로 전환
남은 위험
Court event 정규화와 PUBLIC_INDEX projection 100건 대사를 통과한 뒤에만 대표 공개 URL·sitemap·IndexNow를 단계 활성화
AUTONOMOUS DELIVERY
책임표·에스컬레이션·검증계약 반영
JAUC-WORK-20260715-07

사용자 직접 실행 0건 기본의 Codex 구현 운영모델

조사·설계·코드·DB migration·외부 API·Proxmox·Cloudflare·Sites·DNS·테스트·배포·모니터링·롤백은 Codex가 끝까지 처리하도록 책임을 재배치했습니다. 사용자는 대리할 수 없는 본인확인·비밀번호·2FA·유료결제·법적 동의·최종 공개 승인만 1회 행동으로 수행합니다.

소스
저장소·문서·미연결 운영단계 전수 대조
런타임
Codex 실행 우선 · 비가역 권한경계만 승인 요청
공개판
계획판 공개 · 실제 권한 변경 없음
검증 근거
14개 책임영역·6단계 실행루프·6개 사용자 권한경계·10개 현재 실행대상을 렌더링하고 사용자 수동 명령·파일복사·배포 절차를 기본값에서 제거
남은 위험
외부 서비스가 비밀번호·2FA·결제·법적 동의 또는 private→public 최종 승인을 요구할 때만 한 번에 한 행동을 요청하고 나머지는 계속 진행
AUCTIONHUB BFF · ACCESS PROJECTION
로컬 구현·검증 완료 · 운영 배포 전
JAUC-WORK-20260715-08

AuctionHub same-origin BFF와 공개·회원 상세 분리

브라우저가 AuctionHub origin을 직접 호출하지 않도록 목록·검색옵션·facets·법원·기일·상세를 Sites same-origin BFF로 통합했습니다. 공개 상세는 요약 projection만 반환하고 회원 상세는 HttpOnly 세션과 upstream 인증을 모두 통과해야 전체 projection을 요청합니다.

소스
계약·서버 클라이언트·8개 BFF 경로 구현
런타임
allowlist·timeout·retry·redirect 거부·표준 오류 적용
공개판
현재 운영판 미반영
검증 근거
실목록 3건 HTTP 200, 공개 상세 summary projection·확장필드 0건, 무세션 회원 상세 HTTP 401, canonical slug fallback과 오류 응답 자동검증
남은 위험
기존 Sites 프로젝트에 server-only AuctionHub 내부 origin을 설정하고 운영 목록·상세·회원 세션 E2E를 통과시킨 뒤 공개
PUBLIC PRODUCT · MEMBER WORKBENCH
로컬 제품 구현 완료 · 브라우저 QA·운영 배포 전
JAUC-WORK-20260715-09

실데이터 핵심 화면과 회원 워크벤치 전면 구현

홈·검색·결과·물건상세·월간 일정·법원목록을 실데이터 BFF 기반 화면으로 교체하고 로그인·가입·관심물건·최근 본 물건·프로필을 같은 회원 세션 계약에 연결했습니다. 서울 도심 주거·업무권을 사실적으로 담은 전용 hero 이미지도 제작해 적용했습니다.

소스
SSR 검색·상세·42칸 달력·법원·회원 화면 구현
런타임
빌드·렌더·실목록 SSR 연결 검증
공개판
현재 운영판 미반영
검증 근거
홈 HTTP 200·실제 첫 상세 링크 SSR, 공개 상세 slug 해석, 월간 42칸과 sale-events 연결, 인증 전 내 작업공간 상태 및 전체 렌더 테스트
남은 위험
데스크톱·모바일 브라우저 QA와 끊어진 링크·금지문구 전수검사 후 동일 Sites 프로젝트에 배포
DETERMINISTIC FORMULA CORE
산식 코어·실계산 API/UI 완료 · 운영 배포 전
JAUC-WORK-20260715-10

권리·배당·투자 산식 코어와 실계산 UI 구현

금액을 bigint·정수 문자열로 처리하고 최대잉여 방식 배분, 우선순위 waterfall, 명시적 임차인 보호규칙, NOI·cap rate·CoC·ROI·XIRR을 순수 함수 패키지로 구현했습니다. 같은 산식을 strict allowlist API와 직접입력 계산기에 연결했으며 세금·비용·법적 기준값은 추정하지 않습니다.

소스
formula-core·strict POST API·반응형 계산기 구현
런타임
산식 17건+API/UI 4건 자동검증 통과
공개판
/mypage/calculator NOINDEX · 현재 운영판 미반영
검증 근거
largest-remainder·waterfall 불변식, NOI·수익률·XIRR, 8KB·필드 allowlist·정수문자열·기간검증, 입력 SHA-256과 formulaVersion 표시 21건 자동검증
남은 위험
운영 배포·브라우저 회귀 뒤 canonical 물건·임차인·권리 projection과 규칙 버전 원장을 회원 분석 화면에 연결
CANONICAL CONTRACT · SCRATCH PREPARATION
스크래치 통합 후보 검증 완료 · 라이브 미배포
JAUC-WORK-20260715-11

정본 식별자·검색 projection·release fingerprint 통합 후보 완료

법원·사건·물건의 안정 식별자와 alias, HMAC cursor v2, 6종 정렬, facets·검색 projection, 원문·조회시각·hash·파서 버전·revision 계보를 기존 AuctionHub에 병합할 수 있도록 격리 스크래치에 계약·migration·통합지침·회귀검증 묶음으로 완성했습니다.

소스
contract v2·migration 143·integration guide 구현
런타임
Python 34건·PostgreSQL 53문장 파싱 통과 · 운영 DB·서비스 미변경
공개판
계획 원장만 공개 · API·DB 미반영
검증 근거
기존+신규 Python 34건, py_compile, pglast PostgreSQL 53 statements 통과; N 정본 main.py SHA 불변·live DB/runtime/DNS 무변경
남은 위험
staging DB preflight로 실제 중복·FK guard·projection 부하를 확인하고 signing key 설정·main.py wiring·N 정본 병합 검토 후 별도 승인된 운영 배포 수행
INTEGRATED RELEASE · BROWSER QA
Sites v17 검수 완료 · REV 13 공개
JAUC-WORK-20260715-12

완성형 제품 통합검수와 기존 Sites 운영판 갱신

실데이터 홈·검색·상세·월간 일정·법원목록, 공개·회원 분리 BFF, 회원 워크벤치, 투자수익 산식, 상담·관리자 경계, 온비드 기준정보와 동적 sitemap을 한 판본으로 묶어 기존 소유자 전용 Sites 운영판에 배포했습니다.

소스
핵심 UI·BFF·회원·산식·관리·온비드·SEO 통합 완료
런타임
build·Node 90건·Python 34건·PostgreSQL 53문장·lint 오류 0
공개판
기존 소유자 전용 Sites 운영판 갱신 · jauc.co.kr DNS·Tunnel·운영 런타임 무변경
검증 근거
운영 14개 화면 HTTP 200·죽은 링크 0, 실목록 API 200, 공개 상세 summary·회원 필드 0, 산식 POST 200, sitemap 109 URL 중 물건 100 URL, 375px·1265px 가로 넘침 0
남은 위험
contract v2를 staging DB와 내부 AuctionHub origin에 연결해 실제 6종 정렬·facet revision·rich member detail을 운영 승격
SEARCH CONTRACT V2 CONSUMER
consumer 완료 · contract v2 revision 확인 시 자동 활성화
JAUC-WORK-20260715-13

6종 정렬·cursor·총건수·filter-aware facet 소비자 완성

검색 결과에 6종 서버 정렬, 24·48·72·100 표시개수, opaque cursor 더보기, 동일 URL 조건 보존, 정확한 total_count 표시를 구현했습니다. BFF는 sort enum과 revision 메타를 엄격히 검증하고 facet 요청에도 동일 필터를 전달합니다. 현재 운영 API가 sort를 200으로 받지만 실제 순서를 바꾸지 않는 것도 실응답으로 확인해 snapshot·revision·query hash·sort 네 값이 모두 일치할 때만 정렬 선택을 자동 활성화하도록 막았습니다.

소스
검색 UI·SSR/BFF·facet·pagination contract 보강
런타임
6개 sort 실호출은 모두 200이나 동일 순서·동일 legacy cursor임을 확인
공개판
거짓 정렬 표시 차단 · legacy에서는 최신 갱신순만 표시
검증 근거
sort allowlist·중복값 차단·pagination meta allowlist·SSR total·cursor query 보존·revision capability gate 자동검증
남은 위험
contract v2 projection을 내부 origin에 승격한 뒤 6개 sort의 서로 다른 첫/끝 행, 전체 페이지 중복·누락 0, facet 합계를 실데이터로 대사
MEMBER DETAIL V3
v3·legacy 동시 지원 · 내부 origin 승격 대기
JAUC-WORK-20260715-14

회원 전체 상세 projection·증거 계보 화면 완성

회원 상세 BFF가 detail-projection-v3를 우선 조회하고 구형 endpoint만 있는 환경에서는 안전하게 legacy로 되돌아가도록 연결했습니다. 화면은 사건·매각·자산·토지건물·차량·임차점유·권리·위험·기일·문서·사진·증거계보를 모두 분리하며, 누락값은 명시적 빈 상태로 표시합니다.

소스
회원 BFF allowlist·v3 projection UI·즐겨찾기 멱등 UX 구현
런타임
현재 public jauc.co.kr 상세와 v3가 410으로 차단됨을 실확인
공개판
비회원은 가입/로그인 게이트만 노출 · 원문 URL·내부 경로·secret 비노출
검증 근거
v3/legacy 렌더·11개 상세 섹션·모든 빈 상태·위험 URL/내부 감사필드 제거·해시 요약·favorite 중복 제출 방지 테스트
남은 위험
내부 AuctionHub origin에서 회원 세션으로 v3 200을 허용하고 실제 임차·권리·문서·사진 표본의 필드 대사와 객체 소유권 E2E를 통과
REVISION-SAFE SEO
안전한 revision sitemap 소비자 완료
JAUC-WORK-20260715-15

동일 revision cursor sitemap과 실제 lastmod 게이트 구현

기존 /sitemap.xml을 유지하면서 첫 목록 이후에는 snapshot_at·projection_revision·query_hash·sort가 모두 동일한 contract v2 cursor만 최대 5페이지·500건까지 합치도록 보강했습니다. revision 변경, 메타 누락, 반복 cursor, API 장애 시 검증된 페이지까지만 보존하고 정적 핵심 경로는 항상 유지합니다.

소스
bounded cursor collector·canonical 중복 제거·실제 updated_at lastmod
런타임
legacy 응답에서는 첫 100건만 사용 · 잘못된 혼합 revision 0
공개판
비공개·회원·관리·검토·지도 예정 route sitemap 제외
검증 근거
동일 revision 누적·revision 변경 중단·legacy 1페이지·부분 장애 축소·정적 route allowlist 자동검증
남은 위험
전체 공개 전 projection export 또는 cursor ledger를 연결해 50,000 URL 이하 파일로 분할하고 alias·삭제 lifecycle과 함께 Search Advisor에 제출
CONTRACT V2 RELEASE REHEARSAL
격리 PostgreSQL rehearsal 통과 · 운영 승격 미실행
JAUC-WORK-20260715-16

migration 143 실제 PostgreSQL 격리 실행과 fail-closed 승격 게이트 완성

실 staging 접속정보가 없는 상태에서 계획만 통과시키지 않고, X: scratch의 PGlite 0.5.4 PostgreSQL WASM 18.3 엔진에 migration 143 전체를 실제 실행했습니다. dirty fixture는 preflight와 index 적용을 차단하고 clean fixture는 alias·승인 merge·projection·facet 제약을 적용한 뒤 promote·rollback audit까지 재현했습니다.

소스
migration·immutable ready trigger·activation audit·promote/rollback·release-check 보강
런타임
pytest 35건·PG rehearsal·release-check·6 sort×73행 keyset·HMAC tamper 차단 통과
공개판
운영 DB·N 정본·runtime·DNS 무변경
검증 근거
dirty SQLSTATE 23514 차단, clean 2 indexes·5 constraints, bad-count 승격 원자 차단, 32-byte 미만 key 거부, 증거 미비 promotion fail-closed
남은 위험
실 staging PostgreSQL의 전체 기존 schema·실데이터 cardinality·lock time·worker release ID를 release-check에 넣어 통과한 뒤 승인된 cutover에서만 current revision을 승격
PUBLIC SHELL · NAV CONSISTENCY
공통 글로벌 헤더 적용 · 기존 Sites 운영판 반영
JAUC-WORK-20260715-17

홈 글로벌 헤더를 모든 상단 섹션의 단일 셸로 고정

회사소개·오시는길·경매컨설팅·절차·수수료·신청·완료 화면에 따로 존재하던 보조 헤더와 푸터를 제거하고, 홈과 같은 로고·상단 유틸리티·통합검색·회원메뉴·공통 주메뉴를 제공하는 AuctionShell 하나로 통합했습니다. 각 페이지의 breadcrumb·좌측 하위메뉴·업무 본문은 그대로 유지합니다.

소스
BusinessShell을 공통 AuctionShell 내부 콘텐츠 레이아웃으로 축소
런타임
공개 14개 경로의 헤더 DOM 동일성·단일 main/skip link·활성 메뉴 자동검증
공개판
상단 메뉴 이동 시 로고·검색창·메뉴 높이·순서·푸터가 홈 기준으로 유지
검증 근거
data-site-header 계약으로 홈 헤더와 aria-current 외 DOM 완전일치, 구형 JA·WORKBENCH·경매자료실 헤더 제거, 데스크톱·태블릿·모바일 overflow 검수
남은 위험
신규 공개 route는 AuctionShell 외 별도 글로벌 헤더 생성을 금지하고 동일성 회귀검사를 필수 유지
PUBLIC IA · AUCTION SEARCH DISCLOSURE
5개 주메뉴·3개 경매검색 하위 메뉴 공개판 반영
JAUC-WORK-20260715-18

5개 상단 메뉴와 경매검색 하위 탐색 구조 확정

상단 메뉴를 경매검색·공매검색·지도검색(예정)·경매컨설팅·회사소개 5개로 정리하고, 경매물건검색·매각기일·법원별검색을 경매검색 하위 메뉴에 묶었습니다. 하위 메뉴는 클릭·Enter·Space로 열리고 Escape·바깥 클릭·링크 선택으로 닫히며, 지도검색은 실제 경로가 생기기 전까지 링크 없는 비활성 버튼으로 유지합니다.

소스
PrimaryNavigation 클라이언트 disclosure 분리·단일 활성 링크·비활성 지도검색 계약 적용
런타임
14개 공개 경로 공통 DOM·하위 링크 3개·상위 순서 5개·현재 경로·dead link 방지 자동검증
공개판
매각기일과 법원별검색은 경매검색 안에서 접근하고 모든 상단 섹션에서 같은 헤더 구도를 유지
검증 근거
data-primary-item 5개와 data-auction-search-item 3개 계약, aria-expanded·aria-controls·Escape·outside click, 1440·1024·760·375px 잘림·본문 밀림 검수
남은 위험
지도검색은 좌표·목록 동기화·provider·접근성·오류복구 게이트를 모두 통과한 뒤에만 같은 자리를 실제 링크로 승격
KAKAO MAP AUDIT · PRODUCT ROADMAP
선행 provider 실증 · 현재 상태는 후속 -02 원장 기준
JAUC-WORK-20260716-01

카카오맵 API 전수조사 실증을 지도검색 완성형 계획에 병합

참조 작업 019f639b-070a-7c42-aa37-87ebcf43f867의 초기 설정·실호출·브라우저 렌더 증거를 대조해 Kakao provider와 제이옥션 제품 준비도를 분리한 선행 감사입니다. 이후 JAUC-WORK-20260716-02에서 M1 교차측정, PostGIS·same-origin BFF·/admin/map-shadow 구현과 보안 재검토를 완료했으며, 이 항목의 초기 PENDING 판정은 후속 원장으로 대체합니다.

소스
감사 보고서·evidence JSON·실렌더 결과 대조 완료; 키·토큰은 원장과 화면에 보존하지 않음
런타임
선행 감사 이후 M2B code/schema와 M3 owner-only Shadow가 구현됨; 공개 /map·별칭 404와 제품면 SDK 0건은 유지
공개판
현재 구현 상태·검증 수치·남은 승격 조건은 JAUC-WORK-20260716-02와 지도검색 계획판에서 확인
검증 근거
앱 1514962·등록 origin SDK 200·미등록 origin 401·Local 200·marker/clusterer/attribution PASS를 선행 확인; 후속 구현·보안·배포 증거는 -02에 귀속
남은 위험
후속 JAUC-WORK-20260716-02에서 /admin/map-shadow·BFF·PostGIS DDL·보안 보완을 비공개 배포했고, PUBLIC live gate와 owner 운영 UI E2E는 계속 차단 상태로 관리
KAKAO MAP · M0–M3 IMPLEMENTATION AUDIT
M0–M3 실구현 상태·남은 LIVE 게이트 · owner-only 계획판 반영
JAUC-WORK-20260716-02

카카오맵 M0–M3 구현·보안 재검토·비공개 Shadow 배포 상태 반영

참조 작업 019f639b-070a-7c42-aa37-87ebcf43f867에서 완료한 M0–M3 구현과 독립 보안 재검토를 정본 보고서·runbook·좌표 감사·PostGIS migration·소스 커밋·Sites 판본으로 다시 대조했습니다. M2A만 PASS이며 M0·M1·M2B·M3는 측정·코드·스키마·비공개 배포까지 진척된 PARTIAL입니다. 내부 화면은 /admin/map-shadow로 고정하고 공개 /map·sitemap·전역 메뉴 SDK는 계속 닫았습니다.

소스
62b9bc5 구현 → 94461b6 보안 보완 → 2b9b5daf 전역 revision 역행 차단; 최종 독립 재검토 PASS
런타임
Sites v23 · env revision 4 · /admin/map-shadow 비공개 배포 · PUBLIC projection revision 0/serving false/publication metadata 0/view 0
공개판
root 200 · 공개 /map 404 · cross-site BFF 403 · identity-less admin API 401 · 공개 메뉴·sitemap SDK 0
검증 근거
M1 20개 균등 offset·1,000건 교차측정, PostGIS 테이블2/뷰1/함수3/트리거2/제약14/인덱스4, 지도 11/11·전체 125/125, tile16·feature/list/detail public_id 각100·aria/focus PASS
남은 위험
M0 소유 원장, M1 ground-truth 승인, M2B PUBLIC metadata·양수 revision·serving·service auth·fixed egress/IP·REST secret·durable rate limit, M3 owner live UI E2E·CT104 통합·7일 관측
MADANGS MAP UX AUDIT · PLAN-ONLY PARITY
MAP UX PARITY 계획판 반영 · 제품 기능 미변경 · 공개 /map 차단 유지
JAUC-WORK-20260716-03

경매마당 지도검색 전수조사를 MAP UX PARITY 계획·완료·회귀 기준으로 병합

로그인 데스크톱·390px·공개 번들·무쿠키 API 경계를 전수조사한 정본을 기능 구현이 아닌 계획 계약으로 반영했습니다. 정보형 overlay, 동일 위치 sheet, 상세 전환·상태 복원, 공통 filter codec, owner-only 좌표 진단, 공개 API·좌표 보호를 P0로 고정하고 20개 회귀 기준을 별도 원장으로 만들었습니다.

소스
경매마당_지도검색_전수조사_2026-07-16.md의 2차 잔여위험 재검증까지 실측·금지 사례·PublicMapLot 권장 계약·20개 회귀·15개 추가 게이트로 구조화
런타임
owner-only /admin/map-shadow와 기존 v23 구현 기준은 유지하며 MAP UX 패키지는 모두 PLANNED
공개판
공개 /map·별칭 404 · sitemap·전역 메뉴·공개 제품면 SDK 0건 계약 유지
검증 근거
전국 bbox 25,515건·11,749,307 bytes·약 15.7초 복제 금지 사례, bbox 누락 cluster 273/합 35,800 정정, P0 7개·P1 5개, PublicMapLot, 회귀 20개·추가 게이트 15개
남은 위험
M2B schema·codec·guard·service auth를 먼저 고정하고 serving=false owner-only MAP UX PARITY 구현·20개 회귀·잔여위험 15개 게이트·8개 상태 해소·운영 E2E를 완료한 뒤, 양수 revision·serving과 M5 공개 승인을 별도로 검토
SEARCH UX · DOOIN APPLICABILITY
검색 데모 보강 · 적용성 원장 공개
JAUC-WORK-20260716-04

카드 전체 상세 이동과 두인급 검색 적용성 재분류

물건 카드의 상세정보·상담신청 하단 버튼을 제거하고 카드 전체를 단일 상세 링크로 만들었습니다. 두인 전수조사 65개 기능계약과 75개 화면표면은 조사 완료와 제품 구현 완료를 분리해 4개 적용상태로 전수 분류했고, 검색은 실제 Court canonical taxonomy 11종·법원·지역·가격·유찰·기일 조건과 작동하는 하위 진입만 노출합니다.

소스
카드 단일 링크·검색 mode/preset·조건 chip·canonical taxonomy·적용성 matrix 구현
런타임
두인 계약 65개·표면 75개 분류와 실제 BFF query 계약 회귀검증
공개판
소유자 전용 Sites 데모·계획판 반영 · 미구현 기능은 완료로 표시하지 않음
검증 근거
현재 구현 8·즉시 보강 12·데이터/권한 선행 43·참고만 2 계약, 표면 6·18·49·2를 고유 ID로 대사하고 카드당 상세 링크 1개·하단 CTA 0개를 자동검증
남은 위험
P0 live options/facets·예상건수·3단계 지역/담당계·목록 비교/관심/저장/인쇄/엑셀과 회원 전체상세·저장검색·상담 자동연결을 실제 데이터·인증 계약 순서로 구현
MAP UX PARITY · RESIDUAL EXECUTION
실행계획 공개 · 제품 지도 미활성
JAUC-WORK-20260716-05

카카오맵·경매마당 2차 감사 이후 잔여작업 W0–W11 실행 분해

최신 정본 잔여작업 계획 SHA-256을 검증하고 M5_READY/FULL_RELEASE 두 착수모드와 단일 campaign 원장을 고정했습니다. W0·W1 병렬에서 W2–W9를 거쳐 W10 owner E2E·CT104·168시간 Shadow, 공개 전 1/10/50/100% 미러 canary, W11 M5 atomic 공개와 공개 후 24시간·7일 검증까지 한 캠페인으로 이어집니다.

소스
정본 SHA-256 547EB70A…56ECD6 검증 · campaign/lock/drift/168h/mirror/atomic 구조와 W0–W11·완료집합 20/15/15/8 반영
런타임
기존 owner-only /admin/map-shadow 유지 · 본 판본은 계획 반영 전용이며 M5_READY 제품 구현은 후속 작업에서 별도 착수
공개판
MAP UX NOT PASSED · 공개 /map·별칭 404 · 공개 제품면 SDK 0건 유지
검증 근거
node --test tests/map-shadow-runtime.test.mjs tests/map-search-plan.test.mjs 24/24 계획 회귀 기준선; 제품·운영 PASS로 승격 금지
남은 위험
serving=true+positive revision 검증, durable rate rule 배포증거, cluster PUBLIC child 검증, release/upstream/revision cache namespace를 W2–W4의 첫 보완으로 처리
MAP M5_READY · CODE PACKAGE
M5_READY CODE PASS · owner-only 배포 대상 · FULL_RELEASE 미승인
JAUC-WORK-20260716-06

지도·마커·동일위치·상세전환·회원 연계를 owner-only 코드로 완결

M5_READY 범위의 same-origin 지도 BFF, PUBLIC v2 fail-closed 계약, 동일 위치 pagination, owner 진단, zoom별 overlay, URL·세션·새 탭 상태복원, 모바일 bottom sheet, 접근성, 현재위치 동의, 관심·저장검색·알림을 구현했습니다. 동시 멱등성·회원 소유권·CAS·exact Origin·공개 좌표 최소화·durable rate 증거를 독립 재검토해 결함도 함께 수정했습니다.

소스
final HEAD 47271250d791e2a286272b110b0b6537c5e57cce · PUBLIC 동일좌표 location_group_id·same_coordinate_count 보존과 group route fail-closed까지 정렬 · 독립 최종 리뷰 P0/P1/P2 0건
런타임
owner-only Sites v35 배포 성공 · env revision 5 · custom allowlist user 1/groups 0 · /admin/map-shadow 200 · 운영 AuctionHub image와 migration 144는 미배포
공개판
MAP UX PARITY · NOT PASSED · 공개 /map·별칭 404 · 공개 제품면 SDK 0건 유지
검증 근거
production build 포함 전체 218/218·지도 49/49·계획/렌더 24/24·lint·secret scan·diff check PASS; 390/1440px overflow 0, 동일좌표 sheet·새 탭·Esc focus·reload 복원과 SDK 장애 목록 유지 PASS
남은 위험
M1 1,000건 승인, migration 144 적용과 AuctionHub image 배포, 전용 token·운영 IP·durable rule 증거, 전국 성능·owner live E2E·CT104 168시간 Shadow를 닫은 뒤에만 M5 공개 승인 검토
DOOIN 43 · DATA/AUTH/PAYMENT
43/43 감사 · 기존 1 · 기반 7 · 미완료 35 · 실결제/SMS LIVE OFF
JAUC-WORK-20260717-01

43개 선행조건 재분류와 회원·결제 fail-closed 기반 처리

기존 ‘데이터·권한 선행 43개’를 가능성 5·23·14·1, 실행 원천 11·17·15로 중복·누락 없이 재분류했습니다. 이는 구현 진척도가 아닙니다. 현재 상태는 기존 내부 구현 1, 스키마·계약 기반 7, 구현·승인·권리 확인이 남은 항목 35입니다. 표시 정본 기반 법률 hash와 동의 최신상태/철회시각, 회원탈퇴 gate, provider-neutral 결제 스키마·runtime trigger, 목적별 OFF인 DirectSend adapter 기반을 만들었고 두인 개인 결제자료는 0건 반입했습니다.

소스
canonical terms/privacy/marketing·legal_documents/member_consents·billing products/prices/orders/events/entitlements/coupons/refunds·closure event·trigger-free legal migration 0005·owner runtime guard bootstrap과 회귀, /resources/links, /api/v1/legal/current 반영
런타임
FOUNDATION ONLY · v46 owner bootstrap에서 ACTIVE/APPROVED 가격대사와 VERIFIED→PAID→ACTIVE 이용권 D1 trigger 11개를 hosted D1에 설치·exact SQL 대조했고, v47/env revision 10 재빌드에서 bootstrap을 503으로 폐쇄 · PG adapter/checkout/webhook 미연결 · 검토본 가입/OTP 503 · DirectSend live gate OFF · 탈퇴 코드판 DRAFT 503
공개판
공개 checkout·구매·환불·본인확인 0 · 약관/개인정보는 DRAFT_REVIEW_REQUIRED·noindex · 공식 사이트 링크만 공개
검증 근거
43개 ID 합계·중복·누락, 표시 정본/notice UTF-8 SHA, fresh·0000~0002·0000~0004 migration, 승인 가격·상태전이·VERIFIED event·PAID·이용권 gate, 가입·탈퇴 fail-closed 회귀로 고정
남은 위험
법원/공공데이터 23개는 public_id/runtime 수렴→법원·지역→신건·차량·통계·상세→온비드→자료실 순서로 연결; 실결제는 상품·가격·VAT·환불·PG/KYC·법률 승인 후에만 sandbox에서 live로 승격
OWNER REAL-DATA MAP DEMO
OWNER 실DB 데모 배포 완료 · PUBLIC/FULL_RELEASE 미승인
JAUC-WORK-20260717-02

AuctionHub·PostGIS 실DB 지도검색과 마커→상세 흐름 비공개 완결

owner-only /demo/map-search에서 AuctionHub/PostGIS의 실제 물건을 same-origin BFF로 조회하고, 카카오 지도 이동·휠 줌 뒤 280ms 자동조회, stale 요청 취소, cluster→dot→detail 밀도, 동일 공개좌표 sheet, 목록·마커·상세 public_id 동기화, URL·세션·스크롤·선택 복원과 Esc 포커스 복귀를 구현했습니다.

소스
final HEAD 899bd5767825db963d18e0946ef41cec7f41469b · 41732a91 두인 기반과 Sites v41 계보 포함 · ops/ 추적 0건
런타임
owner-only Sites v42 · env revision 6 · custom allowlist user 1/groups 0 · /demo/map-search 200+noindex · 100개 overlay/detail link 실DB 검증
공개판
공개 /map·/map-search·/search/map 404 · sitemap 제외 · 비소유자 map API 401 · FULL_RELEASE NOT APPROVED
검증 근거
production build 포함 전체 246/246·focused 지도/DB 29/29·lint error 0; bbox total 6,627/first 100/has_more, 휠 zoom10→9 bbox 갱신, 선택 aria-pressed 1, 상세 동일 public_id, Esc dialog 0·focus 복귀, 금지 식별자 HTML 0
남은 위험
raw upstream 정밀좌표·PNU·UUID 무인증 노출 차단, migration 144·PUBLIC v2·location_group_id 실응답, cluster count 302건 차이, owner 실제 Kakao SDK E2E와 168시간 Shadow를 닫기 전에는 공개하지 않음
DOOIN FOUNDATION · BILLING/LEGAL HARDENING
FOUNDATION HARDENED · 실결제/실SMS/가입/탈퇴 LIVE OFF
JAUC-WORK-20260717-03

승인 가격·검증결제 DB 강제와 법률 표시 정본 SHA 보강

두인 43개 재분류의 기반 7개를 다시 독립 감사해, TS 함수만 있던 결제 규칙을 hosted D1의 11개 trigger로 승격했습니다. Sites migration 전처리가 trigger 본문을 거부해 법률 정본 migration과 결제 guard 설치를 분리하고, 1회용 owner bootstrap이 D1 prepare·batch 설치 뒤 sqlite_master 이름과 SQL 정의를 exact 대조하도록 보강했습니다. ACTIVE 상품·APPROVED 가격·금액·통화·VAT가 맞아야 DRAFT 주문을 만들 수 있고 VERIFIED 결제 이벤트 없이는 PAID, PAID+VERIFIED 없이는 ACTIVE 이용권을 만들 수 없습니다.

소스
code foundation e7ecba48774a2b3811c3f22d1ea18080b6bbdfc1 · trigger-free legal migration 0005 · owner-only runtime guard bootstrap · canonical legal version draft-2026-07-17-canonical-1
런타임
v43~v45는 D1 trigger migration 전처리에서 운영 미반영 · v46/env revision 8 one-time bootstrap으로 hosted D1 11개를 2회 설치·대조 · revision 9의 key 제거가 같은 저장 판본 runtime을 닫지 못한 사실을 검출 · 무효 secret을 둔 env revision 10으로 v47을 새로 빌드·owner-only 재배포해 bootstrap 503을 확인
공개판
checkout·webhook·환불·실문자·NICE/PASS·APPROVED 약관 0 · 공개 지도 별칭 404와 FULL_RELEASE NOT APPROVED 유지
검증 근거
production build 포함 256/256 PASS · lint 0 · drizzle check PASS · fresh·0000~0002·0000~0004 migration upgrade·runtime guard 11/11 exact SQL 대조 PASS · secret pattern 0 · 지도 runtime·전용 map-* 6파일과 sitemap 공개경계 회귀 diff 0 · member-map-personalization migration journal 기대값 0004→0005 1줄 동기화 · rendered-html 계획 증거 단언 동기화 · ops 추적 0
남은 위험
상품·환불·쿠폰·법률 승인과 PG/NICE/DirectSend 사업자 계약이 끝난 뒤에만 별도 sandbox E2E를 만들고, 운영 승격은 webhook 대사·delivery callback·hosted D1 경합을 통과한 판본으로 제한
PLAN QA · RESPONSIVE
1440px DOCUMENT OVERFLOW 0 · OWNER-ONLY v48
JAUC-WORK-20260717-04

두인 전수조사 표 가로 넘침 제거

8열 전수조사 표의 최소 폭은 유지하되 표 컨테이너가 데스크톱 문서 전체를 넓히지 않도록 내부 가로 스크롤 경계를 고정했습니다. 680px 이하에서는 기존 카드형 변환을 그대로 사용합니다.

소스
plan-surface-table의 wide table 계약을 유지하고 681px 이상에서 wrapper width/max-width 100%·overflow-x auto를 회귀검사로 고정
런타임
exact production build의 1440px 로컬 렌더에서 document scrollWidth가 viewport 이하이고 전수조사 표만 내부 스크롤되는 것을 확인
공개판
owner-only 접근정책 유지 · 공개 지도 별칭·SDK·FULL_RELEASE 상태 변경 없음
검증 근거
production build·rendered HTML/CSS 회귀 PASS · 인앱 브라우저 1440px document overflow 0 · 표 container overflow-x auto
남은 위험
Sites owner 허용계정의 운영 UI E2E와 실제 390px viewport 장치 검증은 별도 증거로 남기되 공개 전환 조건에는 포함하지 않음
EVIDENCE CORRECTION · MAP BOUNDARY
EVIDENCE SCOPE CORRECTED · OWNER-ONLY v49
JAUC-WORK-20260717-05

지도 변경 증거 범위를 파일 단위로 정정

지도 runtime과 전용 지도 동작 테스트가 변하지 않았다는 판정은 유지하되, 전체 테스트가 무변경이라는 넓은 표현은 철회했습니다. 결제 migration 0005 추가에 맞춘 회원 지도 개인화 테스트의 journal 마지막 tag 기대값 1줄과 계획판 증거를 동기화한 rendered-html 변경을 별도 기록합니다.

소스
899bd576..13bde174 대조에서 app/admin/map-shadow·app/api/v1/lots/map·lib/map, 전용 map-* 6파일과 sitemap 공개경계 회귀 diff 0 · tests/member-map-personalization.test.mjs 기대값 1줄 · rendered-html 계획 증거 단언 변경 확인
런타임
지도 API·렌더·상태복원·보안 계약 변경 0 · migration journal의 최종 tag 검증만 0005_billing_runtime_guards로 동기화
공개판
owner-only 접근정책 유지 · 공개 지도 별칭 404 · 공개 Kakao SDK 0 · FULL_RELEASE NOT APPROVED
검증 근거
git diff 899bd576..13bde174 파일 단위 재대조 · 전체 테스트 무변경이라는 넓은 단정 제거 · corrected evidence 회귀검사 추가
남은 위험
후속 인수보고는 runtime·핵심 동작과 테스트 보조 동기화를 분리해 기록
HOME · RECOMMENDED LOTS
OWNER-ONLY v50 · REAL-DATA 8/8 DETAIL PASS · RIGHTS STRICT GATE PENDING
JAUC-WORK-20260717-06

최근 갱신 8건을 검증 가능한 추천 경매물건으로 교체

홈의 최근 갱신 제목과 현재 8건 문구를 제거하고 아파트 4건·근린주택 2건·공장 2건 우선 배분으로 교체했습니다. 진행중·향후 매각기일·유찰 1~3회를 필수로 하고, 최근 30일 실제 회원 관심등록·고유 열람은 정렬에만 반영하며 원점수와 회원정보는 공개하지 않습니다.

소스
Geo/Court 목록의 정확한 3개 용도를 용도별 최대 100건 조회 · status=진행중·향후 기일·유찰 1~3회 fail-closed · 4/2/2 quota와 결정 정렬 · D1 30일 관심 aggregate 60초 cache · origin별 service token 분리 · LOT public_id 공개요약 detail bridge
런타임
2026-07-17 실원천 후보 300건에서 아파트4·근린주택2·공장2 총 8건 선별 · 8개 LOT 식별자 모두 일반 상세 공개요약 200 계약 대조 · 일반 원천 410 뒤 전용 Geo 서버 브리지가 좌표·PNU를 폐기하고 공개 allowlist만 반환
공개판
추천 제목·용도 우선순위·유찰 근거만 공개 · 소수 회원 활동의 원점수·회원식별자·권리 단순 미검증 문구 0 · 공개 지도 별칭 404·Kakao SDK 0·FULL_RELEASE NOT APPROVED 유지
검증 근거
production build 포함 전체 264/264 PASS · 홈 추천 대상 회귀 8/8 PASS · 실원천 3종 300건 조회 및 추천 8건 선별 · 추천 8건 상세 page 8/8 HTTP 200·canonical path PASS · origin credential 교차전송 0 · 원좌표·PNU·정확한 관심점수 공개 0
남은 위험
권리분석 ready·confidence≥0.75·특수권리 0·임차인 수동검토 0·말소기준권리 존재를 함께 만족하는 전용 추천 projection을 구축합니다. 현재 실측은 아파트 69건·근린주택 0건·공장 0건이며 여기에 실제 회원활동까지 겹친 건은 0건이므로, 충족 전에는 권리관계 단순·고관심 배지를 만들지 않습니다.
INTRANET · CUSTOMER OPERATIONS
OWNER-ONLY v52 · CUSTOMER HUB · DISPLAY-ONLY SAMPLE
JAUC-WORK-20260717-07

고객관리 중심 운영허브와 개인정보 최소 접속분석 구현

운영허브의 첫 화면을 고객관리로 교체하고 가입 고객·로그인 활동·관심·최근열람·저장검색·알림·상담 전체 집계와 방문 세션·페이지뷰·최초 유입·랜딩·7일 추세를 한 화면에 연결했습니다. 방문 세션은 사람 수로 표현하지 않고 수집 전·실측 0·DB 장애를 구분하며, 고객 연락처는 목록과 상세 모두 마스킹합니다. 가입 고객이 0명일 때는 실제 데이터·검색·KPI와 분리된 표시용 테스트 예시 1건만 제공합니다.

소스
공통 sticky 관리자 헤더 8개 카테고리 · /admin 고객관리 기본화면 · /admin/analytics · /admin/customers/{id} · analytics_sessions/page_views · 0006 D1 migration · same-origin 4KiB 수집 API · 탭 세션 SHA-256·30분 회전·500뷰 cap
런타임
owner-only Sites v52 · custom allowlist user 1/groups 0 · 기존 회원·활동·상담은 D1 사실값으로 조회 · 방문·유입은 배포 이후 신규 수집만 표시 · 고객 0명 상태의 예시 1건은 D1·KPI·검색·상세 링크에 들어가지 않는 display-only 행 · 과거 backfill 0
공개판
현재 접속 통계는 운영자·검수 트래픽일 수 있어 운영지표가 아님을 화면에 고정 · IP·원 UA·전체 referrer·검색어·PNU·좌표·원 세션·비밀번호 저장/표시 0 · 관리자 noindex·robots 차단·sitemap 0 · 공개 지도 별칭 404와 FULL_RELEASE NOT APPROVED 유지
검증 근거
production build 포함 전체 277/277 PASS · 고객 0명 예시 1건·KPI 0 유지·검색 혼입 0·가짜 상세 링크 0 회귀 PASS · 실제 SQLite migration과 세션1·페이지뷰3·중복 event 1회 대사 · 상담 KPI LIMIT 100과 무관한 전체 COUNT · 전화/이메일 q 검색 0 · 추정 상담 연결 0 · 마스킹 HTML/RSC 회귀 · lint·drizzle check·diff-check PASS · ops 추적 0
남은 위험
공개 전 개인정보 처리방침에 분석 항목·보존기간을 승인하고 daily rollup/retention을 운영화합니다. 회원-상담 연결은 consultation_requests.member_id를 명시 저장하는 후속 migration 이후에만 열며, 전체 사이트를 public으로 전환하기 전 /admin 전용 edge access를 별도 유지합니다.
COURT · CANONICAL ENRICHMENT · MASTER PLAN
MASTER PLAN COMPLETE · PRODUCT INTEGRATION PLANNED
JAUC-WORK-20260717-08

추가 생산면 전수대조와 종합 완성본 통합계획 확정

세션 019eea6e-17ee-7340-83dd-c070dc83396c의 Court 최신성·문서 보강·관리비·관공서·비교사례·배당·건축물대장·토지대장·공시가격·학군·학교알리미·관리사무소 자동화·계약 자가복구를 현재 제품계획과 대조했습니다. 검증된 상위 생산면과 아직 없는 제이옥션 소비면을 분리하고, 공식 원천→raw→normalized→canonical→publication→same-origin BFF→화면의 단일 이관 캠페인과 완료 게이트를 REV 20에 고정했습니다.

소스
Court master·4대 canonical API·공공 ledger 5개 route·K-apt 연락처·15개 공공 timer·5분 contract guard의 외부 실행 증거 확인 · OpenAPI 136 path/기존 domain route 11개와 후속 후보 9개 capability inventory 완료
런타임
20:30 freshness guard는 OK지만 GF required=true와 두인 watch active가 source-policy debt로 잔존 · K-apt 월 관리비 3개월 실호출은 HTTP 403 · 제이옥션 전용 outbox·service auth·9개 same-origin BFF·화면 소비자는 미접목
공개판
owner-only Sites 계획판만 갱신 · 외부 검증 도메인은 source evidence일 뿐 제이옥션 제품 의존 0 · 공개 지도 별칭 404와 FULL_RELEASE NOT APPROVED 유지
검증 근거
추가 세션 산출물·현재 통합 계약 4+5 route·OpenAPI 136 path/기존 11 route/후속 후보 9개·2026-07-17 20:30 freshness·K-apt 403·timer/자가복구·금지필드를 독립 대조하고 전용 계획 회귀검사에 고정
남은 위험
C0 증거 동결→C1 경계 정정→C2 GF·두인 신규 write/required 종료→C3 schema bridge→C4 service auth→C5 same-origin BFF→C6 UI→C8 7일 shadow→C9 별도 공개 승인 순서로 실행
DEMO · SEARCH · DETAIL
OWNER-ONLY v54 · LIVE SEARCH → DETAIL DEMO
JAUC-WORK-20260718-01

실데이터 검색에서 물건 상세까지 단일 데모 연결

내부 제품투어보다 실제 검색을 먼저 볼 수 있도록 /demo 첫 화면에 기존 Court 상세검색 모듈을 그대로 배치했습니다. 사건번호·주소·법원·지역·용도·가격·유찰횟수·매각기일을 조합해 same-origin BFF로 조회하고, 실데이터 카드 전체를 클릭하면 응답의 detail_path로 공개요약 상세에 진입합니다.

소스
SearchPanel·LotResultsServer·LotResultsClient·LotDetailView 기존 계약 재사용 · 검색폼을 데모 최상단으로 이동 · 3단계 사용 안내 · synthetic LOT ID·fixture·prototype 주입 0 · 카드 하단 중복 버튼 0
런타임
2026-07-18 Court BFF 목록 200·/demo 실카드 4건·진행물건 검색 20건·첫 detail_path 상세 200 대조 · 일반 Court의 public_id 부재는 검증된 detail_path_slug canonical_id와 사건번호 fallback으로 복구
공개판
Sites custom allowlist user 1/groups 0 유지 · /demo noindex · 공개 지도 별칭 404 · Kakao SDK 공개면 0 · FULL_RELEASE NOT APPROVED
검증 근거
production build 포함 전체 288/288 PASS · 검색·결과·상세 대상 21/21 PASS · 390·768·1440px document overflow 0 · 실데이터 목록→detail_path→상세 HTTP 200 · 공개 지도 별칭 3개 404
남은 위험
동적 facet의 regions·sigungu·taxonomy 명칭을 공개 계약에 정렬하고, fixed revision·snapshot·query_hash가 갖춰진 뒤에만 전체 pagination과 6종 서버 정렬을 활성화합니다.
MADANGS BENCHMARK · BID DECISION · MEMBER LEDGER
OWNER-ONLY LIVE 대상 · FORMULA/LEDGER PASS · FULL_RELEASE 미승인
JAUC-WORK-20260718-02

경매마당 전수조사 기반 입찰가 분석과 회원 시나리오 원장 확장

경매마당의 검색·지도·상세·분석·저장·알림 흐름과 공개 안내에 드러난 입력 항목을 사실·추론·미검증으로 분리해 조사했습니다. 제이옥션에는 공개 물건 상세에서 입찰가 분석으로 이어지는 연결, 원 단위 BigInt 결정 산식, 목표수익·목표 ROI 동시 상한, 서버 재계산, 입력·결과·면책 버전과 해시를 보존하는 회원별 D1 시나리오 원장을 독립 구현했습니다.

소스
formula-core bid-analysis v1 · strict same-origin API · /mypage/bid-analysis · member_calculation_scenarios migration 0007 · 한국어 전수조사 보고서
런타임
분석은 로그인 없이 서버 산식으로 실행 · 회원 저장은 서버 재계산과 멱등키·회원 소유권을 강제 · 현행 약관·개인정보처리방침이 DRAFT_REVIEW_REQUIRED이므로 신규 저장은 503으로 차단하고 기존 기록 조회·삭제 경로는 분리
공개판
owner-only Sites 정책 유지 · 계산 화면 noindex · 공개 지도 별칭 404 · 공개 Kakao SDK 0 · FULL_RELEASE NOT APPROVED
검증 근거
기준 벡터·1원 ROI 경계·보수적 반올림·무해시 위조 무시·회원별 목록/삭제 격리·origin 403·비인증 401·법률 미승인 503·migration CHECK/FK·SSR noindex 회귀와 production build 검증
남은 위험
법률 정본 APPROVED와 회원 동의 원장이 갖춰진 뒤에만 신규 저장을 활성화하고, 세후·복리·대출상환표·권리/배당 자동 입력은 별도 공식 기준일·근거·산식 버전 승인을 거쳐 확장합니다.
FINAL PRODUCTION · MASTER PLAN REV21
REV21 COMPLETE · FINAL BUILD GO · PUBLIC GO-LIVE BLOCKED
JAUC-WORK-20260718-03

기존 전수조사와 최신 구현을 단일 최종 제작계획으로 재정렬

REV20 이후의 실데이터 검색→상세, 추천 8건, 고객관리 운영허브, owner 실DB 지도 데모, 입찰가 분석과 회원 시나리오까지 다시 대조했습니다. 구현 완료·owner 검증·부분 구현·외부 권한 게이트를 분리하고, 38개 화면과 Court 증분·식별자·9개 보강 BFF·회원·결제·상담·SEO·CT104 도메인 전환을 C0–C9 한 캠페인으로 고정한 REV21 제작 정본을 작성했습니다.

소스
docs/JAUCTION_FINAL_PRODUCTION_MASTER_PLAN_REV21_2026-07-18.md · Court/official/GF·두인·경매마당 역할 분리 · 공개 canonical_id는 public_id 우선/검증된 detail_path_slug 임시 호환 · LOT-*는 검색·상세·지도 공통이며 Geo는 별도 위치 projection
런타임
실검색·상세·추천·달력·입찰분석·운영허브·owner 지도 데모는 재사용 · 일반 Court public_id/facet/revision·상세 보강 BFF 0/9·hosted D1 0007·법률/결제/SMS·CT104 공개·지도 PUBLIC은 잔여 게이트
공개판
Sites owner-only 유지 · 공개 지도 별칭 404 · 공매 lotSearch NOT_CONNECTED · 결제 disabled · DRAFT 법률 시 가입/회원 저장 fail-closed · FULL_RELEASE NOT APPROVED
검증 근거
비-API 화면 38개 전수분류 · 실 Court 목록→detail_path→상세 200 · production build 포함 전체 306/306 PASS · lint·Drizzle check PASS · screen examples 24 PNG와 SHA-256 manifest · REV21 상태·단계·완료정의 전용 회귀 4/4 PASS
남은 위험
C0 재현 기준선→C2 민간 원천 종료→C3 public_id/projection→C4 outbox/service auth→C5 9개 BFF→C6 화면완성→C8 168시간 Shadow→C9 FULL_RELEASE_READY와 PUBLIC_GO_LIVE 순서로 제작합니다.
OPERATOR HANDOFF · MINIMUM USER INPUT REV22
AUDIT COMPLETE · USER INPUT NOW 0 · 7 AUTHORITY GATES ONLY
JAUC-WORK-20260718-04

43개 선행조건을 사용자 7개 권한 결정으로 압축

저장소·D1 migration·Sites env revision 10·외부 provider gate·REV21을 다시 대조해 지금 제출해야 할 기술자료는 0건으로 판정했습니다. 43개 기능 선행조건 중 구현·공공자료 연결·테스트·배포·DNS·복구는 Codex 실행으로 유지하고, 대리할 수 없는 법률·가격·PG KYC·문자 과금·운영자 신원·지도 상업이용·전체 공개만 7개 시점별 결정으로 묶었습니다.

소스
docs/JAUCTION_USER_AUTHORITY_MINIMUM_HANDOFF_REV22_2026-07-18.md · dooin prerequisite 43건=현재기반 5+공공자료 23+사용자/사업자 14+보류 1 · 사용자/사업자 14건은 중복 권한을 합쳐 7개 결정으로 정규화
런타임
Sites v56/env revision 10 · billing/SMS/account-closure OFF · Kakao shadow · intranet disabled · secret 값은 채팅·HTML·Git에 노출하지 않고 key inventory와 E2E 결과만 대사
공개판
owner-only 유지 · 기술 구현은 사용자 입력 없이 계속 · 법률/가격/PG/SMS/지도/공개 게이트가 승인되기 전 해당 기능만 fail-closed · FULL_RELEASE NOT APPROVED
검증 근거
현재 저장소·REV21·43개 선행조건·법률/결제/SMS/지도/회원/인트라넷 환경키 전수대조 · 사용자 즉시 입력 0 · 사전결정 7 · 조건부 잠금해제 5 · Codex 전담영역 14
남은 위험
사용자에게는 해당 기능 활성화 직전에만 한 화면의 한 결정을 요청하고, 그 전까지 Court·BFF·UI·D1·보안·SEO·배포 준비를 중단 없이 진행합니다.
COURT OUTBOX · FIXED REVISION
CODE COMPLETE · OWNER-ONLY SHADOW · AUTHORITATIVE BLOCKED
JAUC-WORK-20260719-01

Court 증분 피드와 고정 판본 검색·상세 소비 경계 구현

기존 LOT-* 공개 ID를 재발급하지 않고 동결한 채, 8종 REV21 event 계약, 전용 service-auth feed, D1 inbox·cursor·DLQ·projection, bounded drain, 서명 cursor, 고정 판본 목록·상세와 alias 301·withdrawn 410을 구현했습니다. release triple 변이·미해결/ABANDONED DLQ·암묵적 비공개 전환은 공개 승격하지 않고 fail-closed로 차단합니다.

소스
LOT-[A-F0-9]{20} 기존 공개 ID 동결 · producer migration/feed/publisher 보강 중 · 실제 계보·aggregate version·append-only 교차검수 진행
런타임
D1 migration 0008 · Court service-auth consumer · 최대 25페이지/1MiB stream bounded drain · body 포함 8초 timeout · BUILDING/ERROR/ABANDONED 공개 차단 · immutable release triple · HMAC 검색 cursor · fixed revision 목록/상세 409 · DLQ 0 승격 게이트
공개판
기존 공개 검색·상세 유지 · owner-only 배포에서 shadow/off만 허용 · 달력·facet·법원·9개 보강 BFF와 replay/outbox delivery는 잔여 게이트 · FULL_RELEASE NOT APPROVED
검증 근거
Court 계약·migration·멱등·충돌·DLQ·BUILDING·고정 판본·서명 cursor·stream byte/timeout·taxonomy·명시 withdrawal·301/410/409 회귀와 production build 검증 · 운영 producer/D1/Sites 최종 수치는 구현검수 보고서에 별도 기록
남은 위험
producer 실증거와 append-only/aggregate version을 닫고 전체 D1 bootstrap·DLQ 0·건수 대사·p95를 통과한 뒤에만 authoritative를 검토합니다. replay·projection outbox 전달과 나머지 BFF는 완료 전 상태로 유지합니다.

AUTONOMOUS DELIVERY OPERATING MODEL

사용자는 실행하지 않고
Codex가 끝까지 처리

사용자에게 터미널·파일·환경변수·DNS·배포·테스트를 넘기지 않습니다. 이미 허용된 세션과 실행 범위에서는 조사부터 복구까지 Codex가 수행하고, 대리할 수 없는 권한만 한 번 요청합니다.
CODEX EXECUTES · USER AUTHORITY ONLY

정상 구현·운영 작업은 사용자 직접 실행 0건 · Codex가 현재 상태 확인부터 구현, 데이터 연결, 테스트, 배포, 운영 검증, 증거 보존과 복구까지 한 흐름으로 처리합니다. 사용자에게 명령 실행·파일 복사·환경변수 편집·DNS 레코드 입력·수동 배포를 넘기지 않습니다.

A/B는 사용자 행동 0 · C만 한 화면의 한 행동

A · CODEX_AUTOMATIC사용자 행동 0

저장소·코드·스키마·테스트·문서·보고서·주기 작업을 Codex와 자동화가 처리

B · AUTHORIZED_SESSION사용자 행동 0 · 세션이 잠길 때만 C로 전환

이미 허용된 계정·세션·secret·SSH 범위에서 Codex가 외부 설정·배포·검증까지 처리

C · USER_ONE_TIME_GATE해당 범위 외 A/B 작업은 계속 진행

대리할 수 없는 신원·법률·비용·민감 접근·파괴 작업·전체 공개만 한 화면의 한 행동으로 요청

14개 전 영역 실행 책임표

기술 실행은 Codex · 신규 권한과 최종 사업판단만 사용자
제이옥션 구현 영역별 Codex 실행과 사용자 권한 경계
영역Codex가 처리완료 증거사용자 개입 경계
조사·요구사항·원장참조 작업·공개면·승인 세션·현재 소스·런타임을 대조하고 누락 없는 요구사항과 작업 ID를 유지보고서·증거 JSON·계획판·변경이력없음
두인·GF 참고 조사이미 승인된 세션에서 누락 화면을 확인하고 65개 기능계약·75개 표면·210 URL과 SEO benchmark를 동결기능 계약·증거등급·REFERENCE_SNAPSHOT세션 잠금의 비밀번호·2FA만 직접 해제
UI·페이지·접근성화면·반응형·표·문단 간격·키보드·모바일을 구현하고 빌드·브라우저 회귀까지 수정320~1440px·의미구조·링크·폼 E2E브랜드 문안의 최종 사업 판단만 필요할 때 승인
Court 파서·소비자생산자 상태를 보존한 채 schema/outbox/cursor/inbox/DLQ/replay와 검색·상세·달력 projection을 구현원문→hash→event→projection 100% 계보운영 중 프로세스의 파괴적 재시작이 불가피할 때만 승인
DB·migration·백필migration·rollback·hash ledger·백필·정합성 대사·복구 rehearsal을 작성하고 실행전후 row/hash·rollback·오병합 0데이터 영구삭제나 되돌릴 수 없는 변경만 승인
공공데이터·온비드활용현황 확인, secret 반영, 전체 pagination, LKG 승격, 일간 동기화와 quota 차단을 운영resultCode·합계·계층·비밀노출 0신규 활용신청의 본인/KYC·약관 동의만 직접 수행
Proxmox·작업 런타임timer/service/container·경로·권한·보관주기·상태점검·로그·경보·롤백을 구성실행원장·timer 상태·재부팅 후 복구호스트 파괴작업·유료 증설만 승인
Cloudflare·Sites·DNS기존 승인 세션과 정해진 대상에서 zone·secret·tunnel·Sites 판본·DNS·TLS·공개 검증을 처리commit→version→deployment→HTTP 증거대상 도메인 변경 또는 private→public 최종 전환만 승인
회원·관리자·보안인증·객체 소유권·CSRF·암호화·감사·보존·키 회전·권한 우회 E2E를 구현익명·회원·운영자 권한 행렬과 PII 노출 0비밀번호·2FA·CAPTCHA·본인확인만 화면에서 직접 수행
결제·알림·외부사업자sandbox 연동·webhook 멱등·환불·이용권·알림 실패복구와 운영 대사를 구현sandbox 전 과정·중복과 누락 0PG 계약·정산계좌·유료결제·요금제 선택은 승인
SEO·공개 전환canonical·robots·sitemap·RSS·IndexNow·Search Advisor·SERP 코호트와 서버로그를 분리 검증UA/alias/lifecycle 행렬·4주/8주 증거대표 공개도메인과 전체 공개 시점의 최종 승인만 필요
지도·외부 provider공급자 비교·키 제한·BFF·PostGIS·좌표 품질·접근성·비용 차단·fallback을 구현1,000건 품질표본·비용/SLO·약관 체크리스트유료요금·상업이용 약관·제3자 제공의 사업/법적 승인
배포·운영·복구테스트·commit·Sites 배포·공개 URL 검사·관측·backup·롤백·장애복구와 결과 artifact를 완료배포판 SHA·운영 HTTP·복구시점·남은 위험서비스 중단을 동반한 비가역 cutover만 승인
법률·출처·정책원문 URL·조회시각·hash·parser/contract version·권리상태·출처표시와 수수료·약관·개인정보 정책 초안/버전원장을 유지정책 diff·승인판·시행일·공개 출처 계보대표 또는 법률전문가의 최종 사업·법률 판단만 승인

확인→구현→검증→배포→운영→복구의 단일 실행루프

01DISCOVER

현재 파일·런타임·외부 승인상태를 먼저 읽고 증거면을 섞지 않음

02IMPLEMENT

가장 중요한 계약부터 작은 단위로 구현하고 즉시 정적·동적 결과 확인

03VERIFY

단위·통합·렌더링·권한·데이터 계보·회귀를 실행하고 실패를 같은 턴에 수정

04RELEASE

정확히 검증한 소스를 commit·패키지·Sites 판본으로 배포하고 운영 URL을 확인

05OPERATE

timer·queue·freshness·quota·로그·알림과 공개 상태를 증거 원장으로 지속 대사

06RECOVER

LKG·rollback·DLQ replay·backup 복원으로 복구하고 원인·범위·재발방지를 기록

사용자에게만 남는 6개 권한 게이트

01AUTH_UNLOCK비밀번호·OTP·2FA·CAPTCHA·휴대전화 본인확인으로 기존 세션이 잠김

사용자가 해당 화면에서 1회 해제하면 Codex가 이후 설정·검증을 계속 수행

02LEGAL_ACCEPTANCE약관·수수료·개인정보·저작권·지도 상업이용의 최종 사업/법률 판단

검토 초안·차이표·시행판은 Codex가 만들고 최종 의사결정만 요청

03PAID_CONTRACT_KYC유료 서비스·PG·정산계좌·KYC·실결제·요금제 계약

금액·기간·해지조건을 정리해 승인받고 기술 설정은 Codex가 처리

04SENSITIVE_ACCESS_IDENTITY새 관리자·민감자료 열람자·외부 인트라넷의 책임 신원을 결정

권한 모델·최소권한 후보·감사계약은 Codex가 만들고 실제 신원 지정만 요청

05DESTRUCTIVE_DOWNTIME영구삭제·파괴적 재시작·데이터 손실 가능 migration·서비스 중단 cutover

백업·dry-run·rollback 증거를 먼저 만들고 정확한 대상과 영향에 한해 승인 요청

06PUBLIC_GO_LIVE대상 도메인 변경 또는 소유자 전용에서 외부 전체 공개로 전환

이미 승인된 대상 안의 routine 배포는 Codex가 처리하고 공개 범위가 바뀔 때만 최종 확인

실제 현재 사용자 제공 최소목록

TECHNICAL IMPLEMENTATION CONTINUES WITHOUT USER INPUT
USER INPUT NOW · 0

기술 구현은 지금 바로 계속합니다. 43개 기능 선행조건은 사용자 43개 요청이 아니며, 실제 대리 불가 항목은 활성화 시점별 7개 결정입니다.

즉시 제출0건

코드·데이터·테스트·비공개 배포 준비를 막는 입력 없음

활성화 전 결정7건

법률·가격·PG·문자·운영자·지도·전체 공개

조건부 잠금해제5건

실제로 해당 상황이 발생할 때만 한 번 요청

Codex 전담14영역

구현·자료연결·검증·DNS·배포·복구까지 포함

제이옥션 활성화 시점별 사용자 최소 결정과 Codex 처리범위
ID·시점결정이미 준비된 것사용자에게 받을 것Codex가 처리대기 중 영향
U-01
회원·결제 공개 전
법률 문서 4종 승인이용약관·개인정보·마케팅 선택동의·회원탈퇴정책 초안과 UTF-8 hash·D1 fail-closed 원장이 준비됨내용·시행일·보유기간·위탁사·환불/책임 문구를 최종 승인하거나 수정사항만 전달Codex가 redline·승인판·hash·migration·동의원장·화면·회귀·배포를 처리미승인 동안 가입·신규 회원저장·SMS·결제만 닫고 검색·상세 개발은 계속
U-02
가격·계약 공개 전
가격표·VAT·환불·입금정보 확정현재 멤버십·낙찰수수료·최저수수료·VAT·예금주·입금계좌가 기존 제공값으로 사전 입력됨현재 값을 그대로 승인하거나 바꿀 항목만 지정하고 자동갱신·무료체험·쿠폰·부분환불 기준을 선택Codex가 서버 가격표·버전·계약서·쿠폰·환불 산식·표시·테스트를 처리승인 전에는 ACTIVE 상품·checkout·계약 확정 문구를 열지 않음
U-03
유료 이용권 활성화 전
PG 계약·KYC·정산계좌KRW 정수·서버 가격검증·주문 상태전이·웹훅 멱등·이용권 fail-closed 스키마가 준비됨Toss 직접 또는 PortOne 경유 PG를 선택하고 사업자 심사·MID·정산계좌 계약을 본인 권한으로 완료Codex가 sandbox·checkout·webhook·query-back·환불·영수증·정산대사·secret 등록을 처리계약 전 결제는 disabled이며 무료 검색·상담 구현과 무관
U-04
OTP·상담문자 활성화 전
문자 발신·과금 승인DirectSend 계정·API key·발신번호 inventory와 OTP/상담 adapter는 존재하고 live flag는 모두 OFF등록 발신번호와 과금 가능한 실발송 1건을 승인하고 provider가 요구할 때만 로그인·2FA를 직접 해제Codex가 fixed egress/IP·rate limit·delivery 결과·재시도·수신거부·목적별 flag E2E를 처리승인 전에는 실제 문자와 계정복구만 닫고 in-app 기능은 계속
U-05
직원 운영계정 추가 전
관리자·상담담당자 실명 지정Sites owner 1명과 JAUCTION_ADMIN_EMAILS secret inventory가 있으며 현재 owner 검수는 가능현재 관리자 1명 유지 여부만 확인하고 추가 인원이 있으면 회사 이메일과 역할만 지정; 비밀번호는 제공하지 않음Codex가 RBAC·최소권한·마스킹·PII_VIEWED·배정·감사로그·초대/회수 절차를 처리미지정 시 현재 owner-only 운영을 유지하고 추가 직원 접근만 보류
U-06
공개 지도 활성화 전
카카오맵 상업이용·비용·좌표 승인canonical Kakao app 1514962·등록 도메인·M2A·owner 실DB 데모·1,000건 측정이 준비됨상업이용 조건·월 비용상한을 승인하고 미해결 7건과 1km 초과 41건의 최종 판정 책임자를 지정Codex가 이상치 패킷·PUBLIC v2·migration·rate limit·168시간 Shadow·canary·rollback을 처리승인 전 공개 지도 3개 별칭만 404이며 목록·검색·상세는 영향 없음
U-07
전체 기술 게이트 통과 후
PUBLIC_GO_LIVE 최종 승인jauc.co.kr·Cloudflare·CT104·Sites owner-only·rollback 목표가 확정됨FULL_RELEASE_READY 증거 묶음을 확인하고 전체 공개 시점과 허용 점검창을 1회 승인Codex가 DNS·TLS·Host/CORS·canonical·robots·sitemap·canary·24시간/7일 관측·복구를 처리승인 전 owner-only를 유지하며 공개로 임의 전환하지 않음

이미 받은 정보 · 다시 요청하지 않음

이미 제공되거나 안전한 inventory가 확인된 제이옥션 자산
영역확인 상태처리 원칙
도메인·호스팅jauc.co.kr와 Cloudflare/Hosting.kr 계정 준비 이력재요청하지 않음 · 세션 잠금 때만 C-01
회사정보법인명·대표·사업자번호·주소·전화·개인정보책임자·이메일현재 제공값으로 화면·문서 사전채움
컨설팅절차·멤버십·수수료·입금정보 초안U-02에서 변경분만 확인
Court 데이터실행 중 producer·AuctionHub 검색/상세/달력·raw/hash 원장사용자 파일 전달 없이 outbox/BFF로 연결
공공데이터온비드 service key inventory와 용도코드 정상 snapshot기존 승인 API는 Codex가 직접 동기화
카카오맵app 1514962·JS 도메인·owner 실DB 데모U-06 전까지 shadow에서 Codex가 보강
문자DirectSend credential·sender inventory와 adapterU-04 전까지 live OFF로 테스트
Sites프로젝트·D1·custom owner 1명·env revision 10버전 저장·비공개 배포·운영 검증은 Codex가 수행

발생할 때만 요청하는 조건부 5건

C-01 · SESSION_UNLOCK외부 콘솔 세션이 만료되어 비밀번호·OTP·2FA·CAPTCHA가 표시될 때

사용자가 해당 화면만 1회 해제 · 자격증명은 채팅으로 받지 않음

C-02 · NEW_API_APPLICATION현재 승인 목록에 없는 공공 API가 본인 약관동의·활용신청을 요구할 때

Codex가 신청서·목적·트래픽을 채우고 최종 본인동의만 요청

C-03 · EXTERNAL_INTRANET기본 D1 비공개 운영허브가 아니라 별도 외부 인트라넷 연동을 원할 때

대상 시스템과 책임자만 지정하면 endpoint·서명·재시도·감사는 Codex가 구현

C-04 · DESTRUCTIVE_DOWNTIME영구삭제·파괴적 migration·운영 프로세스 재시작·중단 cutover가 불가피할 때

Codex가 backup·dry-run·rollback을 먼저 만든 뒤 정확한 대상과 점검창만 승인 요청

C-05 · PROPRIETARY_CONTENT전문가 원고·자사 사진·계약서·유료자료를 공개 기능에 추가할 때

저자·권리·공개범위만 확인받고 CMS·R2·버전·철회·출처처리는 Codex가 수행

ESCALATION RULES

사용자에게 일을 넘기지 않는 규칙

  1. 01사용자에게 터미널 실행·파일 편집·env/secret 복사·DNS 입력·배포·테스트·사이트맵 제출·재시도·복구를 시키지 않음
  2. 02C 요청은 한 화면에서 한 행동만 제시하고 비밀번호·OTP·secret 값을 채팅으로 받지 않음
  3. 03C가 한 영역을 막아도 관련 없는 A/B 구현·검증·문서·배포 준비는 계속 진행
  4. 04실행 중 Court worker는 sidecar·additive migration·shadow replay를 우선하고 무승인 재시작 0건 유지
  5. 05외부 변경마다 대상·시각·deployment/snapshot/hash·rollback·운영 smoke를 작업 원장 proof로 남김

현재 남은 구현도 사용자가 아니라 Codex 실행대상

P0부터 P8까지 현재 구현대상과 실행 책임
단계Codex가 끝낼 작업책임자동 증거외부 승인·재개 조건
P0Court raw 증거 열·event key·WON-SEO 금지 fixtureCODEXschema·migration·10,000건 alias/event 대사DESTRUCTIVE_DOWNTIME 발생 시에만 승인 후 재개
P1Court outbox/cursor/inbox/DLQ, 9개 canonical enrichment schema bridge와 온비드 Proxmox 일간 runner·versioned storeCODEX증분 멱등 E2E·raw→canonical lineage·재부팅 후 timer·LKG 자동 승격활성 worker 재시작 없이 sidecar로 진행
P2단일 HTTPS canonical·지역/법원/용도 허브CODEX별칭 1회 301·고아 상세 0·thin facet noindex대상 도메인이 바뀔 때만 PUBLIC_GO_LIVE 확인
P3PUBLIC_INDEX 4종 SSR 사실표·관련사건·출처 drawer와 건축물·토지·관공서·학교·관리비·비교사례·배당 UICODEX실물건 100건 값·단위·상태·계보 100%없음
P4일반회원 인증·관심·최근·저장검색·알림·결제 sandboxCODEX + AUTHORITY권한·webhook·환불·이용권 E2EPG 계약·KYC·실결제에서만 PAID_CONTRACT_KYC
P5상담 관리자·CRM·보존·키회전 운영 완결CODEX + IDENTITY목록·복호화·PII_VIEWED·보존 E2E세션 잠금은 AUTH_UNLOCK, 관리자 신원은 SENSITIVE_ACCESS_IDENTITY
P6Court·공공보강 freshness/source sunset와 지도 1,000건 PostGIS/BFF shadowCODEX + COMMERCIAL민간 required/new write 0·connector watermark·좌표 정확도·접근성·비용/SLO 증거유료 provider·상업약관만 LEGAL_ACCEPTANCE/PAID_CONTRACT_KYC
P7WON-SEO-01~10·sitemap/RSS/IndexNow·보안/성능CODEX대표 공개판 전 기술 게이트와 전송 증거전체 검색 공개 직전에만 PUBLIC_GO_LIVE
P8운영자→회원→일부→전체 점진전환·복구훈련CODEX + PUBLIC모든 배포·관측·롤백·복구 증거전체 공개 시점만 PUBLIC_GO_LIVE, 그 외 Codex 계속

자율 실행 완료 게이트

01COVERAGE필수 검증

열린 작업 100%에 owner class·executor·trigger·proof·rollback을 기록

02ZERO_HANDOFF필수 검증

터미널·파일·env·DNS·배포·테스트·제출 수동지시 0건

03SECRETS필수 검증

비밀번호·OTP·service key의 채팅·Git·HTML·URL·로그 전달 0건

04CONTINUITY필수 검증

C 대기 중에도 관련 없는 A/B 작업 중단 0건

05LIVE_CHANGE필수 검증

모든 외부 B 변경에 rollback과 공개 smoke 증거 존재

06RESTART필수 검증

활성 Court worker 무승인 재시작·중단 0건

07PUBLIC필수 검증

private→public은 PUBLIC_GO_LIVE 1회 명시 승인과 전후 접근 검증

REFERENCE UI · COURT-SOURCED DATA

잘 만든 기능은 참고하고
운영 사실은 대법원에서만 갱신

“GF·두인 참고 구현”과 “파싱정보 실시간 업데이트”는 서로 다른 축입니다. 화면의 완성도는 두 서비스의 장점을 흡수하고, 법원경매 사실값은 대법원 원문과 변경이력으로만 증명합니다.
01 · PRODUCT REFERENCE

GF Auction + 두인경매

검색조건, 목록 밀도, 선택작업, 상세 증거실, 관심물건, 회원·관리자 흐름을 독립 컴포넌트와 자체 API 계약으로 다시 구현합니다.

운영 파싱 · 자동로그인 · 신규 데이터 write 없음
02 · OPERATING DATA

대한민국 법원경매정보

신건·사건·물건·기일·상태·결과를 증분 파싱하고, 원문·조회시각·해시·파서 버전을 보존해 검색과 상세에 반영합니다.

PERMANENT_PRIMARY · 민간 fallback 없음

원천 생명주기와 종료 계약

PERMANENT_PRIMARY

대법원경매정보

법원경매 운영 데이터의 유일한 지속 원천

허용
신건·사건·물건·기일·상태·결과·공개문서의 제어된 증분 파싱
금지
두인·GF 값으로 자동 보충 또는 장애 fallback
종료
없음 · 화면/주소 변경 시 parser adapter만 교체
REFERENCE_SNAPSHOT

두인경매

검색·상세·회원 기능과 정보구조 구현 참고

허용
승인된 개발 세션에서 Codex가 읽기전용 기능 비교와 E2E 요구사항 작성
금지
운영 cron·자동로그인·데이터 동기화·canonical write
종료
65개 기능계약·75개 표면 승인 시 snapshot 동결, 운영 자격증명 삭제
REFERENCE_SNAPSHOT

경매마당

지도 marker·동일 위치 sheet·상세 전환·상태 저장·모바일 UX 구현 참고

허용
2026-07-16 정본의 동결된 기능 계약·복제 금지 사례·회귀 기준만 사용
금지
운영 API 호출·좌표/PNU/m_code/g_code·이미지/타일 복제·자동로그인·canonical write
종료
MAP UX PARITY P0/P1·20개 회귀·잔여위험 15개 게이트·8개 상태 해소 승인 후 snapshot 동결, 운영 의존 0건 유지
MIGRATION_ONLY

GF Auction

화면·업무 흐름과 상담 전환 기능의 구현 참고

허용
동결 snapshot을 기능 계약과 E2E 요구사항 작성에만 사용
금지
운영수집·자동로그인·신규 사건 공급·canonical write
종료
기능 계약 승인 시 snapshot 동결, 운영 credential·outbound 0건
OFFICIAL_REFERENCE_PRIMARY

온비드 코드·주소 15157768

온비드 용도코드의 일간 정본 후보와 주소 선택조건 조회

허용
서버 batch 코드 snapshot·조건별 주소 cache·공식 API 계보 보존
금지
브라우저 직접 호출·Court 코드 병합·주소를 좌표/PNU로 승격
종료
서비스 폐기 시 새 공식 코드 API로 교체하고 마지막 승인 snapshot 유지
REFERENCE_BOOTSTRAP

온비드 용도코드 15121030

2023-12-31 388행 초기 적재·회귀 fixture·코드 LKG

허용
원문 CSV/자동변환 API 보존, 15157768 diff·계층 대조
금지
실시간 물건·주소 원천 또는 일간 운영정본으로 표시
종료
15157768 장기 검증 뒤에도 immutable 회귀 증거로 보존
TARGET_STORE

제이옥션 PostgreSQL·PostGIS

Court 파싱값과 서비스 데이터를 보관하는 내부 원장

허용
raw lineage·canonical value status·projection·회원/CRM 자체 데이터
금지
저장 DB 값 자체를 법원 사실의 출처로 간주
종료
계속 사용 · 사실 정본과 저장 정본을 명확히 분리
CUTOVER HARD RULE운영 환경에서 두인·GF 자동로그인·scheduler·신규 write·fallback·outbound 0건

대법원 장애 때는 마지막 정상판과 stale 사유를 표시하고 재시도·격리·경보만 수행합니다. 유료 민간자료로 자동 우회하지 않습니다.

Court 변경이 화면에 도착하는 8단계

목표: 중요 변경 ingest→public p95 15분
01변경 후보 탐색

법원·날짜·사건 상태별 cursor로 신건·기일·결과 목록을 순회하고 last_seen checkpoint 저장

02우선순위 queue

당일/향후 7일 기일, 방금 공고된 신건, 변경 감지 사건을 hot queue에 배치

03상세·문서 파싱

사건·물건·기일·목록·현황·공개문서를 parser contract별로 분리 수집

04Raw 증거 보존

원문, URL, HTTP 상태, 취득시각, hash, parser/DOM version을 append-only 저장

05Diff·상태전이

직전 hash·필드와 비교해 신규/변경/취하/매각/오류 event를 만들고 허용 상태전이 검증

06Canonical upsert

Court provenance가 있는 사건·물건·기일·결과만 멱등 upsert하고 모호한 값은 검토 queue로 격리

07Projection·알림

검색·상세·달력·통계를 재투영하고 영향을 받은 cache·저장검색·관심 알림만 갱신

08공개 검증·복구

공개 URL smoke 후 release하며 실패 시 마지막 정상판+stale 배지를 유지하고 민간 fallback은 호출하지 않음

ADAPTIVE POLLING

갱신 주기·완료 목표

범위목표변경실행 계약
당일·향후 7일 기일5분 목표기일 변경·취하·매각결과adaptive throttle과 법원/사건별 checkpoint
신건·변경 목록15분 목표신규 공고·사건 상태변경목록 hash가 바뀐 사건만 상세 queue
진행 중 전체 사건1시간장기 진행·유찰·차회 기일법원 shard 분산·중복 방지 lease
전 법원 전체 대사매일 1회누락·수량 급변·종국 상태 복구전일 snapshot과 법원별 총건수 대사
문서·사진원문 변경 또는 6시간현황·감정·송달·공개 파일MIME/hash/공개등급 확인 후 파일 queue
화면 반영change event 직후검색·상세·달력·알림ingest→public p95 15분 목표, stale 사유 표시

PUBLIC DATA PORTAL → ONBID REFERENCE MASTER

15121030 기준판과
15157768 첫 정상판 연결 완료

요청 데이터는 실시간 공매 물건이 아니라 2023-12-31 기준 용도코드 388행입니다. 15121030은 회귀·장애 fallback으로 보존하고, 15157768은 resultCode 00·전체 pagination·계층·hash 검증 뒤 420행을 승격했습니다.
LIVE SNAPSHOT CONNECTED · DAILY RUNNER PENDING

기존 자동연결 이력의 키 우선순위·마스킹·원문 보존 계약을 재사용하고 공식 CSV 388행을 실제 reference API에 연결했습니다. 승인 전파 뒤 실호출은 2026-07-15 12:06 KST · 15157768=200 · resultCode=00 · 420행로 확인했고, /onbid 물건 영역은 REFERENCE CONNECTED · LOT SAMPLE · NOINDEX로 유지합니다.

REQUESTED DATA15121030

REFERENCE BOOTSTRAP · CONNECTED
388행 · SHA e6c3f093f5dcea0f…

DAILY MASTER15157768

DAILY MASTER · 420 ROWS · 23/50/347
용도코드·주소 · 일간

ITEM DETAIL15157247

물건 상세 부분계약
코드 master와 별도

SECURITYSERVER ONLY

브라우저 직접 호출·공개 HTML/RSC의 service key·Court 코드와 이름 기반 병합을 금지

NEXT GATEDAILY RUNNER PENDING

Proxmox 일간 runner → versioned reference store → snapshot 자동 배포

공식 원천별 역할과 현재 연결 상태

15121030 원문 ↗ · 15157768 원문 ↗
데이터 ID공식 서비스주기·형식제이옥션 용도금지 해석현재 상태
15121030용도별 코드정보_20231231수시 (1회성) · CSV/자동변환 JSON·XML · 388행 · 무료·이용허락범위 제한 없음초기 적재·회귀 fixture·운영판 교차검증실시간 물건/운영 정본 아님공식 CSV 388행 연결 · bootstrap fallback
15157768차세대 온비드 코드 및 주소 조회서비스일간 · JSON/XML · 개발 1,000콜 · 무료·이용허락범위 제한 없음용도코드 일간 정본·주소 질의 캐시물건·기일·결과·좌표·PNU 원천 아님첫 정상판 420행 연결 · 일간 runner 대기
15157247차세대 온비드 부동산 물건상세 조회서비스공식 Open APIonbid: 물건 상세 보강코드 master·검색 목록 전체를 대신하지 않음부분 adapter만 구현
ONBID LOT APIs물건목록·입찰·결과 서비스군서비스별 별도 활용신청·quota/onbid 실제 목록·기일·결과Court·두인·GF 자료로 대체 금지서비스 선정·연결 전

외부 endpoint와 내부 BFF 계약

계약입력·인증출력보호·운영
GET api.odcloud.kr/api/15121030/v1/uddi:c7f3e094-684b-4a25-a178-91cba283956eAuthorization: Infuser {key} 권장 · page · perPage · returnTypepage · perPage · totalCount · currentCount · matchCount · data[]key를 query·브라우저·로그에 남기지 않고 HTTPS만 사용
GET apis.data.go.kr/B010003/OnbidCodeSrvc/getOnbidUsgCodeInfoserviceKey · pageNo · numOfRows · resultType · 선택 upCtgrIdctgrId · ctgrNm · upCtgrId · upCtgrNm서버 batch · 일 1회 전체 snapshot · 10 TPS 이하
GET apis.data.go.kr/B010003/OnbidCodeSrvc/getOnbidDtlAddrInfoserviceKey · pageNo · numOfRows · resultType · 선택 sdnm/sggnm/emdNmsdnm · sggnm · emdNm · dtlAddr서버 BFF·질의 cache · 주소를 좌표/PNU로 승격 금지
GET /api/v1/reference/onbid/usage-codes선택 parentId · snapshotId승인된 로컬 계층 projection공공 API 실시간 proxy 금지 · ETag·장기 cache
GET /api/v1/reference/onbid/addressessdnm · sggnm · emdNm · cursor캐시된 주소 선택지·freshnessquota hard cap·24h SWR·미승인 원문 비공개
POST /internal/jobs/onbid-reference-syncservice auth · idempotency keyrun id · candidate hash · 검증/승격 결과비공개 운영 경로 · 감사로그 · 동시 실행 lease

코드·계층·버전·교차분류 저장 계약

계층필드저장·사용 원칙완료 증거
원천 식별dataset_id · source_snapshot_id · source_snapshot_date · source_url15121030/15157768/15157247 계약을 섞지 않고 snapshot 단위 lineage 보존원천 역추적 100%
코드code_id · code_name식별자는 문자열로 보존하고 이름 중복 때문에 이름 join 금지ID 중복·공란 0건
계층parent_code_id · parent_code_name · level · path_ids · path_names레벨 1 외부 root 1/ONBID 허용, 15157768 level/path는 parent edge로 파생고아·순환·레벨오류 0건
버전valid_from · valid_to · is_active · promoted_at · contract_version후보 snapshot 검증 후 원자 승격, 과거 검색·상세은 당시 snapshot id 고정덮어쓰기 0건
증거fetched_at · payload_hash · schema_hash · raw_object_key · source_run_id키 제거 raw·페이지 합계·조회시각·파서/계약 버전 보존hash 재현·페이지 대사
교차분류source_namespace · source_usage_code · canonical_asset_type · crosswalk_version · crosswalk_statusonbid 원본 코드는 유지하고 Court 공통분류는 별도 승인 매핑Court/onbid 오병합 0건
공개 투영usage_code_id · usage_code_name · usage_path · source_updated_at · stale검색 필터와 상세에 같은 promoted snapshot 사용, 미지 코드는 미분류(code)로 보존필터↔요청 코드 parity

활용신청부터 공개 필터까지의 9단계

01승인·secret

15157768 코드/주소 개발계정 승인은 확인 완료. 승인 계정 Decoding 키를 전용 server secret으로 분리하고 물건 API는 별도 승인 범위를 유지

02Bootstrap 보존

15121030 CSV/JSON 388행의 원문·SHA-256·OAS·snapshot id를 raw 영역에 불변 저장

03일간 코드 수집

onbid:sync-live가 15157768 page 1 totalCount를 기준으로 끝까지 순회하고 Proxmox 일간 runner에서 lease·멱등 run id 적용

04정규화

JSON/XML singleton·array 편차를 흡수하고 code ID는 문자열, 부모 edge와 이름은 원문 그대로 정규화

05계층·diff 검증

중복·공란·고아·순환·부모 레벨·페이지 합계·schema hash를 검사하고 급격한 삭제/변경은 quarantine

06버전 적재·승격

candidate snapshot과 crosswalk를 별도 적재하고 검증 성공 시 promoted pointer를 원자 교체

07projection·cache

공매 검색 필터·상세 breadcrumb·내부 reference API를 같은 snapshot으로 재생성하고 변경 ETag만 무효화

08주소 on-demand

주소는 질의별 BFF cache와 24h SWR로만 갱신하며 위경도/PNU 정본으로 사용하지 않음

09공개 검증·복구

/onbid 필터→공식 요청 코드 parity와 출처·조회시각을 확인하고 실패 시 LKG+stale을 유지

오류·quota·드리프트 복구 정책

코드·조건판정처리
401/403 · 20/30/31/32/33자격증명·권한·IP·서명 구성오류재시도 없이 circuit open, 운영 경보, 마지막 정상 snapshot 유지
10/11파라미터·필수값 오류재시도 없이 contract 실패, 배포 차단
03데이터 없음주소 질의는 정상 empty, 용도코드 full-sync에서는 candidate quarantine
12서비스 폐기15157768 승격 중단, 용도코드만 15121030 LKG로 fallback; 주소 fallback 금지
21/01/02/04/05/99 · 5xx · timeout일시 장애jitter 재시도 3회 후 breaker, LKG+stale과 다음 점검시각 표시
22/429일 quota/TPS 초과주소 refresh부터 중단하고 코드 sync·비상 예산 보호, quota window 뒤 재개
schema/hash/계층 실패데이터 드리프트candidate 격리·diff 보고·이전 promoted snapshot 유지, 자동 이름 수정 금지

API 연결·실자료 승격 완료 게이트

01APPLICATION승격 조건

15121030·15157768·물건 API별 활용신청과 개발/운영 quota 승인 증거

02SECRET승격 조건

키가 Git·HTML·RSC·URL·APM·오류로그·보고서에 노출 0건, 1회 URL 인코딩 계약

03TRANSPORT승격 조건

HTTPS 200와 top-level header.resultCode 00만 성공, JSON/XML/plain 오류 분리·10 TPS limiter smoke

04PAGINATION승격 조건

object/array normalize, 페이지 중복·누락 0, 수집 합계=totalCount

05SCHEMA승격 조건

코드 필수 4필드와 bootstrap 5필드의 공란·타입·schema hash 검사

06HIERARCHY승격 조건

code ID 고유, 승인 root 외 부모 존재, 고아·순환·잘못된 레벨 0

07VERSIONING승격 조건

원문·조회시각·hash·contract version·snapshot id 보존과 원자 승격/rollback

08IDEMPOTENCY승격 조건

같은 snapshot 재실행 시 중복 row·projection·이벤트 0

09NAMESPACE승격 조건

onbid:*와 court:* 안정키·코드·갱신주기 혼합 0

10CROSSWALK승격 조건

원본 온비드 코드를 덮어쓰지 않는 versioned 공통 용도 매핑과 역추적

11FRESHNESS승격 조건

일간 코드 마지막 성공·stale·다음 재시도와 주소 cache 만료 표시

12FALLBACK승격 조건

15157768 장애 시 승인 LKG, 15121030은 용도코드만 fallback, 민간자료 fallback 0

13RIGHTS승격 조건

한국자산관리공사 온비드·공공데이터포털 출처, 데이터 기준일·조회시각·원문 링크 표시

14LIVE_DATA승격 조건

/onbid 가상 물건 0, 공식 목록·상세·입찰 이동 E2E 후 SAMPLE 표식 제거

15SEO승격 조건

LIVE_DATA 전 NOINDEX·sitemap 제외, 실자료·고유본문·canonical 검증 뒤에만 색인 승격

LIVE COURT PRODUCER → J AUCTION CONSUMER

실행 중 파서는 유지하고
증분 변경 피드로 안전하게 연계

세션 019eea6e-17ee-7340-83dd-c070dc83396c은 대법원 수집 생산자로 계속 가동합니다. 이 프로젝트는 원격 DB를 직접 읽거나 파서를 재시작하지 않고, 버전된 outbox와 cursor API를 멱등 소비해 검색·상세·달력·통계를 갱신합니다.
PRODUCERCOURT_PRODUCER_ACTIVE

/nvme-scratch/work/jauction
확인 2026-07-14T13:20:00+09:00

SOURCE LEDGER70,505

연결 70,505 · 실패 0

CANONICAL41,943 물건

32,203 사건 · 중복 0

RUNTIMEtimer active

realtime·reconcile·recovery·30day enabled/active

ACCEPTANCE0 / 30일

C2 source sunset 후 새 기준선 시작 · 기존 1일 산입 안 함

현재 확인된 스키마 차이

raw_json·raw_path·payload_hash와 run 연결은 이미 존재합니다. 다만 source_url·fetched_at·http_status·parser_version·schema_version·권리/공개상태는 명시 필드가 아니므로, 이를 추가하고 과거행을 backfill 검증하기 전에는 증거 연계를 완료로 판정하지 않습니다.

원문·조회시각·해시·버전 보존 계약

필드현재 상태보존·사용 계약
source_record_idCURRENTcourt_code+case+lot 안정키와 원천 객체를 연결하고 이벤트 멱등키의 입력으로 사용
source_event_keyMIGRATION_REQUIRED공식 event ID를 우선하고 없으면 court_code+case+lot+event_at+event_type+price+source_version 결정키로 업무 이벤트 동일성을 보존
run_idCURRENT수집 run·페이지·writer·reconcile을 하나의 추적 단위로 연결
raw_json / raw_pathCURRENT원문 JSON과 저장 경로를 append-only로 보존; 브라우저에는 직접 노출하지 않음
sha256CURRENT정규화된 raw_text의 SHA-256을 payload_hash/raw_hash로 보존하고 diff 기준으로 사용
source_urlMIGRATION_REQUIRED요청한 대법원 HTTPS URL을 query redaction 규칙과 함께 명시 보존
fetched_atMIGRATION_REQUIREDcreated_at과 분리해 실제 HTTP 응답 수신시각·timezone을 명시 보존
http_statusMIGRATION_REQUIRED200·304·429·403·5xx와 재시도·격리 판단을 원문 증거에 연결
parser_versionMIGRATION_REQUIREDgit SHA+semantic parser version을 모든 raw·event·projection에 전파
schema_versionMIGRATION_REQUIREDraw envelope·canonical·event 계약 버전을 독립 필드로 관리
rights_status / publication_statusMIGRATION_REQUIREDPUBLIC·RESTRICTED·WITHHELD·REMOVED와 출처표시 문구를 파일·필드 단위 적용

신건·사건·물건·기일·상태·결과 증분 이벤트

분류도메인이벤트필수 payload화면 반영
CASE사건·신건CASE_UPSERTED최초 관찰 여부·사건번호·법원·담당계·접수/개시·공개 changed_fields신건·사건 검색 facet·상세 사건요약
LOT물건LOT_UPSERTED물건번호·용도·소재지·가격·면적·좌표·canonical_hash검색결과·지도·비교·상세 물건요약
SCHEDULE기일SCHEDULE_CHANGEDsource_event_key·source_sequence·기일 종류·일시·장소·최저가·회차·previous/current hash기일달력·상세 이력·기일변경 알림
STATUS상태STATUS_CHANGED진행·유찰·변경·연기·취하·정지·종국 상태와 허용 전이검색 상태·상세 배지·stale/검토 상태
RESULT결과RESULT_CHANGED매각·불허가·미매각·낙찰가·매수인 공개범위·result_at결과 검색·상세 결과·통계·알림
DOCUMENT원문 문서DOCUMENT_CHANGED문서 유형·SHA-256·MIME·rights/publication status상세 증거실·출처·제한/대기/실패 상태
IMAGE사진IMAGE_CHANGED파일 hash·순서·크기·공개등급·원문 evidence상세 갤러리·대표 이미지·깨짐 격리
PUBLICATION공개수명주기PUBLICATION_CHANGEDopaque public_id·legacy alias·ACTIVE/WITHDRAWN·release fingerprint정본 상세 200·alias 301·withdrawn 410
VERSIONED HANDOFF

생산자·소비자 경계

  1. 01
    생산자 트랜잭션

    canonical upsert와 court_publication_outbox insert를 같은 DB transaction으로 커밋하고 envelope event_id는 UUIDv7, 업무 동일성은 결정적 source_event_key로 분리

  2. 02
    변경 피드

    GET /internal/v1/court/changes?cursor=:opaque_cursor&limit=:limit; 순서가 안정된 signed opaque cursor와 cursor_after 반환

  3. 03
    증거 조회

    GET /internal/v1/court/lots/:publicId/evidence; source URL·fetched_at·hash·versions·권리상태만 마스킹 DTO로 제공

  4. 04
    서비스 인증

    mTLS 또는 회전 가능한 service JWT+audience; 브라우저·공개 Worker가 생산자 DB/피드를 직접 호출하지 않음

  5. 05
    소비자 트랜잭션

    event_id envelope 수신과 source_event_key+source_record_id 업무 멱등 upsert→projection rebuild→cache invalidation→cursor commit을 한 transaction/outbox로 처리

  6. 06
    오류·복구

    지수 backoff·DLQ·원문 evidence 참조·범위 cursor replay·schema version 호환표; poison event가 전체 shard를 막지 않음

  7. 07
    배포 경계

    producer는 nvme-scratch, 제이옥션 앱/DB는 독립 runtime; PointAuction 코드·도메인·DB·API를 경유하지 않음

SEARCH · DETAIL · CALENDAR

이벤트별 projection

이벤트저장 투영제품 반영이력 규칙
CASE_UPSERTEDcase_projection·search_document사건번호 검색·신건 목록·법원/담당계 facetevent cursor와 source_record_id hash를 내부 추적
LOTlot_projection·geo_projection목록 카드·가격/면적/용도 facet·지도 cluster·비교public_id 유지, 변경 lot만 부분 재색인
SCHEDULEsale_event_projection·calendar_projection기일 목록·달력·상세 기일이력·회원 알림이전 기일을 삭제하지 않고 valid_from/to 이력 보존
STATUSlot_state_projection검색 상태필터·상세 상태배지·취하/정지/종국 노출허용 전이 위반은 pending_review로 격리
RESULTresult_projection·stats_projection매각결과·낙찰가·유찰회수·법원/지역 통계결과 정정 event로 재투영하고 과거 수치 snapshot 보존
DOCUMENT/IMAGEasset_projection상세 증거실·갤러리·원문 링크·조회시각·출처rights/publication 상태가 PUBLIC일 때만 파일 제공

파서 연계 완료 게이트

01SCHEMA필수 검증

raw evidence 필드와 source_event_key·outbox/event schema migration·rollback·hash ledger 자동 대사 통과

02IDENTITY필수 검증

사건·물건 안정키와 alias 표본 10,000건에서 오병합·미연결·중복 0

03INCREMENTAL필수 검증

신건·사건·물건·기일·상태·결과 각 1개 이상 synthetic replay와 실제 change event 검증

04EVIDENCE필수 검증

공개값 100건에서 원문→조회시각→SHA-256→parser/schema version 역추적 100%

05CONSUMER필수 검증

중복·역순·누락·poison event에도 멱등 처리하고 cursor는 성공 transaction 뒤에만 전진

06PROJECTION필수 검증

영향받은 검색·상세·달력·통계만 재투영하며 public_id·이력·알림 중복 0

07LATENCY필수 검증

중요 변경 ingest→public p95 15분, staleness·last_checked_at·실패 사유 화면 표시

08REPLAY필수 검증

날짜·법원·cursor 범위 재생과 DLQ 복구 뒤 원본 hash·canonical·projection 대사 일치

09INDEPENDENCE필수 검증

두인·GF·PointAuction outbound·credential·fallback·신규 source write 0

10BURN_IN시간 인수 대기

C2 source sunset 뒤 새 기준선으로 Court-only 30일 연속 PASS; 기존 1일은 산입하지 않고 현재 0/30 대기이므로 제품 출시 완료 판정 금지

COURT · CANONICAL ENRICHMENT · PRODUCT BRIDGE

추가 생산면은 확인했고
제이옥션 소비 경로를 완성합니다

관리비·관공서·비교사례·배당과 건축물·토지·학군·학교 생산면의 운영 증거를 확인했습니다. 외부 검증 runtime을 직접 연결하지 않고 공식 원천→raw→canonical→제이옥션 same-origin BFF로 이관합니다.
UPSTREAM VERIFIED · JAUCTION PRODUCT INTEGRATION PLANNED

세션 019eea6e-17ee-7340-83dd-c070dc83396c의 추가 결과와 현재 Sites 제품면을 분리 판정했습니다.
20:30 freshness는 OK지만 GF required=true와 두인 watch active가 남아 Court-only source 정책과 충돌
owner-only 유지 · 공개 지도 3개 별칭 404 · FULL_RELEASE NOT APPROVED

COURT MASTER74,752

마지막 관찰 21.97분
OK · findings 0 · warnings 0

CANONICAL LOT146,330

공개 summary 146,330
시점 snapshot

PRODUCT API9 contracts

4대 canonical + 공공 ledger 5
현재 Sites 미접목

OPERATIONS15 timers

contract guard 5분
상위 실행 증거

CAPABILITY9 candidates

OpenAPI 136 path · 기존 11 route
확인 2026-07-17 20:30 KST

BOUNDARYDIRECT PROXY 금지

외부 검증 도메인은 source evidence 전용 · 제이옥션은 AuctionHub 내부 origin과 same-origin BFF로 재구현

SNAPSHOT POLICY

모든 건수는 실행 시점 snapshot이며 source_run_id·checkpoint·projection revision이 같을 때만 합산

추가 세션 델타와 현재 판정

증거영역확인 결과제이옥션 완료 경계
COURTCourt master·writer·projection74,752행 · 20:30 기준 마지막 관찰 21.97분 · 최신 run 4,000건/80 of 772 page · pending event 0source checkpoint→writer watermark→projection/API freshness를 같은 run에서 대사
DOCUMENT문서 보강·재가용PDF 178건 canonical·본문/구조화 · 인증 후속 1,076건 queue · 매각명세서 8,862건 source pending다른 물건 문서 대체 0 · source_pending/source_unavailable와 자동 재가용 감시
FOUR-DOMAIN관리비·관공서·비교사례·배당4개 계약 HTTP 200 · 비교 적용대상 99.9951% · 배당 51,364 lot/317,432 allocation상위 실행 완료와 제이옥션 소비 미접목을 분리
MANAGEMENTK-apt 단지·관리사무소22,204단지 · 세대수14,213 · 승인일14,180 · 난방14,021 · 전화14,199 · 도로명14,074 · 자산 bridge 4,080/단지2,016단지 profile·연락처와 체납금액·월 평균관리비를 분리하고 bridge 미연결을 coverage로 공개
MAINTENANCE관리비 evidence·queueevidence 201 lot · 전화164 · 체납금액166 · queue109,535(자동109,500/대체23/재가용12)미제공 금액 null · queue 상태와 원천 재가용을 별도 운영지표로 유지
KAPT-COSTK-apt 월 관리비2026-03~05 3회 모두 HTTP 403 · JSON invalid · item 0기존 키의 해당 서비스 활용승인 전 제품값 생성·완료 표시 금지 · 단지 평균과 개별 체납 분리
PUBLIC-LEDGER20:31 public status exact건축물 enrichment719,870 · VWorld attribute5,581,981 · RTMS7,448,634 · land-use35,947 · official-price35,984 · public summary146,330과거 source-table 스냅샷과 섞지 않고 같은 exact batch·run·revision에서만 publication 대사
SCHOOL학구·학교알리미공식 경계 8,896 · 인접학교 1,306,627/145,190 asset · API 내부12/12·외부26/26공식 배정과 단순 인접을 분리 · 안전하지 않은 986학교 강제 병합 0
OPS-GUARDfreshness·timer·계약 자가복구20:30 status OK/findings0/warnings0 · 공공 timer 15 · contract guard 5분 · self-heal PASSGF required=true와 두인 watch active는 정상 freshness와 별개인 source-policy debt로 C2에서 제거
LAW법령 원문·제품 rulelaw_document 31 · article_version 4,966 · 법령명24 · legal_rule_feature 0원문 존재를 물건별 권리·세금·배당 rule 구현 완료로 승격 금지
CAPABILITY후속 API capability inventorylive OpenAPI 136 path · 기존 domain route 11 · 후속 후보 9개와 우선순위 확정현재 9개 product bridge와 후속 후보를 분리하고 계약·원천·권리·projection gate 뒤에만 구현

공식 원천에서 제품까지의 단일 계보

01RAW CAPTURE

Court·공식 공공 API의 JSON/text·URL·HTTP·취득시각·SHA-256·parser/contract version을 append-only 보존

02NORMALIZE

주소·PNU·필지·건축물·실거래·관공서·학교·K-apt를 provider key와 confidence·불가사유로 정규화

03CANONICAL LINK

auction_case→auction_lot→asset 안정키에 오병합 없이 연결하고 lot-level EXISTS/distinct 집계

04PUBLICATION

PUBLIC_INDEX·MEMBER_DETAIL·ADMIN projection을 분리하고 revision·snapshot·publication scope를 원자 승격

05INTERNAL ORIGIN

AuctionHub 내부 origin을 service identity·fixed egress·timeout·circuit breaker로만 호출

06SAME-ORIGIN BFF

제이옥션이 9개 계약을 allowlist projection·opaque ID·cache/LKG·strict schema로 재노출

07PRODUCT

검색 badge·상세 12섹션·지도 side panel·회원 계산·인트라넷 품질 queue에 같은 revision으로 반영

08OPERATE

timer·watermark·freshness·contract guard·DLQ·rollback·7일 shadow를 증거 원장으로 대사

제이옥션에 재구현할 9개 API 계약

same-origin 계약권한제품 표시보호 규칙
GET /api/v1/lots/{public_id}/maintenance-fee공개 요약 + 회원 근거확정 금액·상태·관리사무소기본 0을 확정 0원으로 해석 금지 · 임의 추정 금지
GET /api/v1/lots/{public_id}/public-officesPUBLIC법원·등기소·세무서·주민센터공식 ID 없는 후보를 확정 기관처럼 표시 금지
GET /api/v1/lots/{public_id}/comparables공개 요약 + 회원 표경매·RTMS 사례·거리·fallback물건유형·면적·기간·반경·표본수·match method 필수
POST /api/v1/lots/{public_id}/distribution-simulationMEMBER · private,no-store재원·비용·채권별 예상배분공식 배당표와 구분 · 입력·기준일·산식 버전·미수치화 사유 보존
GET /api/v1/lots/{public_id}/public-dataPUBLIC공공보강 통합 요약·coverage·freshness내부 ID·원천경로·storage key 금지
GET /api/v1/lots/{public_id}/building-ledger공개 요약 + 회원 전체건축물대장·구조·용도·면적·승인일PNU 미확정·원천 없음·not applicable 분리
GET /api/v1/lots/{public_id}/land-ledger공개 요약 + 회원 이력토지대장·공시가격·토지이용필지·기준연도·단위·원천일 필수
GET /api/v1/lots/{public_id}/school-zone공개 availability·건수 + 회원 전체공식 학구 배정·인접 학교공식 배정과 거리상 인접을 별도 배열 · 상위 정밀좌표 직접 proxy 금지
GET /api/v1/schools/{school_public_id}공개 학교요약 + 회원 지표학교 profile·2024~2026 교육지표원천 내부 학교코드·snapshot UUID 금지
PUBLIC JSON·HTML·RSC·로그 금지

asset_id · 19자리 PNU · 12~15자리 원좌표 · upstream lot identifier · raw_item · raw_path · storage_key · source_snapshot_id · 원천 학교코드 · 비밀키·인증 query

추가 API 구성 가능성 9개 · 현재 통합범위와 별도

후보우선순위현재 상태제품 범위실측 근거선행조건
API-COMPLEX-01P0DATA_READY_CONTRACT_REQUIRED단지 profile·물건-단지 연결22,204단지 · 자산 bridge 4,080/단지2,016계약·coverage·opaque kapt reference
API-MARKET-01P0DATA_READY_PROJECTION_REQUIRED지역 시장요약·물건 시장맥락RTMS 7,448,634행 + REB 수집지역·유형별 versioned aggregate
API-LAW-01P0SOURCE_READY_RULE_MAPPING_REQUIRED법령·조문·물건 적용근거법령31 · 조문4,966 · rule feature 0물건 권리·임차·세금·배당 rule mapping
API-PRICE-01P0DATA_READY_HISTORY_CONTRACT_REQUIRED공시가격 이력자산 snapshot35,984 · 필지가격95,847연도 정규화·필지별 canonical 1건
API-KAPT-COST-01P0-EXTERNALPROVIDER_SUBSCRIPTION_REQUIRED단지 월 평균관리비·benchmark2026-03~05 실호출 HTTP 403해당 서비스 활용승인·월 snapshot·collector
API-TRANSIT-01P1-EXTERNALPROVIDER_AND_PIPELINE_REQUIRED지하철·버스 접근성canonical 교통 테이블 0서비스 승인·정류장 master·좌표매칭
API-COMMERCE-01P1-EXTERNALPROVIDER_AND_PIPELINE_REQUIRED상권·업종 집계canonical 상권 테이블 0서비스 승인·점포 master·반경 집계
API-FINANCE-01P2-EXTERNALSEPARATE_KEY_AND_PIPELINE_REQUIRED금리·투자 가정ECOS key·canonical 금리 table 0별도 key·vintage snapshot·산식 버전
API-HAZARD-01P2-HOLDLICENSE_REVIEW_REQUIRED재난·안전 맥락canonical hazard table 0재전송 약관 검토·별도 key 전에는 저장/공개 금지
01R-API-01K-apt 월 관리비 미승인

3개월 HTTP 403
완료: 활용승인·200·36개월 snapshot·lot bridge

02R-API-02법률 계산 rule 미매핑

법령31·조문4,966·rule feature0
완료: 핵심 rule·시행일 회귀·source article 연결

03R-API-03자산-단지 bridge 부족

자산4,080·단지2,016
완료: 고신뢰 자동매칭·검토 queue·오매칭0

04R-API-04교통·상권·금융 canonical 부재

전용 canonical table0
완료: 서비스 승인·key·적재·timer·projection

05R-API-05생활안전 재전송 제한

전용 table0·license 검토
완료: 서면 이용조건·저장/가공/공개 범위 승인

C0–C9 단일 통합 캠페인

단계작업구현 범위종료 조건
C0증거·계약 동결상위 산출물·DB schema·route·timer·image/source SHA를 immutable manifest로 기록hash·실행시각·source snapshot·권리상태 누락 0
C1제품 경계 정정AuctionHub를 제이옥션 내부 canonical 실행면으로 문서화하고 외부 공개 runtime은 검증 증거로만 분리브라우저·공개 링크·fallback의 외부 제품 의존 0
C2민간 source sunsetGF required 판정·timer와 두인 watch·신규 canonical write를 REFERENCE_SNAPSHOT 경계로 전환Court required 정상 · 민간 required/new write/outbound 0
C3schema bridgeraw→normalized→canonical→PUBLIC/MEMBER/ADMIN mapping·migration·rollback 작성lineage 100% · orphan/duplicate/오병합 0
C4service auth전용 service identity·fixed egress·secret rotation·timeout·retry·circuit breaker무인증 origin과 secret Git/HTML/URL/log 노출 0
C5same-origin BFF9개 route의 schema allowlist·opaque ID·ETag/cache namespace·LKG·fail-closed정상·빈·부분·stale·503·timeout·oversize contract PASS
C6검색·상세·회원 UIcoverage badge·12개 상세 섹션·비교표·배당계산·정확한 empty/error 상태실 lot 100건 값·상태·lineage·링크 대사
C7지도·인트라넷owner-only 지도 side panel과 미해결·freshness·source sunset 운영 queue공개 지도 404 유지 · PII/원좌표/PNU 0
C8shadow·복구7일 shadow·성능·계약 drift·timer 재부팅·DLQ replay·LKG·rollback rehearsal누락·중복·stale 오판·복구 실패 0
C9점진 승격운영자→내부회원→canary→공개와 commit→image→projection→Sites rollback 계보별도 PUBLIC_GO_LIVE 전 공개 route·SEO·지도 노출 0

정본·공공보강 통합 완료 게이트

01SOURCE_ALLOWLIST필수 검증

Court·공식 공공원천과 허용된 동결 evidence만 승인하고 GF·두인 required/fallback/new write를 CI·운영에서 차단

02OUTBOX_CONTRACT필수 검증

event_id·source_event_key·source_record_id·schema version·evidence hash·opaque cursor와 범위·부분실행 메타 필수

03PROVENANCE필수 검증

원천 URL/공식 ID·취득시각·raw hash·parser/schema/contract version·권리/공개상태 보존 100%

04IDENTITY필수 검증

사건·물건·asset·PNU·학교·단지 identity 중복·오연결·고아 0

05ID_BRIDGE필수 검증

제이옥션 public_id→canonical lot→upstream opaque identifier를 고정 revision에서 1:1 대사하고 upstream ID·내부 UUID 공개 0

06NULL_SAFETY필수 검증

미제공·미적용·미확정·부분계산·실패·stale을 0/빈 문자열로 합치거나 확정값으로 표시 0

07SNAPSHOT_PARITY필수 검증

검색·상세·보강·지도·집계가 같은 snapshot_at·positive revision·query/viewport hash를 공유

08PUBLIC_SAFE필수 검증

내부 UUID·PNU·원좌표·원천 학교코드·raw path·storage key·비밀값의 JSON/HTML/RSC/log 노출 0

09AGGREGATION_PRIVACY필수 검증

시장·상권·금융 집계는 최소 cohort·suppression을 적용하고 raw 거래 ID·정확 동/호·개인 재식별 가능 표본 공개 0

10SEMANTIC필수 검증

음수/초과 배당·금액 단위 오류·기관 중복·잘못된 geometry·공식학구/인접학교 혼용 0

11FRESHNESS필수 검증

timer enabled/active뿐 아니라 next trigger·last success watermark·DB/API 최신시각·scope/result를 connector별 대사

12CONTRACT_GUARD필수 검증

route/field drift를 5분 안에 감지하고 승인 image/source로 복구한 뒤 운영 smoke 재통과

13REGIONAL_BURN_IN필수 검증

학교알리미 지역분할의 첫 정기실행·7일 연속 성공률·partition checkpoint·재부팅 복구를 canary 5/5와 별도 증명

14PROVIDER_APPROVAL필수 검증

K-apt 월 관리비 3개월 HTTP 403을 승인 완료로 오판하지 않고 활용승인·정상 JSON·월 snapshot·collector 전까지 기능 OFF

15SECRET_ROTATION필수 검증

기존 학교알리미 credential을 재발급·교체하고 CT104 0600 secret 한 곳 외 원문 잔존 0을 확인

16PERFORMANCE필수 검증

9개 BFF의 p95·payload cap·timeout·cache/LKG·rate limit 예산 통과

17RECOVERY필수 검증

Persistent timer·단일 lock·재부팅·부분실패·DLQ 범위 replay·backup restore·rollback E2E

18PRODUCT_E2E필수 검증

실 lot 100건의 공개/회원/관리자·정상/빈/오류·모바일/키보드·링크/계산 대사

19PUBLIC_BOUNDARY필수 검증

owner-only 정책과 공개 지도 404·sitemap/메뉴/SDK 0을 유지하고 전체 공개는 별도 명시 승인

PUBLIC INDEX → MEMBER DETAIL

검색에는 충분히 보이고
판단자료는 가입 후 안전하게 열기

공개 상세은 검색로봇과 비회원에게 동일한 고유 요약을 SSR합니다. 전체 사진·문서·권리·임차·분석은 로그인 세션 확인 뒤 별도 API에서만 제공하며, 공개 HTML·RSC·JSON-LD에 먼저 싣고 가리지 않습니다.
RECOMMENDED MODEL공개 색인 projection + 서버 권한형 회원 전체 projection

내용 없는 가입벽을 대량 색인하지 않고, 공개 영역만으로도 검색 의도를 해결한 뒤 고의도 판단자료에서 가입을 유도합니다.

공개 상세
200 · INDEX · SELF CANONICAL
회원 전체
AUTH · PRIVATE · NO-STORE
검색결과
NOINDEX · FOLLOW
봇 분기
0 · 비회원과 동일

검색로봇·비회원·회원·추가권한 응답 계약

SEARCH_BOT

검색로봇

비회원과 동일한 공개 요약 SSR
포함
식별·법원·지역·용도·가격·기일·상태·결과요약·출처
제외
회원 전체값·PII·원문 파일·분석값·봇 전용 본문
ANONYMOUS

비회원

색인 가능한 공개 projection + 구체적 잠금 안내
포함
검색 의도를 해결할 독립적인 요약과 회원 상세 모듈 목록
제외
CSS로 가리기 전의 전체값·RSC preload·서명 파일 URL
MEMBER

로그인 회원

세션 확인 후 member detail API를 별도 호출
포함
전체 사진·문서·기일이력·권리/임차·비교·도구·알림
제외
권리·개인정보 공개등급이 허용하지 않는 자료
PRIVILEGED

추가 권한

목적·등급·열람사유를 서버에서 재검증
포함
정책상 허용된 제한 자료와 감사 가능한 업무 기능
제외
가입만으로 자동 공개되는 관계인 개인정보

전체 페이지별 색인·공개·회원·CTA 매트릭스

17개 페이지 유형 · 임의 facet 대량색인 금지
페이지권장 URL색인비회원·검색엔진 공개가입 후 전체전환 CTA구조화데이터
메인/INDEX검색·법원·지역·용도 허브, 오늘 신건·기일·결과 일부개인 추천·최근열람·관심·저장검색내 조건으로 신건 알림 받기Organization · WebSite
상세검색/searchINDEX필터 설명·탐색 허브·대표 물건검색조건 저장·최근 조건·고급 비교검색조건 저장하고 알림 받기WebPage · BreadcrumbList
임의 검색결과/search/results?…NOINDEX,FOLLOW기본 카드·현재 조건·사용자용 집계전체 탐색·비교·관심·엑셀·인쇄전체 결과·비교 기능 열기구조화데이터 생략
신건·예정·결과 허브/auctions/new · /upcoming · /results선별 INDEX법원·지역별 최신 목록과 갱신시각전체 이력·개인필터·저장·알림신건·결과 자동 알림 받기CollectionPage · ItemList
법원 상세/courts/{courtSlug}INDEX법원·관할·진행물건·최근 기일/결과담당계별 전체목록·통계·저장조건이 법원 물건 알림 받기WebPage · BreadcrumbList
지역 상세/regions/{sido}/{sigungu}품질충족 INDEX고유 지역설명·법원·대표물건·가격대전체물건·실거래비교·지도/반경이 지역 신건 알림 받기CollectionPage · ItemList
용도 상세/types/{assetType}품질충족 INDEX용도 정의·대표물건·지역/법원 분포세부용도·면적·특수조건 분석이 용도 물건 저장하기CollectionPage · ItemList
기일 상세/calendar/{yyyy-mm-dd}실물건 있을 때 INDEX법원·기일·물건·현재상태개인 캘린더·전체일정·변경알림기일 저장하고 변경 알림WebPage · ItemList
사건 상세/cases/{publicCaseId}INDEX법원·사건번호·담당계·상태·물건수·다음기일물건관계·전체기일·문서·변경 타임라인사건 전체 흐름 확인하기WebPage · BreadcrumbList
물건 상세/auctions/{publicId}최우선 INDEX식별·지역·용도·가격·기일·상태·면적요약·대표이미지·출처전체주소 허용분·사진·문서·권리·임차·이력·비교·계산무료 가입하고 전체 상세 보기WebPage · BreadcrumbList · RealEstateListing 의미표현
매각결과/auctions/{publicId}#result상세에 통합결과·낙찰가·결과일·이전기일 요약전체결과 이력·유사낙찰 비교유사 낙찰사례 비교하기상세 WebPage에 공개 결과만 반영
온비드 공매/onbid · /onbid/{publicId}실물건 E2E 전 NOINDEXSAMPLE 표식·공식 원천별 연결 상태공식 목록·상세 연결 뒤 전체분석·관심·마감알림실자료 승격 뒤 공매 전체정보·마감 알림LIVE_DATA 게이트 뒤 WebPage · BreadcrumbList
통계·가이드/stats/* · /guides/*독창적 내용만 INDEX출처·방법론이 있는 분석·설명세부표·다운로드·맞춤분석관심지역 통계 저장하기Article 또는 Dataset 조건부
로그인·가입·복구/login · /join · /recoverNOINDEX,FOLLOW혜택·약관·안전한 복귀 안내인증 뒤 원래 상세로 복귀무료 가입 후 바로 이어보기구조화데이터 생략
마이페이지/mypage/*NOINDEX + AUTH없음관심·최근·프로필·결제·알림SEO CTA 없음sitemap 제외
관리자·API·파일/admin/* · /api/member/* · /files/*NOINDEX + AUTH없음역할별 업무·회원 데이터·서명 파일SEO CTA 없음sitemap·공개링크 제외
검토·구현계획/review · /preview/* · /implementation-planNOINDEX내부 시안과 계획해당 없음SEO CTA 없음운영 공개 sitemap 제외

물건 상세 필드의 3단 공개등급

필드군공개 색인회원 상세추가 제한응답 계약
식별·상태법원·담당계·사건/물건번호·용도·현재상태전체 상태변경 이력관계인 식별정보PUBLIC_INDEX → MEMBER_DETAIL → PRIVILEGED
위치시군구·법정동·공개 허용 주소상세주소·지도·로드뷰 허용분개인 거주지 등 제한 위치publication_status로 필드별 판정
가격·기일·결과감정가·최저가·다음기일·유찰회수·공식 공개 기일/결과 핵심 이력전체 원문·비공개 보강·비교 분석비공개 계산 입력검증 event만 SSR·실제 변경시만 sitemap lastmod 갱신
면적·물건공개 면적·매각대상 요약과 공식 공개 대상 목록감정·부동산표시 원문·비공개 분석제한 원문에만 있는 값Court 원문 계보 필수
이미지·문서공개 대표이미지 1~2장과 문서 존재 여부전체 사진·감정·현황·명세·송달·등기권리 미확정·삭제·제한 파일익명 응답에 파일 URL·payload 0
권리·임차·분석제공 모듈명과 일반 안내만권리·임차·점유·소멸·배당·위험분석PII·목적제한 자료세션·등급 확인 뒤 private,no-store
출처·계보원문 URL·조회시각·공개 hash 요약·parser/schema version원문 evidence drawer·정정 이력raw 원문 저장경로·service credential공개값마다 역추적 가능
개인화가입 후 제공 기능 목록관심·메모·저장검색·알림·상담다른 회원의 활동회원 ID 격리·감사로그

검색 클릭부터 회원 가치 활성화까지

01검색 노출

고유 공개 요약과 정확한 title·description·canonical로 의도 일치

search_impression / Search Console
02자연검색 클릭

가격·기일·상태가 스니펫과 랜딩 첫 화면에서 일치

seo_landing_view
03공개 가치 확인

가입창을 먼저 띄우지 않고 식별·가격·기일·출처까지 제공

public_teaser_view
04구체적 잠금 노출

권리·임차·문서·전체이력 등 열리는 항목을 실제 이름으로 안내

registration_gate_impression
05상황별 CTA

물건=전체상세, 기일=변경알림, 법원/지역=신건알림 문구

signup_cta_click
06최소 가입

필수 동의·인증만 받고 마케팅 동의는 분리

signup_start / signup_success
07정확한 복귀

허용된 내부 return_to + section + filter를 검증해 원래 위치로 복귀

detail_return_success
08회원 가치 활성화

상세 잠금 해제 뒤 관심등록·알림·저장검색 중 하나를 자연스럽게 연결

member_section_unlock / alert_opt_in

대법원 증분 이벤트가 색인과 회원 화면에 도착하는 방식

Court 이벤트색인 처리화면·회원 처리
NEW_CASE_DISCOVERED사건·물건 URL 생성 후 품질검사 통과 시 sitemap 편입신건·법원·지역·용도 허브에 SSR 링크 생성
CASE_UPSERTED사건 제목·설명·dateModified 재계산담당계·관계물건·사건요약 부분 재투영
LOT_UPSERTED공개 요약·검색문서·구조화데이터 부분 재색인목록·지도·비교·상세 공개 projection 갱신
SCHEDULE_CHANGED기일이 실제 바뀐 경우에만 lastmod 갱신달력·상세·회원 변경알림 갱신
STATUS_CHANGED제목·상태 설명·허브 소속 재계산진행·유찰·연기·취하·정지·종국 배지 반영
RESULT_RECORDED공개 결과 문구·결과 허브·통계 갱신낙찰가·결과·유사사례 projection 반영
DOCUMENT_CHANGEDPUBLIC 문서 존재/변경만 공개 표면에 반영회원 증거실 또는 제한·대기 상태 표시
IMAGE_CHANGED공개 허용 이미지만 대표이미지·이미지 sitemap 반영회원 갤러리 갱신, 제한 이미지는 익명 payload 제외
TECHNICAL RULES

구현 중 바뀌면 안 되는 규칙

  1. 01검색로봇과 비회원의 공개 HTML은 동일하며 User-Agent·봇 IP 기반 전체정보 분기를 금지
  2. 02회원 전용 값은 초기 HTML·RSC payload·hydration state·JSON-LD·prefetch·로그에 포함하지 않음
  3. 03공개 상세는 200+self canonical, 잘못된 ID는 404/410, 이전된 ID는 새 상세로 1:1 301
  4. 04임의 facet·정렬·페이지 파라미터 결과는 noindex,follow; 고유 설명과 실제 탐색가치를 갖춘 선별 landing만 index
  5. 05sitemap에는 200·공개·canonical·indexable URL만 넣고 신건/진행/결과/법원/지역/콘텐츠로 분할
  6. 06lastmod는 재조회시각이 아니라 가격·기일·상태·결과·공개자산의 실제 변경시각만 사용
  7. 07robots.txt는 보안 수단이 아니며 noindex를 읽어야 하는 화면의 크롤링을 먼저 막지 않음
  8. 08비공개 API·파일은 인증이 1차 방어이고 401/403·private,no-store·짧은 서명 URL을 적용
  9. 09Google paywall 마크업은 gated 본문 자체를 색인할 때만 사용; 공개요약 모델에는 억지로 적용하지 않음
  10. 10구조화데이터에는 공개 화면에 보이는 사실만 넣고 매각기일을 Event, 최저매각가를 Product/Offer로 오표시하지 않음
  11. 11모든 상세은 법원·지역·용도·기일 허브의 실제 <a href> 링크로 3단계 이내 발견 가능하게 구성
  12. 12잠금 CTA에는 data-nosnippet을 적용하되 데이터 보호로 간주하지 않고 서버 분리를 유지

색인·가입 전환 출시 완료 게이트

01ROUTE필수 검증

모든 route template의 index/noindex·canonical·sitemap 정책 100% 지정

02UNIQUE필수 검증

물건·사건·법원·지역·용도·기일 표본 각 20건의 고유 title·description·H1·본문

03STATUS필수 검증

유효 ID 200, 잘못된 ID 404/410, 이전 ID 1:1 301, 장애 503; 빈 shell 200 없음

04LEAK필수 검증

비회원 HTML·RSC·API·JSON-LD·파일 응답의 회원/제한 필드 누출 0건

05CLOAK필수 검증

봇과 동일 조건 비회원 요청의 공개 본문·링크·구조화데이터 차이 0건

06RETURN필수 검증

로그인·가입 후 원래 URL·탭·필터·스크롤 복귀 100%, open redirect 0건

07EVENT필수 검증

Court 8종 이벤트가 상세·허브·검색·sitemap에 멱등 반영

08RIGHTS필수 검증

pending_review·권리 미확정·PII 포함 자료 자동 공개·색인 0건

09DUPLICATE필수 검증

빈 결과·중복 필터·tracking URL·soft 404 색인 URL 0건

10LINK필수 검증

색인 상세 100%가 sitemap과 최소 2개 SSR inbound link로 발견되고 관련 canonical 사건은 가능한 범위에서 4~8개 연결

11QUALITY필수 검증

모바일·접근성·CWV 예산과 Google/Naver 대표 URL 진단 통과

12PUBLIC필수 검증

공개 도메인·HTTPS·접근모드 승인 후 실제 검색로봇 200 응답을 별도 확인

현재 배포 상태

Sites 소유자 전용 접근이므로 외부 검색로봇은 이 시안을 색인할 수 없습니다. 공개 도메인·접근모드 승인 전까지는 기술 준비와 HTML 검증까지만 완료이며 실제 Google·네이버 색인 완료로 표시하지 않습니다.

SEO DETAIL BENCHMARK · WON-SEO-01~10

검색 잔존은 걸러내고
SSR 정보구조만 접목

작업 019f639b-070a-7c42-aa37-87ebcf43f867의 1·2차 전수조사를 기존 제이옥션 P0·P1·P2·P3·P7·P8에 중복 없이 병합했습니다. 별도 앱·DB·도메인을 만들지 않고 Court PUBLIC_INDEX에서만 구현합니다.
REFERENCE AUDIT COMPLETE · PRODUCT IMPLEMENTATION PLANNED

오픈소스 CMS가 아니라 검색어와 일치하는 SSR 사실표·기일표·물건목록을 접목하고, noindex 검색 잔존은 성공 사례로 계산하지 않음

AUDIT THREAD019f639b…f867

2026-07-15 · 공개 HTTP/HTML·검색 표본

FIRST WAVE2 URL

Wonsns 상세 2개

SECOND WAVE6 URL

Busyman·Auctioning·모바일 Wonsns 상세 6개

NOINDEX RESIDUAL4 / 6

2차 6개 중 4개 · 현재 색인 성공으로 계산 금지

SOURCE ROLEREFERENCE ONLY

화면·SEO 회귀 benchmark 전용 · 운영 데이터 source/fallback 금지

EVIDENCE SEPARATION

같은 표에 섞지 않을 검색 증거

  1. 01공개 HTTP·HTML·robots·canonical·피드의 현재 응답
  2. 02익명 공개 SERP의 실제 URL·순위·스니펫·표형 카드
  3. 03Search Advisor URL 검사의 수집·색인·색인가능 상태
  4. 04서버 Yeti 요청·상태·응답시각과 IndexNow 수신 기록

WON-SEO-01~10 통합 구현계약

10개 정확히 1회 · 04와 10은 조건부 활성화
Wonsns Busyman Auctioning 조사에서 제이옥션에 접목할 10개 SEO 계약
ID·상태계약조사에서 확인기존 단계제이옥션 구현완료 게이트
WON-SEO-01REQUIREDSSR 핵심 사실표검색 스니펫의 직접 원천은 최초 HTML의 안정적 label/value 사실표P3사건번호·법원·기일·상태·지역·용도·가격·면적·보증금·출처시각을 PUBLIC_INDEX에서 SSR파일럿 100건 visible 값과 projection 100% 일치
WON-SEO-02REQUIRED결정적 메타·신선도 방어정확한 사건번호·지역·용도 long-tail은 강하지만 가짜 최신성과 중복 H1은 품질 손실P2 · P7title·description·H1을 같은 content version에서 결정적으로 생성하고 검증 전 최신·오늘·실시간 금지100건 중복·상태·날짜 불일치 0
WON-SEO-03REQUIRED관련문서 그래프·이미지 계약같은 법원·지역·용도 문서 연결이 발견성과 사용자 탐색을 보조P2 · P3canonical 현행 사건 4~8개를 SSR 연결하고 실제 사진 alt·깨진 이미지·혼합콘텐츠를 검사고아 상세·이미지 404·모바일 넘침 0
WON-SEO-04CONDITIONALNaver RSS 조건부 채널RSS는 발견 보조일 뿐 순위 원인이나 sitemap 대체가 아님P7검증된 신규·가격·기일·상태 변경 canonical만 실제 수정시각으로 발행sitemap/RSS/canonical 집합 불일치와 거짓 lastmod 0
WON-SEO-05REQUIREDNaver SERP 코호트Search Advisor·익명 SERP·사용자 캡처·Yeti 로그는 서로 다른 증거면P7 · P8exact 사건·지역+용도·광역 질의를 결과 역할·스니펫 유형·lifecycle별 4주/8주 대사미관측을 미색인으로 오판하거나 관련문서를 독립 순위로 중복집계 0
WON-SEO-06REQUIRED금지항목 회귀 fixture다중 URL·soft-404·가짜 날짜·본문/JSON-LD 불일치가 조사 사이트의 핵심 결함P0 · P7host/path/query alias, invalid ID, fake freshness, duplicate event, PII, 동일 lastmod를 CI 차단실패 시 sitemap·RSS·index·IndexNow 자동 차단
WON-SEO-07REQUIRED질의의도별 SSR 사실표 팩질의에 따라 사건 스냅샷·대상 목록·기일 결과·건축물 표가 선택될 수 있음P3 · P7caption·thead·tbody·th scope를 갖춘 4종 조건부 표를 같은 반응형 URL과 사실 DOM으로 SSR100건 표 값·제목·열·단위 누락 0
WON-SEO-08REQUIRED공식 기일 이벤트 정규화·최신성 게이트중복 기일과 과거 예정일·결과 공란이 현재 진행 상태로 오인됨P0 · P1 · P3official event ID 또는 source_event_key 결정키로 중복 제거하고 최신 검증 Court 이벤트만 상태·기일을 계산과거기일+결과공란+차회없음 active는 STALE_REVIEW 격리, event 중복·종료 InStock·상태면 불일치 0
WON-SEO-09REQUIRED단일 반응형 URL·publication 원자성PC noindex·모바일 index와 HTTP/www/print/popup 동시 200은 상태 전파를 분열P2 · P7publicId당 HTTPS /auctions/{publicId} 하나만 indexable하고 모든 공개면을 한 content version에서 생성별칭 1회 301·UA parity·noindex feed 포함·HTTP canonical 0
WON-SEO-10CONDITIONAL상태변경 outbox 기반 IndexNow검색로봇 재방문만 기다리면 신규·변경·삭제 반영이 늦지만 IndexNow 전송은 색인이나 순위를 보장하지 않습니다P1 · P7 · P8publicId+content_version+transition_type 멱등키로 canonical HTTPS의 의미 있는 상태변경만 전송100건 누락·중복·재전송 0, 301/404/410 응답·재시도 증거 보존

배포 전 자동검증 행렬

대표 URL과 데이터 상태별 SEO 자동검증 조건
검증자동 대사통과 기준
PUBLICATIONindexable canonical URL = visible facts = OG/JSON-LD = sitemap/RSS/IndexNow URL동일 content version 불일치 0
ALIASPC·모바일·Yeti·Googlebot × HTTP/HTTPS × host/path/query/print 별칭indexable 200 정확히 1개·나머지 1회 301
LIFECYCLE진행·변경·유찰·매각·취하·납부·제거 fixtureHTTP·robots·메타·본문·피드 상태 충돌 0
EVENT기일 event key·공식 순서·현재상태·stale active 차단중복 0·과거기일을 현재기일로 표기 0
CONTENT100건 4종 SSR 표·메타·가격·면적·날짜·출처 계보PUBLIC_INDEX 불일치·회원/PII 초기 HTML 노출 0
ERRORinvalid publicId·영구제거·일시장애각각 404·410·503, 콘텐츠형 soft-404 0
DISCOVERY동적 sitemap·조건부 RSS·관련 canonical inbound link거짓 lastmod·noindex URL·고아 상세 0
SEARCHSearch Advisor·익명 SERP·사용자 캡처·Yeti 서버로그 분리4주/8주 색인·첫 노출·순위·스니펫 정확도 별도 기록

조사 사이트에서 반드시 복제하지 않을 결함

자동 차단noindex 검색 잔존을 현재 상위노출 성공으로 계산같은 사건의 다중 브랜드·별도 m. 도메인·모바일 피드 복제HTTP·HTTPS·www·apex·print·popup·UTM을 동시에 200으로 제공랜덤 H1·명언·조회시각·호출일 datePosted로 가짜 freshness 생성종료사건 InStock·과거기일 진행중·동일 기일/가격/결과 중복invalid publicId의 콘텐츠형 200 또는 화면만 404인 soft-404관계인·임차인·전화번호·회원값·내부 DB/큐 지표 공개Wonsns·Busyman·Auctioning을 운영 원천·fallback·자동수집 대상으로 사용
OFFICIAL NAVER BASELINE

대표 URL·피드·IndexNow 구현 근거

DOOIN FULL-SURFACE AUDIT

두인경매 전체 기능·라우트 구현계약 인벤토리

2026-07-14 공개 재조사와 승인 로그인 기준선을 분리해 전수조사했습니다. 조사 인벤토리 완료는 제품 구현 완료가 아닙니다. 개인 계정값·세션·쿠키·HTML 원문은 저장하지 않았고, 두인을 운영 데이터 수집기나 장애 fallback으로 사용하지 않습니다.
공개 발견 URL210

robots 허용 177 · 차단 33

구현 관련 원본 표면75

PAGE·XHR·ACTION·FILE·POLICY·STATE 정규화

기능 구현계약65

기존 DOOIN-001~057 보존 + 누락 계약 8개

정적 계약22 JS

source map 22 · 호출후보 84

폼 계약29

고유 action/method/field 계약 7

조사 판정7 / 7

미분류 gap 0 · 제품 E2E는 별도

A승인 로그인 세션 화면·권한 경계·읽기 상태 확인. 비가역 쓰기 실행을 의미하지 않음H공개 HTTP 상태코드·최종 경로·본문 메타데이터·해시를 익명 GET으로 확인SHTML·JavaScript·CSS 폼·XHR·상태·하위 경로를 정적 계약으로 확인R반응형 390px 대표 화면과 공개 CSS 분기를 확인; 다중 breakpoint는 자체 E2E 대상
PASSSURFACE

210개 same-origin 발견 URL을 75개 구현 관련 정규화 표면과 정적 자산 인벤토리에 연결

PASSOBSERVATION

공개 HTTP·승인 인증 세션·정적 스크립트·반응형 근거를 혼합하지 않고 분리

PASSCONTRACT

모든 구현 관련 표면이 65개 기능계약 중 하나 이상에 연결

PASSGAP

접근제한·비가역 미실행·원본 장애·플랫폼 보완으로 전부 분류, 미분류 0

PASSPRIVACY

쿠키·세션·계정·결제 개인값·HTML 원문을 산출물에 저장하지 않음

PASSEVIDENCE

공개 조사 JSON·한국어 보고서·관찰시각·상태·최종경로·해시 보존

PASSIMPLEMENTATION

예정 인수조건과 실제 구현·E2E 완료 상태를 별도 판정

65/ 65개 계약

65개 기능 구현계약

전수조사 완료와 제품 구현 완료를 분리해 판정
8현재 구현
12현 데이터로 우선 보강
43추가 데이터·운영결정 필요
2참고만·직접 복제 제외
ID제이옥션 적용성영역·화면라우트·근거확인한 기능새 구현 계약자료·API예정 검증·인수조건
DOOIN-001현재 구현홈·공통 · HOME메인 홈 셸/PUBLIC사건번호·소재지·물건종류 검색, 일정·신건·통계·추천·뉴스가 한 화면에 결합된다./GET /api/v1/home은 집계·추천·신선도·출처를 독립 블록으로 반환한다.공개 200, 핵심 링크, 빈 상태, 마지막 갱신시각과 출처를 E2E로 검증한다.
DOOIN-002현재 구현홈·공통 · HOME사건번호 빠른검색/#case-searchPUBLIC연도와 사건번호를 조합해 상세 또는 결과로 이동하는 전역 검색 진입점이다./search/caseGET /api/v1/lots?caseYear=&caseSerial=; 사건 식별자는 정규화 후 안정 ID로 변환한다.정상·미존재·잘못된 형식·복수 물건번호를 검증한다.
DOOIN-003현 데이터로 우선 보강홈·공통 · HOME소재지·물건종류 빠른검색/#quick-searchPUBLIC3단계 주소와 복수 물건종류를 선택해 종합검색으로 넘긴다./searchGET /api/v1/search/options 및 /api/v1/lots; 선택조건은 URL 쿼리로 직렬화한다.종속 주소, 복수 용도, 초기화, 뒤로가기 상태복원을 검증한다.
DOOIN-004현 데이터로 우선 보강홈·공통 · HOME홈 테마·바로가기/ca/caList.php?mainLink=:themeSCRIPT신건·반값·특수물건·가격대·용도별 테마가 mainLink 값으로 검색조건을 주입한다./curation/:slugGET /api/v1/curations/:slug가 사람이 읽는 조건, 총건수, 검색 URL을 반환한다.허용 slug만 수용하고 각 테마 총건수가 동일 조건 검색과 일치하는지 검증한다.
DOOIN-005현 데이터로 우선 보강법원경매 검색 · CA_SEARCH법원경매 종합검색/ca/caList.phpPUBLIC주소·법원·사건·종류·상태·기일·가격·면적·매각·용도·특수조건을 조합하고 저장·인쇄·엑셀을 제공한다./searchGET /api/v1/search/options, /api/v1/search/facets, /api/v1/lots; allowlist 정렬과 cursor 계약을 사용한다.고정 조건 50개로 총건수·facet·정렬·20/30/50/100건·페이지를 대조한다.
DOOIN-006추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH법원별검색/ca/caLaw.phpPUBLIC법원과 지원·담당계를 먼저 고른 뒤 동일 경매목록 계약으로 연결한다./search/courtsGET /api/v1/courts, /api/v1/courts/:code/departments, /api/v1/lots.법원·지원·담당계 종속성과 폐지·통합 코드 별칭을 검증한다.
DOOIN-007추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH소재지검색/ca/caAddr.phpPUBLIC시도·시군구·읍면동과 건물명·지번을 중심으로 검색한다./search/locationsGET /api/v1/regions/children 및 /api/v1/lots?regionCode=&addressQuery=.3단계 종속선택, 행정구역 개편 별칭, 공백·도로명·지번 검색을 검증한다.
DOOIN-008추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH역세권검색/ca/caTrain.phpPUBLIC노선 선택 후 역 정보 조회를 거쳐 주변 경매물건을 찾는다./search/transitGET /api/v1/transit/lines, /stations, /api/v1/lots?stationId=&radius=.노선 변경 시 역 초기화, 환승역 중복제거, 반경 경계와 지도 결과를 검증한다.
DOOIN-009추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH차량·장비검색/ca/caCar.phpPUBLIC승용·승합·화물·버스·중장비 등 동산 전용 조건과 목록을 제공한다./search/vehiclesGET /api/v1/lots?assetClass=vehicle 및 차량 제원 projection.차종·연식·감정가·기일 필터와 제원 누락 대체상태를 검증한다.
DOOIN-010현재 구현법원경매 검색 · CA_SEARCH경매일정/ca/caDate.phpPUBLIC날짜와 법원·담당계를 축으로 기일별 물건을 조회한다./calendarGET /api/v1/sale-events?from=&to=&courtCode=; sale_event 원장을 사용한다.달력 건수와 동일 조건 목록, 휴정·변경·연기 상태를 검증한다.
DOOIN-011현재 구현법원경매 검색 · CA_SEARCH기일별 목록/ca/caDtList.php?bidDt=:dateSCRIPT홈 일정 선택이 날짜와 선택 법원을 쿼리로 전달해 목록을 연다./calendar/:dateGET /api/v1/sale-events/:date/lots?courtCode=.유효 날짜, 법원 조합, 빈 기일, 표준시 경계를 검증한다.
DOOIN-012추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH신건검색/ca/caNew.phpPUBLIC새로 공고된 물건을 날짜·법원 기준으로 탐색한다./search/newGET /api/v1/lots?firstPublishedFrom=&firstPublishedTo=&courtCode=.공고일과 수집일을 분리하고 재수집 시 중복이 없는지 검증한다.
DOOIN-013추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH날짜별 신건목록/ca/caNewList.php?bidDt=:dateSCRIPT홈의 오늘 공고 신건에서 날짜·법원별 세부 목록으로 이동한다./search/new/:dateGET /api/v1/lots/new?publishedDate=&courtCode=.홈 신건 집계와 목록 총건수, 날짜 변경, 빈 상태를 대조한다.
DOOIN-014참고만·직접 복제 제외법원경매 검색 · CA_SEARCH이해관계인검색/ca/caPl.phpPUBLIC이해관계인 관련 별도 검색 진입점이며 개인정보·권리정보의 공개 경계가 필요하다./search/stakeholders공개 검색은 비식별 facet만 제공하고 제한 필드는 권한·열람사유·감사를 요구한다.비회원 검색으로 개인 식별값이 노출되지 않고 권한 우회가 차단되는지 검증한다.
DOOIN-015추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH전문가코멘트/ca/caExpert.phpPUBLIC물건별 전문가 의견을 목록 형태로 제공하고 상세로 연결한다./insights/expertsGET /api/v1/expert-comments?lotId=; 작성자 역할·작성시각·수정이력을 제공한다.공개범위, 물건 연결, 삭제·수정 이력, HTML 정화를 검증한다.
DOOIN-016추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH조회수랭킹/ca/caTopView.phpPUBLIC기간별 조회량을 기준으로 인기 물건을 노출한다./rankings/viewsGET /api/v1/rankings/views?period=; 봇 제외 집계와 안정 동률정렬을 사용한다.기간 전환, 중복조회 억제, 동률 순서, 삭제 물건 제외를 검증한다.
DOOIN-017추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH매각통계/ca/caStats.phpPUBLIC기간·법원 단위 경매 통계를 별도 화면과 홈 바로가기로 제공한다./statistics/salesGET /api/v1/statistics/sales?courtCode=&period=; 산식과 기준일을 함께 반환한다.표본 원장 재계산, 홈 요약 일치, 0건·부분집계 상태를 검증한다.
DOOIN-018참고만·직접 복제 제외법원경매 검색 · CA_SEARCH샘플물건/ca/caSample.phpPUBLIC비회원이 일부 물건의 사건·주소·가격·기일을 확인하고 상세 진입을 시험할 수 있다./samplesGET /api/v1/lots/samples; 공개등급 필드와 선정 근거만 반환한다.비회원 상세 연결, 만료·변경 물건 대체, 개인정보 비노출을 검증한다.
DOOIN-019추가 데이터·운영결정 필요법원경매 검색 · CA_SEARCH예정물건/ca/caBefo.phpPUBLIC매각기일 확정 전 단계 물건을 일반 진행물건과 구분해 제공한다./upcomingGET /api/v1/lots?stage=pre-sale; 사건 상태와 다음 확인예정시각을 반환한다.예정→진행 전이, 중복 병합, 기일 미정 표시, 상세 연결을 검증한다.
DOOIN-020추가 데이터·운영결정 필요공매 검색 · PA_SEARCH공매검색/pa/paList.phpPUBLIC물건번호·입찰일·처분방식·자산·진행상태·기관·주소·가격·종류 조건을 제공한다./onbid온비드 공식 API adapter를 통해 GET /api/v1/public-auctions를 제공하고 출처 원문 URL을 유지한다.공식 API 표본 대조, 필터·페이지·마감상태·원문 링크를 검증한다.
DOOIN-021추가 데이터·운영결정 필요지도검색 · MAP_SEARCH지도검색/kko/AUTH비로그인에서는 로그인 경계가 표시되고 인증 후 별도 지도 앱에서 목록 검색과 공간 탐색을 보완한다./mapGET /api/v1/lots/map?bbox=&zoom=&filters=; 클러스터와 목록에 동일 public_id를 사용한다.비회원 인증경계와 390px·데스크톱 bbox 재조회, 클러스터, 목록 동기화, 키보드 대체를 검증한다.
DOOIN-022추가 데이터·운영결정 필요법원경매 상세·파일 · CA_DETAIL_FILE법원경매 물건상세/ca/caView.php?tid=:legacyTidAUTH사건·물건·가격·기일·현황·권리·임차·사진·문서·지도 정보를 단일 상세 흐름에 결합한다./auctions/:publicIdGET /api/v1/lots/:publicId와 detail-projection-v3; legacyTid는 별칭 테이블로만 해석한다.인증 대표 상세의 필수 섹션, 상태변경 이력, 출처·조회일, 301 별칭을 검증한다.
DOOIN-023현 데이터로 우선 보강법원경매 상세·파일 · CA_DETAIL_FILE선택보기·다건상세/ca/Viewmulti.phpSCRIPT검색결과에서 선택한 여러 물건을 연속 비교·열람하는 선택보기 동작으로 연결된다./comparePOST /api/v1/member/compare는 public_id 배열을 순서 보존해 반환하며 최대 건수를 제한한다.실제 E2E에서 선택 0·1·최대·초과, 다른 자산유형 비교, 삭제 물건 대체를 검증한다.
DOOIN-024추가 데이터·운영결정 필요법원경매 상세·파일 · CA_DETAIL_FILE법원경매 사진·문서/ca/caFile.php 및 /FILE/CA/*AUTH사진 원본과 감정·현황·매각 관련 파일을 상세에서 분리 열람하는 계열이다./auctions/:publicId/documentsGET /api/v1/lots/:id/images 및 /documents; 공개등급·MIME·해시·출처·취득시각을 반환한다.허용 파일 200, 제한 파일 403, 깨진 파일 대체, 경로순회·직접 URL 우회를 검증한다.
DOOIN-025추가 데이터·운영결정 필요공매 상세·파일 · PA_DETAIL_FILE공매 물건상세/pa/paView.php?pid=:legacyIdAUTH공매 기관·처분·입찰·가격·소재·자산 정보를 목록에서 상세로 연결한다./onbid/:publicIdGET /api/v1/public-auctions/:publicId; 온비드 원문 식별자와 원문 URL을 보존한다.공식 상세 표본, 마감·낙찰 상태, 기관·회차, 원문 이동을 검증한다.
DOOIN-026추가 데이터·운영결정 필요공매 상세·파일 · PA_DETAIL_FILE공매 사진·첨부/pa/paFile.php 및 공매 파일 계열AUTH공매 상세의 사진·첨부 자료를 별도 뷰로 제공하는 파일 계열이다./onbid/:publicId/documentsGET /api/v1/public-auctions/:id/assets; 공식 원문 우선이며 캐시는 권리·만료정책을 따른다.공식 URL, MIME·크기, 만료 링크 갱신, 비허용 복제 차단을 검증한다.
DOOIN-027추가 데이터·운영결정 필요커뮤니티 · BOARD공지사항/board/boList.php?board_id=noticePUBLIC공지 목록·검색·상세로 운영 변경과 장애·휴무 정보를 전달한다./community/noticesGET /api/v1/content/notices 및 /:slug; 게시·수정·고정·노출기간을 계약화한다.목록·상세·검색·고정순서·노출기간·404를 검증한다.
DOOIN-028추가 데이터·운영결정 필요커뮤니티 · BOARD자주하는질문/board/boList.php?board_id=faqPUBLIC서비스 이용 질문을 게시판형 목록과 상세로 제공한다./community/faqGET /api/v1/content/faq?category=&query=.분류·검색·아코디언 접근성·직접 상세 URL을 검증한다.
DOOIN-029추가 데이터·운영결정 필요커뮤니티 · BOARD전문가칼럼/board/boList.php?board_id=columnPUBLIC전문가 콘텐츠를 목록과 상세로 제공한다./community/columnsGET /api/v1/content/columns; 작성자 표시명·게시일·대표이미지·본문을 반환한다.페이지·상세·HTML 정화·이미지 대체·메타태그를 검증한다.
DOOIN-030추가 데이터·운영결정 필요커뮤니티 · BOARD부동산 대출규정/board/boList.php?board_id=loanPUBLIC대출 관련 규정·해설을 별도 게시판 분류로 제공한다./community/loan-rulesGET /api/v1/content/loan-rules; 기준일·출처 링크·면책 표시를 필수화한다.기준일·출처·개정이력·오래된 글 경고를 검증한다.
DOOIN-031추가 데이터·운영결정 필요커뮤니티 · BOARD부동산정책/board/boList.php?board_id=policyPUBLIC정책 자료를 게시판 분류와 상세로 제공한다./community/policiesGET /api/v1/content/policies; 원출처·발표일·적용일을 분리한다.원출처 링크, 날짜 정렬, 개정 관계와 검색색인을 검증한다.
DOOIN-032추가 데이터·운영결정 필요커뮤니티 · BOARD부동산소식/board/boList.php?board_id=newsPUBLIC홈 뉴스 모듈과 전체 목록·상세가 연결된다./community/newsGET /api/v1/content/news; 홈 노출 여부와 canonical URL을 반환한다.홈·목록 일치, 게시일 정렬, 중복 canonical, 만료 콘텐츠를 검증한다.
DOOIN-033추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY경매용어사전/study/terms.phpPUBLIC초성·용어 중심으로 경매 개념을 탐색한다./resources/glossaryGET /api/v1/resources/glossary?initial=&query=.초성·검색·동의어·직접 앵커·모바일 색인을 검증한다.
DOOIN-034추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY경매절차/study/auct_process.phpPUBLIC신청부터 배당까지 경매 진행단계를 설명한다./resources/processGET /api/v1/resources/process; 단계·순서·관련 문서·근거 출처를 반환한다.단계 순서, 앵커 이동, 인쇄, 출처·개정일을 검증한다.
DOOIN-035추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY관련서식/study/docu_auct.phpPUBLIC경매 관련 서식을 분류하고 파일로 연결한다./resources/formsGET /api/v1/resources/forms; 제목·분류·파일형식·크기·출처·개정일을 반환한다.목록·다운로드·MIME·파일명·만료·출처를 검증한다.
DOOIN-036추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY경매지식/study/auct_faq.phpPUBLIC실무 지식 항목을 목록형으로 제공한다./resources/knowledgeGET /api/v1/resources/knowledge?category=&page=.분류·페이지·빈 상태·상세 링크·검색색인을 검증한다.
DOOIN-037추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY경매지식 상세/study/auct_faq_view.php?idx=:legacyIdPUBLIC선택 지식의 본문과 이전·다음 이동을 제공하는 상세 계열이다./resources/knowledge/:slugGET /api/v1/resources/knowledge/:slug; legacy ID는 canonical slug로 리다이렉트한다.본문, 이전·다음, 잘못된 ID, 301·canonical을 검증한다.
DOOIN-038추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY자료 다운로드/res/download.php?mode=docu_form…SCRIPT관련서식과 안내 자료의 파일 다운로드 동작이 별도 응답으로 분리된다./api/v1/resources/files/:fileId권리등급·MIME·크기·Content-Disposition·해시를 서버에서 검증해 스트리밍한다.허용·만료·미존재·직접경로·경로순회·대용량 중단을 검증한다.
DOOIN-039추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITYPDF 열람·인쇄/api/pdf/web/pdf.php?file=…SCRIPT문서형 자료를 브라우저에서 열거나 인쇄하는 보조 기능이 있다./resources/files/:fileId/viewGET /api/v1/resources/files/:id/view는 inline PDF와 안전 헤더를 반환한다.PDF 렌더, 키보드, 인쇄, 다운로드 대체, 스크립트 비실행을 검증한다.
DOOIN-040추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY법원안내/etc/crt_list.phpPUBLIC법원 목록과 관할·연락·위치 정보를 찾는 안내 페이지다./resources/courtsGET /api/v1/courts?include=location,departments; 공식 법원 코드와 출처를 사용한다.전체 법원 코드, 폐지·통합, 위치 링크, 검색을 검증한다.
DOOIN-041추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY주민센터안내/etc/dong_list.phpPUBLIC지역 선택을 통해 주민센터 관련 안내를 찾는다./resources/community-centers공식 행정기관 원문 링크 중심으로 제공하고 자체 데이터에는 기준일을 표시한다.지역 종속선택, 외부 링크, 오래된 정보 경고, 390px 표를 검증한다.
DOOIN-042추가 데이터·운영결정 필요자료실·안내 · STUDY_UTILITY유용한사이트/etc/relation_site.phpPUBLIC법원·공공·부동산 관련 외부 사이트를 분류해 제공한다./resources/linksGET /api/v1/resources/links; 운영자 allowlist와 마지막 점검시각을 반환한다.HTTPS·도메인 allowlist·깨진 링크·새 창 안내를 검증한다.
DOOIN-043추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT회원가입 약관동의/member/agree.phpPUBLIC회원가입 전 약관과 개인정보 동의를 받고 다음 단계로 이동한다./join/agreementsPOST /api/v1/member/agreements는 문서 버전·필수/선택·동의시각을 서버에 기록한다.필수 미동의 차단, 선택 분리, 문서 버전, 재제출 멱등성을 검증한다.
DOOIN-044현 데이터로 우선 보강회원·결제 · MEMBER_PAYMENT마이페이지 허브/member/mypage.phpAUTH관심·알림·최근열람·결제·포인트·정보수정으로 이어지는 회원 허브다./mypageGET /api/v1/member/summary; 세션 사용자 범위의 집계만 반환한다.비회원 401, 세션 회전, 다른 회원 데이터 격리, 각 카드 링크를 검증한다.
DOOIN-045현재 구현회원·결제 · MEMBER_PAYMENT관심물건/member/intrList.phpAUTH저장한 경매·공매 물건을 분류·우선순위·메모와 최신 가격·기일로 다시 확인한다./mypage/favoritesGET/POST/DELETE /api/v1/member/favorites; public_id·분류·우선순위·등록시각·변경요약을 반환한다.추가·중복·분류·메모·삭제·상태변경, 회원 격리, 만료 물건 대체를 검증한다.
DOOIN-046현 데이터로 우선 보강회원·결제 · MEMBER_PAYMENT저장검색/member/favorSearchList.phpAUTH회원이 저장한 검색조건을 다시 실행하고 이름·조건을 편집하거나 삭제한다./mypage/saved-searchesGET/POST/PATCH/DELETE /api/v1/member/saved-searches; 버전형 query schema와 알림 설정을 관리한다.저장·재실행·편집·삭제·중복이름·구버전 조건변환·회원 격리를 검증한다.
DOOIN-047현 데이터로 우선 보강회원·결제 · MEMBER_PAYMENT최근열람내역/member/rsntList.phpAUTH최근 본 물건을 시간순으로 제공하고 재진입을 지원한다./mypage/recentGET/DELETE /api/v1/member/recent-views; 보존기간과 cursor를 명시한다.열람 기록·정렬·개별/전체 삭제·보존만료·회원 격리를 검증한다.
DOOIN-048현 데이터로 우선 보강회원·결제 · MEMBER_PAYMENT나의 입찰 달력/member/calendar.phpAUTH관심 또는 입찰 예정 물건의 기일을 개인 달력으로 모아본다./mypage/calendarGET /api/v1/member/calendar?from=&to=; sale_event와 회원 메모를 분리해 반환한다.월 이동, 기일변경, 중복, 캘린더·상세 동기화, 회원 격리를 검증한다.
DOOIN-049추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT결제안내/member/pay_guide.phpPUBLIC이용권·서비스 범위와 결제 진입 정보를 공개한다./pricingGET /api/v1/plans; 가격·기간·포함기능·환불정책·세금을 명시한다.표시 가격과 결제 요청 일치, 만료 상품 차단, 모바일 표 가독성을 검증한다.
DOOIN-050추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT이용권 구매/member/pay.phpAUTH로그인 회원이 상품을 선택해 결제를 시작한다./mypage/billing/checkoutPOST /api/v1/member/orders와 결제사 승인·웹훅; idempotency와 서버 가격 검증을 필수화한다.성공·취소·실패·중복 웹훅·금액변조·새로고침 재요청을 검증한다.
DOOIN-051추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT결제관리·이력/member/pay_history.phpAUTH회원의 주문·승인·취소·환불 상태와 이용권 변화를 조회한다./mypage/billing/historyGET /api/v1/member/orders; 민감 결제수단은 마스킹하고 상태이력을 append-only로 제공한다.회원 격리, 환불 상태, 영수증 권한, 민감값 마스킹을 검증한다.
DOOIN-052추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT쿠폰/member/cpnList.phpAUTH회원 쿠폰의 사용 가능·사용·만료 상태를 조회한다./mypage/benefitsGET /api/v1/member/coupons; 발급원장·상태이력·만료예정 요약을 반환한다.중복 사용, 만료, 주문 취소 복원, 상품 적용조건, 회원 격리를 검증한다.
DOOIN-053현재 구현회원·결제 · MEMBER_PAYMENT회원정보 수정/member/modifyProfile.phpAUTH프로필·연락·비밀번호·수신동의 변경을 처리한다./mypage/profileGET/PATCH /api/v1/member/profile 및 /change-password; 재인증·CSRF·버전 충돌을 적용한다.재인증, 유효성, 비밀번호 정책, 동의 이력, 동시수정 충돌을 검증한다.
DOOIN-054현 데이터로 우선 보강고객센터·정책 · HELP전체서비스/help/siteMap.phpPUBLIC경매·공매·지도·커뮤니티·자료실·회원·고객센터 전체 메뉴를 한곳에 나열한다./sitemap정적 route registry에서 권한·노출 조건을 반영해 생성한다.등록 라우트 전수, 깨진 링크 0, 회원 전용 표기, 키보드 탐색을 검증한다.
DOOIN-055추가 데이터·운영결정 필요고객센터·정책 · HELP이용약관/help/service_guide.phpPUBLIC서비스 이용약관 전문을 공개한다./legal/termsGET /api/v1/legal/terms/current; 버전·시행일·이전 버전 링크를 반환한다.현재·이전 버전, 시행일, 가입 동의 버전 연결, 인쇄를 검증한다.
DOOIN-056추가 데이터·운영결정 필요고객센터·정책 · HELP개인정보처리방침/help/privacy_guide.phpPUBLIC개인정보 처리 목적·항목·보유·권리 안내 전문을 공개한다./legal/privacyGET /api/v1/legal/privacy/current; 버전과 변경이력을 반환한다.현행 버전, 변경이력, 가입 동의 연결, 검색색인을 검증한다.
DOOIN-057현 데이터로 우선 보강고객센터·정책 · HELP이메일 무단수집거부/help/email_scraprefuse.phpPUBLIC공개된 이메일 주소의 무단 수집 거부 안내를 제공한다./legal/email-collection정적 법적 안내 문서로 버전·시행일만 관리한다.공개 200, 공통 푸터 링크, canonical, 인쇄 가독성을 검증한다.
DOOIN-058현재 구현회원·결제 · MEMBER_PAYMENT로그인/res/auth/logIn.phpSCRIPT공개 로그인 모달과 POST transport, 저장 ID·재시도·추가인증 상태를 확인했다./loginPOST /api/v1/auth/login; 세션 회전·rate limit·계정 존재 비노출.정상·오류·잠금·재시도·추가인증·CSRF·return URL을 E2E로 검증한다.
DOOIN-059현재 구현회원·결제 · MEMBER_PAYMENT로그아웃·세션회수/res/auth/logOut.phpSCRIPT로그아웃 후 로그인 상태와 브라우저 보기 설정을 초기화한다./logoutPOST /api/v1/auth/logout 및 DELETE /api/v1/me/sessions/:id.현재·전체기기 로그아웃, 쿠키 폐기, 재사용 차단, 동시접속을 검증한다.
DOOIN-060추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT아이디·비밀번호 복구/res/auth/findPwd.phpSCRIPT아이디 찾기·비밀번호 복구·인증코드 모달 상태가 공개 스크립트에 있다./account/recoveryPOST /api/v1/auth/recovery/start 및 /verify; 동일한 응답과 일회 토큰 사용.존재·미존재 계정 동일 응답, 만료·재사용·횟수제한·감사로그를 검증한다.
DOOIN-061추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT휴대전화 본인확인/member/res/mobileChk.phpSCRIPT가입·복구 과정의 휴대전화 인증코드 발급·확인 흐름이다./join/verificationPOST /api/v1/auth/mobile-verifications; 목적·만료·시도횟수·재사용 차단.발급·확인·오류·만료·재전송·다른 목적 재사용 차단을 검증한다.
DOOIN-062추가 데이터·운영결정 필요회원·결제 · MEMBER_PAYMENT회원탈퇴/member/leave.phpSCRIPT회원탈퇴 경로와 보존·세션회수 요구를 별도 계약으로 분리한다./mypage/account/leavePOST /api/v1/me/account-closure; 재인증·유예·법정보존·익명화 원장.재인증·취소·세션전량회수·보존기간·재가입 정책을 E2E로 검증한다.
DOOIN-063추가 데이터·운영결정 필요커뮤니티 · BOARD게시판 상세·작성/board/boView.php · /board/boWrite.phpSCRIPT6개 게시판의 목록 밖 상세·작성 경로를 분리했고 boWrite의 현행 404도 확인했다./community/:type/:slug · /admin/contentGET /api/v1/content/:type/:slug 및 관리자 CRUD·첨부·개정이력.잘못된 ID 404, 역할권한, 작성·수정·철회·첨부·HTML 정화를 검증한다.
DOOIN-064현 데이터로 우선 보강고객센터·정책 · HELP대표호스트·기술 경계/robots.txt · /sitemap.xml · /index.phpSCRIPT대표호스트 분산, 중복 홈, canonical 부재, 기술 파일 404, 보안 헤더·쿠키 속성 누락을 확인했다./robots.txt · /sitemap-index.xml · /.well-known/security.txt정적 생성기와 edge 정책; canonical·redirect·headers·cookie contract.www/apex·index 통합, sitemap, favicon, manifest, security.txt, 보안헤더를 자동 검증한다.
DOOIN-065현 데이터로 우선 보강홈·공통 · HOME읽기 XHR·폼 transport/res/main.php · */res/*.phpSCRIPT홈·목록·게시판·학습·주소·주민센터의 읽기 요청과 29개 폼·7개 고유 폼 계약을 분리했다./api/v1/home · /search/* · /content/* · /resources/*읽기 GET+cursor+cache로 표준화하고 저장·인증만 POST로 유지.84개 호출 후보의 method·필드·오류·빈 상태를 계약 테스트로 검증한다.

75개 구현 관련 원본 표면

75 / 75개 표시 · 전체 210 URL은 증거 JSON에 보존
ID제이옥션 적용성그룹·종류원본 경로방법·근거관찰·상태연결 계약판정·구현 메모
SURF-001현 데이터로 우선 보강HOMEPAGE/GET
HSA
OBSERVED_CURRENTHTTP 200DOOIN-001DOOIN-002DOOIN-003CLOSED

익명 홈 200과 로그인 홈 기준선을 모두 확인. 사건번호·소재지·물건종류·일정·콘텐츠 허브.

SURF-002현 데이터로 우선 보강HOMEPAGE/index.phpGET
H
OBSERVED_CURRENTHTTP 200DOOIN-064PLATFORM_REMEDIATION

루트와 같은 본문을 200으로 제공하는 중복 별칭. 대표 URL 301 필요.

SURF-003현 데이터로 우선 보강HOMEXHR/res/main.phpday_schedule|week_schedule|notice|news|newItem|stats|samples|commentsPOST
S
DISCOVERED_SCRIPTDOOIN-001DOOIN-065CLOSED

홈 읽기 모듈 8종을 mode 값으로 제공.

SURF-004현 데이터로 우선 보강PLATFORMPOLICY/robots.txtGET
H
OBSERVED_CURRENTHTTP 200DOOIN-054DOOIN-064CLOSED

/member·/res·/ca·/pa 등을 차단하고 /res/main.php만 허용.

SURF-005현 데이터로 우선 보강PLATFORMPOLICY/sitemap.xmlGET
H
TECHNICAL_GAPHTTP 404DOOIN-054DOOIN-064PLATFORM_REMEDIATION

현행 응답 404. 공개 정식 URL만 담는 sitemap index 필요.

SURF-006현 데이터로 우선 보강PLATFORMTECHNICAL/favicon.icoGET
H
TECHNICAL_GAPHTTP 404DOOIN-064PLATFORM_REMEDIATION

기본 favicon 경로는 404이며 실제 아이콘은 별도 경로에 존재.

SURF-007현 데이터로 우선 보강PLATFORMTECHNICAL/manifest.jsonGET
H
TECHNICAL_GAPHTTP 404DOOIN-064PLATFORM_REMEDIATION

웹 앱 manifest 경로 404.

SURF-008현 데이터로 우선 보강PLATFORMTECHNICAL/.well-known/security.txtGET
H
TECHNICAL_GAPHTTP 404DOOIN-064PLATFORM_REMEDIATION

보안 연락 정책 경로 404.

SURF-009현 데이터로 우선 보강CA_SEARCHPAGE/ca/caList.phpGET
AHS
OBSERVED_AUTH_BASELINEDOOIN-004DOOIN-005CLOSED

종합검색 기본 custom과 mainLink 프리셋 9종, 합계 10상태. 현재 robots 차단으로 공개 재요청하지 않음.

SURF-010현 데이터로 우선 보강CA_SEARCHXHR/ca/res/AuctList.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-005DOOIN-065ACCESS_RESTRICTED

검색결과 목록 transport. 저장·선택·인쇄·엑셀 상태와 분리 구현.

SURF-011추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caLaw.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-006CLOSED

법원·지원·담당계 종속검색.

SURF-012추가 데이터·운영결정 필요CA_SEARCHXHR/ca/res/caLawSrchFrm.phpdptStepGET
S
ROBOTS_NOT_FETCHEDDOOIN-006DOOIN-065ACCESS_RESTRICTED

법원 선택 하위 폼. dptStep 상태 포함.

SURF-013추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caAddr.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-007CLOSED

시도·구군·읍면동 다중 선택.

SURF-014추가 데이터·운영결정 필요CA_SEARCHXHR/ca/res/caAddrSrchFrm.phpadrsStepGET
S
ROBOTS_NOT_FETCHEDDOOIN-007DOOIN-065ACCESS_RESTRICTED

주소 선택 하위 폼. adrsStep 상태 포함.

SURF-015추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caTrain.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-008CLOSED

권역·노선·역·반경 검색.

SURF-016추가 데이터·운영결정 필요CA_SEARCHXHR/ca/res/trainSrchInfo.phpGET
S
ROBOTS_NOT_FETCHEDDOOIN-008DOOIN-065ACCESS_RESTRICTED

노선별 역 정보 응답.

SURF-017추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caCar.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-009CLOSED

차량·장비 전용 검색.

SURF-018추가 데이터·운영결정 필요CA_SEARCHXHR/ca/res/carModel.phpGET
S
ROBOTS_NOT_FETCHEDDOOIN-009DOOIN-065ACCESS_RESTRICTED

제조사별 모델 종속 응답.

SURF-019현재 구현CA_SEARCHPAGE/ca/caDate.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-010CLOSED

월별 경매일정과 법원 상태.

SURF-020현재 구현CA_SEARCHPAGE/ca/caDtList.php?bidDt=:date&sptCd=:court&dptCd=:departmentGET
AS
OBSERVED_AUTH_BASELINEDOOIN-011CLOSED

날짜·법원·담당계 기일 하위목록.

SURF-021추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caNew.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-012CLOSED

주중 신건 달력.

SURF-022추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caNewList.php?bidDt=:date&sptCd=:court&dptCd=:departmentGET
AS
OBSERVED_AUTH_BASELINEDOOIN-013CLOSED

날짜·법원·담당계 신건 하위목록.

SURF-023참고만·직접 복제 제외CA_SEARCHPAGE/ca/caPl.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-014CLOSED

관계인 유형·이름 검색. 공개 필드의 개인정보 경계 필요.

SURF-024추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caExpert.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-015CLOSED

전문가 기준 검색과 코멘트 목록.

SURF-025추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caTopView.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-016CLOSED

기간별 TOP30.

SURF-026추가 데이터·운영결정 필요CA_SEARCHXHR/ca/res/topView.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-016DOOIN-065ACCESS_RESTRICTED

인기물건 데이터 transport.

SURF-027추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caStats.phpGET
AHS
OBSERVED_AUTH_BASELINEDOOIN-017CLOSED

법원·지원·연·월·일 통계 drill-down.

SURF-028참고만·직접 복제 제외CA_SEARCHPAGE/ca/caSample.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-018CLOSED

비회원 샘플 물건.

SURF-029추가 데이터·운영결정 필요CA_SEARCHPAGE/ca/caBefo.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-019CLOSED

예정사건·접수·개시·배당종기.

SURF-030추가 데이터·운영결정 필요CA_DETAIL_FILEPAGE/ca/caView.php?tid=:legacyTid&free=:flagGET
AS
OBSERVED_AUTH_BASELINEDOOIN-022DOOIN-023CLOSED

법원경매 상세 9개 핵심 섹션·16개 탭·6개 행동의 부모 화면.

SURF-031추가 데이터·운영결정 필요CA_DETAIL_FILEVIEWER/ca/caFile.phpGET
AS
OBSERVED_AUTH_BASELINEDOOIN-024ACCESS_RESTRICTED

사진·문서 뷰어 경계. 실제 파일 전량 무결성은 자체 구현 E2E로 검증.

SURF-032추가 데이터·운영결정 필요PA_SEARCHPAGE/pa/paList.phpGET
AH
OBSERVED_AUTH_BASELINEDOOIN-020CLOSED

공매 검색 UX만 참고하고 데이터는 온비드 공식 API 사용.

SURF-033추가 데이터·운영결정 필요PA_DETAIL_FILEPAGE/pa/paView.php?cltrNo=:legacyId&free=:flagGET
AS
OBSERVED_AUTH_BASELINEDOOIN-025ACCESS_RESTRICTED

공매 상세 진입. 공식 온비드 식별자와 독립 public_id 매핑.

SURF-034추가 데이터·운영결정 필요PA_DETAIL_FILEVIEWER/pa/paFile.phpGET
AS
OBSERVED_AUTH_BASELINEDOOIN-026ACCESS_RESTRICTED

공매 파일·첨부 경계.

SURF-035추가 데이터·운영결정 필요MAP_SEARCHPAGE/kko/GET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-021CLOSED

비로그인 경계와 인증 지도검색 상태를 분리 관찰.

SURF-036추가 데이터·운영결정 필요MAP_SEARCHACTION/kko/kkoXY.php?xc=:x&yc=:y&sangho=:nameGET
S
DISCOVERED_SCRIPTDOOIN-021CLOSED

법원·시설 좌표 길찾기 링크.

SURF-037추가 데이터·운영결정 필요BOARDPAGE/board/boList.php?board_id=:boardGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-027DOOIN-028DOOIN-029DOOIN-030DOOIN-031DOOIN-032CLOSED

notice·faq·column·loan·policy·news 6종 목록.

SURF-038추가 데이터·운영결정 필요BOARDPAGE/board/boView.php?board_id=:board&idx=:idGET
AS
SOFT_EMPTY_CURRENTHTTP 200DOOIN-063PLATFORM_REMEDIATION

상세 식별자 누락에도 200 빈 셸. 새 구현은 잘못된 ID를 404로 처리.

SURF-039추가 데이터·운영결정 필요BOARDACTION/board/boWrite.php?board_id=:boardGET
SH
BROKEN_CURRENTHTTP 404DOOIN-063BROKEN_SOURCE

공개 JS가 연결하지만 현재 404. 작성·수정·첨부 권한을 자체 CMS로 재구현.

SURF-040추가 데이터·운영결정 필요BOARDXHR/board/res/Board.phplistPOST
S
DISCOVERED_SCRIPTDOOIN-027DOOIN-028DOOIN-029DOOIN-030DOOIN-031DOOIN-032DOOIN-065CLOSED

mode=list, board_id, pageNo, dataSize, pageSize, 검색어로 목록을 반환.

SURF-041추가 데이터·운영결정 필요STUDY_UTILITYPAGE/study/terms.phpGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-033CLOSED

용어 분류·검색·페이지.

SURF-042추가 데이터·운영결정 필요STUDY_UTILITYPAGE/study/auct_process.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-034CLOSED

경매절차 안내.

SURF-043추가 데이터·운영결정 필요STUDY_UTILITYPAGE/study/docu_auct.phpGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-035DOOIN-038DOOIN-039CLOSED

서식 분류와 다운로드 진입.

SURF-044추가 데이터·운영결정 필요STUDY_UTILITYPAGE/study/auct_faq.phpGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-036DOOIN-037CLOSED

절차·권리분석·배당·임대차 FAQ 목록.

SURF-045추가 데이터·운영결정 필요STUDY_UTILITYPAGE/study/auct_faq_view.php?id_num=:id&txtSrch=:query&pageNo=:pageGET
AS
SOFT_EMPTY_CURRENTHTTP 200DOOIN-037PLATFORM_REMEDIATION

식별자 누락 시 200 빈 셸. 정식 상세는 slug와 404 계약 사용.

SURF-046추가 데이터·운영결정 필요STUDY_UTILITYXHR/study/res/Study.phpterms|faq|docuPOST
S
DISCOVERED_SCRIPTDOOIN-033DOOIN-035DOOIN-036DOOIN-065CLOSED

mode=terms|faq|docu 읽기 transport.

SURF-047추가 데이터·운영결정 필요STUDY_UTILITYDOWNLOAD/res/download.php?mode=docu_form&ctNo=:category&file_name=:nameGET
AS
ROBOTS_NOT_FETCHEDDOOIN-038ACCESS_RESTRICTED

DOC/HWP 서식 다운로드. 권리·MIME·파일명·해시 검증 필요.

SURF-048추가 데이터·운영결정 필요STUDY_UTILITYVIEWER/api/pdf/web/pdf.php?file=:fileGET
ASH
OBSERVED_CURRENTHTTP 200DOOIN-039DESTRUCTIVE_NOT_EXECUTED

PDF 웹뷰어는 무파일 GET 200. 실제 파일 렌더·인쇄는 제이옥션 E2E 대상.

SURF-049추가 데이터·운영결정 필요STUDY_UTILITYPAGE/etc/crt_list.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-040CLOSED

법원 목록·상세·지도 진입.

SURF-050추가 데이터·운영결정 필요STUDY_UTILITYPAGE/etc/dong_list.phpGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-041CLOSED

지역 종속 주민센터 안내.

SURF-051추가 데이터·운영결정 필요STUDY_UTILITYPAGE/etc/relation_site.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-042PLATFORM_REMEDIATION

94개 외부 URL·91개 호스트. HTTPS·allowlist·마지막 점검시각 필요.

SURF-052추가 데이터·운영결정 필요STUDY_UTILITYXHR/etc/res/bugaSrv.phpmode=3POST
S
DISCOVERED_SCRIPTDOOIN-041DOOIN-065CLOSED

mode=3, sicd, gucd 주민센터 종속 응답.

SURF-053추가 데이터·운영결정 필요MEMBER_PAYMENTPAGE/member/agree.phpGET
HAS
OBSERVED_CURRENTHTTP 200DOOIN-043DOOIN-061DESTRUCTIVE_NOT_EXECUTED

가입 약관과 인증 진입. 실제 가입은 외부 사이트에서 실행하지 않음.

SURF-054현 데이터로 우선 보강MEMBER_PAYMENTPAGE/member/mypage.phpGET
HA
OBSERVED_AUTH_BASELINEHTTP 200DOOIN-044CLOSED

비로그인 200 공용 셸과 인증 회원 허브 상태를 분리.

SURF-055현재 구현MEMBER_PAYMENTPAGE/member/intrList.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-045DESTRUCTIVE_NOT_EXECUTED

관심물건 화면 확인. 추가·삭제·알림 CRUD는 자체 E2E 필요.

SURF-056현 데이터로 우선 보강MEMBER_PAYMENTPAGE/member/favorSearchList.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-046DESTRUCTIVE_NOT_EXECUTED

저장검색 목록·재검색 화면.

SURF-057현 데이터로 우선 보강MEMBER_PAYMENTXHR/member/res/favorSearch.phpfv_list|fv_list_by_idx|fv_update_countPOST
S
ROBOTS_NOT_FETCHEDDOOIN-046DOOIN-065DESTRUCTIVE_NOT_EXECUTED

fv_list·fv_list_by_idx·fv_update_count 저장검색 transport.

SURF-058현 데이터로 우선 보강MEMBER_PAYMENTPAGE/member/rsntList.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-047DESTRUCTIVE_NOT_EXECUTED

최근 열람 목록. 보존·삭제 E2E 필요.

SURF-059현 데이터로 우선 보강MEMBER_PAYMENTPAGE/member/calendar.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-048DESTRUCTIVE_NOT_EXECUTED

나의 입찰달력. 등록·변경·삭제 E2E 필요.

SURF-060추가 데이터·운영결정 필요MEMBER_PAYMENTPAGE/member/pay_guide.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-049DOOIN-050CLOSED

이용권 상품 안내와 결제 진입.

SURF-061추가 데이터·운영결정 필요MEMBER_PAYMENTPAGE/member/pay.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-050DESTRUCTIVE_NOT_EXECUTED

결제 시작 화면. PG 승인·웹훅은 외부 조사에서 실행하지 않음.

SURF-062추가 데이터·운영결정 필요MEMBER_PAYMENTPAGE/member/pay_history.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-051DESTRUCTIVE_NOT_EXECUTED

결제내역·취소·환불 상태 화면. 개인값 미보존.

SURF-063추가 데이터·운영결정 필요MEMBER_PAYMENTPAGE/member/cpnList.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-052DESTRUCTIVE_NOT_EXECUTED

쿠폰 사용 가능·사용·만료 상태 화면.

SURF-064현재 구현MEMBER_PAYMENTPAGE/member/modifyProfile.phpGET
A
OBSERVED_AUTH_BASELINEDOOIN-053DESTRUCTIVE_NOT_EXECUTED

프로필·연락처·비밀번호·수신동의 변경 폼. 실제 개인값 미변경.

SURF-065추가 데이터·운영결정 필요MEMBER_PAYMENTACTION/member/leave.phpGET
S
ROBOTS_NOT_FETCHEDDOOIN-062DESTRUCTIVE_NOT_EXECUTED

회원탈퇴·세션회수·보존정책 계약. 외부 사이트에서 실행하지 않음.

SURF-066추가 데이터·운영결정 필요MEMBER_PAYMENTACTION/member/res/mobileChk.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-061DESTRUCTIVE_NOT_EXECUTED

휴대전화 인증코드 발급·확인 transport.

SURF-067현재 구현MEMBER_PAYMENTACTION/res/auth/logIn.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-058DESTRUCTIVE_NOT_EXECUTED

로그인 폼 transport. 비밀번호·세션 값은 조사 산출물에 저장하지 않음.

SURF-068현재 구현MEMBER_PAYMENTACTION/res/auth/logOut.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-059DESTRUCTIVE_NOT_EXECUTED

로그아웃·브라우저 상태 초기화 transport.

SURF-069추가 데이터·운영결정 필요MEMBER_PAYMENTACTION/res/auth/findPwd.phpPOST
S
ROBOTS_NOT_FETCHEDDOOIN-060DESTRUCTIVE_NOT_EXECUTED

아이디·비밀번호 복구 모달 transport. 계정 존재 여부 비노출 필요.

SURF-070현 데이터로 우선 보강HELPPAGE/help/siteMap.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-054CLOSED

전체 서비스 인덱스.

SURF-071추가 데이터·운영결정 필요HELPPOLICY/help/service_guide.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-055CLOSED

이용약관·서비스 안내.

SURF-072추가 데이터·운영결정 필요HELPPOLICY/help/privacy_guide.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-056CLOSED

개인정보 처리방침.

SURF-073현 데이터로 우선 보강HELPPOLICY/help/email_scraprefuse.phpGET
HA
OBSERVED_CURRENTHTTP 200DOOIN-057CLOSED

이메일 무단수집 거부.

SURF-074추가 데이터·운영결정 필요PLATFORMXHR/res/common.phpadrsStep|dptDataArrPOST
S
ROBOTS_NOT_FETCHEDDOOIN-006DOOIN-007DOOIN-065ACCESS_RESTRICTED

reqCase=adrsStep 및 dptDataArr 공통 종속선택 응답.

SURF-075현 데이터로 우선 보강PLATFORMXHR/res/header/getConfig.phpGET
S
ROBOTS_NOT_FETCHEDDOOIN-064DOOIN-065ACCESS_RESTRICTED

헤더·로그인 상태 설정 응답. 제이옥션은 서버 세션 DTO로 대체.

사용자 흐름 단위 구현 계약

흐름전수조사 범위제이옥션 API예정 검증·인수조건
홈 데이터day_schedule·week_schedule·newItem·stats·samples·comments·notice·newsGET /api/v1/home/modules?include=…모듈별 실패 격리·마지막 갱신·빈 상태
검색 프리셋custom·newToday·seoulApt4·seoulApt10·house2·half·over9·factory·special·over1yearGET /api/v1/curations/:slug허용 slug·동일 조건 총건수 대조
종합검색법원·주소·역·차량·관계인·특수조건·가격·면적·기일 조합GET /api/v1/search/options|facets|lots고정 조합 50개 total·facet·정렬·cursor 대조
목록 작업저장·불러오기·초기화·선택보기·인쇄·엑셀·20/30/50/100·표/카드saved-searches·compare-sets·print-jobs·export-jobs회원격리·행 일치·파일 만료·모바일 상태복원
상세 핵심사건·물건·가격·기일·현황·권리·임차·사진문서·지도GET /api/v1/lots/:publicId/detail법원 100건 표본과 출처·조회시각·상태 전이 대조
상세 탭기본·기일·현황·감정·송달·등기·임차·배당·실거래·인근 진행/매각/공매 등 16개detail-projection-v4 하위 리소스ready·pending·restricted·failed 상태를 탭별 검증
상세 행동관심·메모·댓글·업로드·인쇄·공유favorites·memos·comments·uploads·print·share권한·감사·악성파일·만료·공유 공개범위
지도bbox·cluster·현재영역·목록동기화·상세팝업·길찾기·역거리GET /api/v1/lots/map 및 /nearby좌표 골든셋·거리오차·320~1440px 조작
회원가입·로그인·복구·세션·관심·저장검색·최근·달력·프로필·탈퇴/api/v1/auth/* 및 /api/v1/me/*2회원 격리·CSRF·재인증·세션회수·보존정책
결제상품·주문·승인·웹훅·이용권·쿠폰·취소·환불/api/v1/products|orders|payments|entitlementsPG sandbox 성공·실패·중복웹훅·환불 원장 대조
콘텐츠공지·FAQ·칼럼·대출·정책·뉴스·용어·절차·서식/api/v1/content/* 및 /resources/*CMS 역할·개정·출처·HTML 정화·철회
파일사진·PDF·HWP/DOC·인쇄·엑셀·직접 URL/api/v1/lots/:id/assets 및 /files/:idMIME·SHA-256·권리등급·경로순회·깨짐·만료

제품 적용 우선순위

우선순위범위완료해야 할 제품 기능
P0검색·결과·상세·회원·상담live options/facets, 조건칩·예상건수, 표/카드·선택비교·관심·저장·인쇄·엑셀, full member detail, 저장검색·개인달력, 상담 자동연결
P1탐색 확장·자료신건·예정·역세권·차량·통계, 사진·문서 권리 뷰어, 지도 공개게이트, 온비드 물건, 공지·FAQ·칼럼·용어·서식 CMS
P2상용 운영상품·주문·이용권·쿠폰·환불·영수증, 전문가 작성 workflow, 주민센터·관련사이트 운영 점검
금지복제 제외이해관계인 이름 직접검색, 두인 legacy PHP transport·식별자·문구·운영 데이터
TECHNICAL BASELINE

복제하지 않을 원본 결함

대표호스트

http 두 호스트는 HTTPS로 이동하지만 https apex와 www가 각각 200

새 구현호스트 하나를 정하고 반대편은 경로·쿼리를 보존해 301
중복 홈

/와 /index.php가 같은 본문을 200으로 제공하고 canonical이 없음

새 구현/index.php 301 및 모든 공개 페이지 canonical
오류 계약

boWrite 404, 식별자 없는 boView·FAQ 상세는 200 빈 셸

새 구현없는 경로·식별자는 404, 잘못된 입력은 400, 권한은 401/403
세션 쿠키

익명 HTML에도 세션 쿠키를 발급하며 Secure·HttpOnly·SameSite가 관찰되지 않음

새 구현필요 시에만 세션 발급하고 Secure·HttpOnly·SameSite=Lax/Strict
보안 헤더

HSTS·CSP·X-Frame-Options·nosniff·Referrer/Permissions-Policy 미관찰

새 구현edge와 앱 공통 보안헤더 계약 및 회귀검사
소스맵

production JS 22개와 대응 source map 22개가 모두 공개

새 구현production source map 비배포 또는 인증된 오류수집 전용
푸터 정보

회사소개·오시는길이 모두 홈으로 연결

새 구현회사·연락·위치 정보를 독립 콘텐츠 라우트로 제공
외부 링크

관련사이트 94개 URL·91개 호스트 중 구형 http가 다수

새 구현HTTPS allowlist·최근 점검시각·깨진 링크 자동검사
CLASSIFIED GAPS

미분류 없이 남긴 위험

ACCESS_RESTRICTED

robots가 차단한 /ca·/pa·/member·/res 내부 표면

처리승인 세션 기준선과 스크립트 계약을 사용하고 운영 자동수집은 금지
DESTRUCTIVE_NOT_EXECUTED

결제·환불·탈퇴·프로필 변경·게시글 작성·파일 업로드

처리외부 사이트에서 실행하지 않고 제이옥션 sandbox/E2E 종료조건으로 이동
BROKEN_SOURCE

/board/boWrite.php 현재 404

처리원본 오류를 복제하지 않고 독립 CMS·정상 오류 계약으로 구현
PLATFORM_REMEDIATION

canonical·sitemap·기술파일·보안헤더·쿠키·source map

처리P7 출시 게이트에서 자동 검증

43 PREREQUISITES · RE-AUDITED 2026-07-17

“데이터·권한 선행 43개”를 실제 실행 가능성으로 다시 분해

43개가 모두 구현 불가라는 뜻이 아닙니다. 실행 원천 기준 11·17·15와 최종 완성 권한 기준 5·23·14·1을 분리했습니다. 기존 AuctionHub에 이미 있는 데이터와 새로 받아야 하는 자료, 회사가 승인할 정책, 파일별 권리 확인을 서로 섞지 않습니다.
실행 원천수계약 ID처리 방식
현 자산 재사용 후보11DOOIN-006·007·009·017·021·022·024(metadata)·040·042·055·056기존 AuctionHub·D1·정적 자산을 재사용할 수 있으나 제품 연결 완료를 의미하지 않음
자체 콘텐츠·정책 승인17DOOIN-015·027~039·043·049·063CMS·버전 원장은 구현 가능, 내용·가격·저자·법률 승인 필요
신규 공식자료·외부계약15DOOIN-008·012·013·016·019·020·025·026·041·050·051·052·060·061·062새 공식 master·자체 이벤트·PG/SMS/보존정책 필요
5현재 기반으로 구현 가능
23공식·공공자료 연결로 구현 가능
14사업자·외부계약 승인 필요
1권리·개인정보 확인 전 보류
전수대조43 / 43

중복 0 · 누락 0

기존 내부 구현1

지도 owner shadow · 공개 지도는 404

스키마·계약 기반7

실서비스 연결·승인 완료를 뜻하지 않음

아직 미완료35

구현 대기 26 · 외부 승인 8 · 보류 1

결제 공개·checkout은 OFF이며, 두인 회원의 결제·쿠폰·환불 이력 반입은 0건입니다.

43개 항목별 데이터·권한·실행 판정

“스키마·계약 기반 준비”는 실결제·법률 승인·서비스 연결·공개 활성화를 뜻하지 않음
ID기능가능성 판정현재 증거Codex 처리·구현남은 게이트
DOOIN-006구현 대기열 확정법원별검색공식·공공자료 연결로 구현 가능/courts와 정적 법원 목록은 존재하지만 담당계·폐지/통합 이력이 부족법원·지원·담당계 정본과 계층 API 연결공식 법원 코드 기준일 대사
DOOIN-007구현 대기열 확정소재지검색공식·공공자료 연결로 구현 가능AuctionHub address_sido/address_sigungu와 현 검색 입력은 동작읍면동 계층·개편 별칭 master와 facet 연결행정구역 개편 정본 추가
DOOIN-008구현 대기열 확정역세권검색공식·공공자료 연결로 구현 가능지도 좌표 기반은 있으나 노선·역 master가 없음공식 철도역·노선·환승 좌표를 PUBLIC projection에 연결공식 역 master 수집·개정주기
DOOIN-009구현 대기열 확정차량·장비검색공식·공공자료 연결로 구현 가능vehicle_general 실조회와 maker/year/fuel/mileage 상세 계약 존재차량 전용 projection·제조사/모델 facet 연결차종·모델 정규화 master
DOOIN-012구현 대기열 확정신건검색공식·공공자료 연결로 구현 가능source first_seen_at은 있으나 법원 최초공고일과 분리되지 않음최초공고일·최초수집일 이중 원장과 검색조건 추가법원 공식 공고일 필드 확보
DOOIN-013구현 대기열 확정날짜별 신건공식·공공자료 연결로 구현 가능일별 최초공고 snapshot API 없음고정 revision 일별 신건 snapshot과 대사 API 구축DOOIN-012 정본 선행
DOOIN-015외부 승인 대기전문가 코멘트사업자·외부계약 승인 필요전문가 계정·저자 승인 workflow 없음작성·개정·철회·감사 가능한 CMS 계약 준비전문가 지정·원고·게시 승인
DOOIN-016구현 대기열 확정조회수 랭킹현재 기반으로 구현 가능자체 조회 event·봇 제외 집계가 아직 없음일·주·월 조회 이벤트와 bounded 랭킹 집계 구축운영 트래픽 관측 후 봇 기준 조정
DOOIN-017구현 대기열 확정매각통계공식·공공자료 연결로 구현 가능sale_price는 있으나 고정 revision 통계 aggregate가 없음법원·기간·용도별 낙찰가율·매각률 집계결과 누락·정정 snapshot 대사
DOOIN-019구현 대기열 확정예정물건공식·공공자료 연결로 구현 가능기일 미정·예정 stage 공개 query가 없음예정→진행 상태이력과 stage 검색 추가공식 예정상태 식별 규칙
DOOIN-020구현 대기열 확정공매 물건검색공식·공공자료 연결로 구현 가능온비드 용도코드 292개와 adapter는 있으나 lotSearch는 NOT_CONNECTED온비드 물건목록 증분 동기화와 식별자 대사공공데이터포털 물건 API 승인·호출 대사
DOOIN-021기존 구현지도검색현재 기반으로 구현 가능M5_READY 코드와 owner-only /admin/map-shadow, PUBLIC v2 BFF가 구현됨동일좌표·마커·상세전환 회귀 유지ground-truth 승인·migration 144·168시간 Shadow 전 공개 금지
DOOIN-022구현 대기열 확정법원경매 전체 상세공식·공공자료 연결로 구현 가능AuctionHub rights/tenants/documents/images/market 계약과 allowlist는 있으나 회원 BFF는 summary만 제공public_id/runtime 수렴 후 회원 full-detail projection 연결운영 public_id 복원·권리/개인정보 공개등급
DOOIN-024보류법원 사진·문서권리·개인정보 확인 전 보류metadata·권리 guard는 있으나 원본 content route는 410이고 파일별 권리가 혼재공식 원문 링크·MIME·해시·출처 metadata부터 제공제3자 저작권·개인정보 파일별 승인 전 저장·재배포 금지
DOOIN-025구현 대기열 확정공매 상세공식·공공자료 연결로 구현 가능공매 상세 endpoint가 아직 없음온비드 public_id와 상세 projection 구축온비드 상세 API 연결
DOOIN-026구현 대기열 확정공매 사진·첨부공식·공공자료 연결로 구현 가능첨부 endpoint·만료 URL 대체가 없음첨부 metadata·권리·만료 URL BFF 구축공식 첨부 이용조건·MIME 대사
DOOIN-027구현 대기열 확정공지현재 기반으로 구현 가능owner-only 관리자 인증은 있으나 공지 CMS가 없음plain-text 기반 공지 CRUD·개정이력·예약게시 구축초기 공지문 승인
DOOIN-028외부 승인 대기FAQ사업자·외부계약 승인 필요서비스 답변 정본이 없음공지 CMS와 같은 안전한 콘텐츠 원장 사용회사 승인 FAQ 문답
DOOIN-029외부 승인 대기전문가 칼럼사업자·외부계약 승인 필요저자·원고·이미지 권리 자료가 없음저자·출처·개정이력 CMS 계약 준비저자 계약·원고·이미지 이용권
DOOIN-030외부 승인 대기대출규정사업자·외부계약 승인 필요금융정보 운영범위와 검토 책임자가 미정공식 금융기관 원출처·기준일 모델 준비전문가·법률 검토와 운영범위 승인
DOOIN-031구현 대기열 확정부동산정책공식·공공자료 연결로 구현 가능정책 콘텐츠 route가 없음정부 보도자료만 canonical·발표일·적용일과 수집공식 출처 allowlist
DOOIN-032구현 대기열 확정부동산소식공식·공공자료 연결로 구현 가능공식소식 수집·CMS가 없음공공기관 보도자료 요약·원문 링크 feed 구축기관별 수집주기·정정 대사
DOOIN-033구현 대기열 확정경매용어공식·공공자료 연결로 구현 가능용어 resource API가 없음법원·법령 기반 용어·동의어·초성 색인 구축용어 원출처·개정일 정본
DOOIN-034구현 대기열 확정경매절차공식·공공자료 연결로 구현 가능컨설팅 절차만 있고 경매 절차 정본이 없음법원 공식 절차를 자사 설명으로 구조화법령·법원 출처 기준일
DOOIN-035구현 대기열 확정관련서식공식·공공자료 연결로 구현 가능resource/file 원장이 없음공식 공개서식 metadata·MIME·개정일·출처 원장 구축파일별 자유이용·개인정보 등급
DOOIN-036구현 대기열 확정경매지식공식·공공자료 연결로 구현 가능지식 콘텐츠 route가 없음공식 원문 기반 자체 요약 CMS 구축출처·저자·개정 이력
DOOIN-037구현 대기열 확정경매지식 상세공식·공공자료 연결로 구현 가능canonical slug 상세 route가 없음DOOIN-036의 SSR 상세·이전판·canonical 구현DOOIN-036 콘텐츠 선행
DOOIN-038구현 대기열 확정자료 다운로드공식·공공자료 연결로 구현 가능승인 파일 저장소·스트리밍 route가 없음공개등급·MIME·SHA-256·Content-Disposition BFF 구축승인 파일과 R2/외부 저장소 결정
DOOIN-039구현 대기열 확정PDF 열람·인쇄공식·공공자료 연결로 구현 가능승인 PDF viewer가 없음동일출처 안전 header viewer·인쇄 CSS 구축DOOIN-038 승인 PDF 선행
DOOIN-040구현 대기열 확정법원안내공식·공공자료 연결로 구현 가능/courts 기본 페이지와 사건 court/department 필드는 존재위치·연락처·담당계·폐지 이력을 정본 API로 보강운영 /api/v1/courts 410 수렴
DOOIN-041구현 대기열 확정주민센터안내공식·공공자료 연결로 구현 가능행정기관 주소·연락처 데이터가 없음공식 행정기관 master와 기준일 검색 구축공식 기관 데이터 연결
DOOIN-042스키마·계약 기반 준비유용한 사이트현재 기반으로 구현 가능공식기관 HTTPS allowlist가 제품에 반영됨/resources/links와 footer·sitemap 연결 완료주기적 링크 상태점검
DOOIN-043스키마·계약 기반 준비버전형 약관동의사업자·외부계약 승인 필요terms/privacy/marketing 표시 정본·UTF-8 hash·독립 marketing 본문과 최신상태/철회시각을 추가했지만 문서는 DRAFTDB APPROVED·published/effective 증거와 코드 정본이 모두 일치해야 가입·SMS를 여는 이중 fail-closed 구현검토본을 APPROVED로 바꿀 법률·사업 승인
DOOIN-049스키마·계약 기반 준비상품·결제안내사업자·외부계약 승인 필요공개 checkout·주문 route·PG adapter는 없지만 ACTIVE 상품·APPROVED 가격·금액·통화·VAT 대사를 TS와 D1 trigger로 강제승인 가격표와 DRAFT 주문 원장 기반 준비상품명·기간·가격·VAT·자동갱신·환불정책
DOOIN-050스키마·계약 기반 준비이용권 구매사업자·외부계약 승인 필요billing_orders/payment_events에 DRAFT insert·허용 상태전이·provider event 멱등과 VERIFIED 금액 대사를 D1 trigger로 추가provider-neutral fail-closed 기반만 준비; checkout·webhook 서비스는 미연결PG 계약·MID·API/webhook secret·정산계좌
DOOIN-051스키마·계약 기반 준비결제관리·이력사업자·외부계약 승인 필요검증 이벤트와 provider reference 없이는 PAID가 될 수 없고 PAID+VERIFIED 없이는 ACTIVE 이용권을 만들 수 없게 DB에서 차단주문·웹훅·환불·영수증 서비스와 실제 결제사 조회는 구현 대기실거래·환불권한·영수증/정산 API
DOOIN-052스키마·계약 기반 준비쿠폰사업자·외부계약 승인 필요쿠폰·사용·취소복원·만료 제약 스키마 추가코드 원문 대신 hash·회원/주문 격리 기반 준비할인액·대상·발급량·중복·복원 정책
DOOIN-055외부 승인 대기이용약관사업자·외부계약 승인 필요검토본/noindex이며 DRAFT_REVIEW_REQUIRED로 고정버전 metadata API와 가입 동의 원장 연결요금·환불·책임·시행일 법률 승인
DOOIN-056외부 승인 대기개인정보처리방침사업자·외부계약 승인 필요검토본/noindex이며 실제 위탁사·보유기간이 미정버전 metadata API와 가입 동의 원장 연결처리위탁·국외이전·보유기간·시행일 승인
DOOIN-060외부 승인 대기계정복구사업자·외부계약 승인 필요DirectSend 번호소유 OTP adapter 코드는 있으나 계정복구 route·fixed egress·live 발송 증거는 없음존재여부 동일응답·일회토큰·TTL 원장과 목적별 live gate 준비고정 egress/IP 등록·발신번호·수신정책·전송결과 대사
DOOIN-061외부 승인 대기휴대전화 본인확인사업자·외부계약 승인 필요번호소유 SMS OTP는 기반 코드일 뿐 NICE/PASS 실명 본인확인·CI/DI가 아님nonce·callback·최소 hash 원장 설계; raw CI/DI 저장 금지본인확인 계약·channel/store/API secret
DOOIN-062스키마·계약 기반 준비회원탈퇴사업자·외부계약 승인 필요재인증·세션회수·비식별 종료원장 route를 fail-closed로 추가정책 환경변수 없으면 503, 결제이력 계정은 409로 보존 검토법정보존·재가입·유예기간 정책 승인
DOOIN-063구현 대기열 확정콘텐츠 상세·작성현재 기반으로 구현 가능owner-only 관리자 인증과 인트라넷 기반은 있으나 통합 CMS가 없음plain-text/structured body CRUD·개정이력·예약게시·철회 원장 구축초기 작성자 역할·게시 콘텐츠 승인
PAYMENT FOUNDATION

결제·본인확인 준비 상태

공통 결제 기반 · SCHEMA/CONTRACT FOUNDATION

KRW 정수·서버 가격검증·상태전이·웹훅 멱등·API 재조회 후 이용권 부여 계약과 DB 제약

남은 게이트주문·웹훅 서비스 미연결 · 공개 checkout OFF
Toss Payments · PUBLIC TEST POSSIBLE

공개 테스트환경은 실제 출금 없이 연동 가능

남은 게이트라이브는 사업자 심사·MID·라이브 키 필요
PortOne V2 · ADAPTER NOT CONNECTED

복수 PG adapter와 서명 웹훅·멱등키 계약 적용 가능

남은 게이트운영 store/channel/API/webhook secret과 실제 adapter 구현 필요
NICE/PASS 본인확인 · NOT CONNECTED

최소 request ID·인증시각·hash만 저장하는 구조 권고

남은 게이트계약·수수료·채널키 없이는 VERIFIED 생성 금지
DirectSend SMS · ADAPTER CODED · LIVE NOT VERIFIED

OTP·상담 SMS adapter, CAS·DB rate trigger·목적별 enable gate

남은 게이트fixed egress/IP·발신번호·보유기간·delivery callback 대사 전 live OFF
USER AUTHORITY ONLY

사용자·사업자만 확정할 수 있는 항목

승인 필요

이용권 이름·기간·가격·VAT·자동갱신·무료체험 확정

승인 필요

환불·부분환불·청약철회·쿠폰 복원 정책 승인

승인 필요

PG 사업자 신청·KYC·정산계좌·수수료·정산주기 동의

승인 필요

운영 MID·API key·webhook secret 발급

승인 필요

최종 이용약관·개인정보처리방침·시행일 법률 승인

실존 데이터와 런타임 연결 증거

증거면기준실측제약
공공 보강 원장2026-07-17 CT104address 115,937 · building 719,870 · K-apt 22,204 · RTMS 7,448,634 · VWorld NED 5,581,981latest summary refresh 2026-07-01 · 갱신 schedule 재검증 필요
권리분석2026-07-17 CT104전체 145,939 · 분석 113,141(77.53%) · 등기 32,398 · 임차 51,532 · 문서 112,711ready 8,355 · needs_review 23,987 · insufficient 80,799 · 물건별 가변 표시
상세 v3 표본LOT-0A83A…52,750 bytes · schema 2026-07-05.v3.11 · 사진 26 · 실거래 12 · evidence 1임차/등기 0 표본이므로 빈 섹션 숨김 필수
현 검색 masterAuctionHub 내부courts 68 · regions 71 · sigungu 300 · taxonomy 11 · status 14Sites adapter key shape·cache lock 불일치 수정 선행
우선순위현재 결함완료 기준
P0 PUBLIC_IDcanonical source는 public_id 반환 코드가 있으나 live list는 id/public_id 누락고정 100건 list→detail→v3→media metadata public_id 100%·revision/hash 일치
P0 SEARCHlive options/facets 500 교차, courts/detail/media 410actual upstream fixture shape·SWR/lock·50 동시호출 5xx 0
P0 DETAIL회원 route는 member_summary만 반환public_id 수렴 뒤 v3 allowlist full detail, PNU·원좌표·storage key 0
P1 FILE사진·문서 metadata는 있으나 content route 410·R2 미연결metadata 우선, 권리등급·MIME·magic/hash 통과 파일만 private gateway
복제·저장 금지처리 원칙
두인경매 회원의 결제·쿠폰·환불·이용권 이력제이옥션 자체 원장에는 최소 식별자·상태·금액·검증 hash만 저장
카드번호·CVC·계좌번호·웹훅 원문 payload제이옥션 자체 원장에는 최소 식별자·상태·금액·검증 hash만 저장
목적이 확정되지 않은 raw CI·DI·주민등록번호제이옥션 자체 원장에는 최소 식별자·상태·금액·검증 hash만 저장

확인 경로: 공식 사이트 모음 · 현재 법적 문서 버전 API · 공개 구매/결제 버튼은 계속 비활성

BEST-OF-BOTH PRODUCT CONTRACT

GF의 업무 밀도에 두인의 탐색·판단 흐름을 접목

외형 복사가 아니라 사용자가 실제로 찾고, 비교하고, 근거를 확인하고, 개인 작업으로 이어지는 전 과정을 새 컴포넌트와 제이옥션 전용 데이터 모델로 구현합니다.
SEARCH WORKBENCH

검색·목록 기능

진입·식별

  • 연도+사건번호 빠른검색
  • 법원·사건·물건번호 정규화
  • 조건을 URL로 보존하고 뒤로가기 복원

지역·법원

  • 시도→시군구→읍면동 3단계
  • 법원→지원→담당계 종속선택
  • 건물명·지번·도로명
  • 행정구역·법원 코드 별칭

물건·절차

  • 주거·상업·산업·토지·차량·기타 복수선택
  • 진행·미진행·종국 상태
  • 임의·강제경매
  • 매각구분·유찰회수

가격·면적·기일

  • 감정가·최저가 범위
  • 토지·건물 면적과 ㎡/평
  • 매각기일 기간
  • 신건·예정·변경·연기 구분

용도·특수조건

  • 용도지역·지구·구역
  • 권리·임차인·물건현황·형식적경매
  • 포함 하나·모두 포함·제외 연산
  • 선택조건 요약·초기화

전문검색

  • 법원별
  • 소재지
  • 역세권
  • 차량·장비
  • 기일·신건
  • 이해관계인
  • 지도 bbox

결과도구

  • 안정 정렬과 20/30/50/100건
  • 저장검색·불러오기
  • 관심·비교·인쇄·엑셀
  • 총건수와 facet 일치

공매

  • 물건번호·입찰일·처분방식
  • 자산·기관·진행상태
  • 주소·가격·종류
  • 온비드 원문 식별자·링크
DECISION EVIDENCE ROOM

상세·증거 기능

사건·물건

  • 법원·사건·물건 안정 식별
  • 소재지·용도·현황
  • 감정가·최저가·최저가율
  • 현재 상태와 마지막 확인시각

기일·결과

  • 매각기일 이력
  • 유찰·변경·연기·취하
  • 낙찰·허가·대금·배당 단계
  • 담당계와 장소

자산·감정

  • 토지·건물·제시외·차량 제원
  • 면적·지분·감정평가
  • 입지·이용상태
  • 데이터 누락 안전표시

권리·임차

  • 등기·말소기준
  • 임차인·점유·대항력
  • 특수권리·주의사항
  • 개인정보 공개등급과 마스킹

미디어·문서

  • 사진 갤러리
  • 감정·현황·매각 문서
  • MIME·해시·출처·취득시각
  • 제한 문서 403과 깨진 파일 대체

지도·주변

  • 좌표·필지
  • 지도·로드뷰
  • 교통·생활시설
  • 인근 경매물건

회원행동

  • 관심등록
  • 비교
  • 상담
  • 인쇄·공유
  • 최근열람
  • 기일변경 알림

공매상세

  • 기관·처분방식·회차
  • 입찰기간·마감상태
  • 공식 원문 링크
  • 사진·첨부 권리정책
영역GF에서 유지두인에서 접목새 통합 구현API·완료 계약
홈GF 브랜드·상담 전환과 운영 콘텐츠사건·주소·종류 빠른검색, 일정·신건·통계·테마GF 시각정체성 위에 두인의 정보밀도와 빠른 진입을 재구성GET /api/v1/home + /search/options
검색GF의 법원·지역 중심 검색 밀도법원·소재지·역세권·차량·기일·특수조건 전문검색제이옥션 단일 정규 검색계약과 URL 상태로 모든 전문검색을 투영GET /api/v1/lots + /search/facets
상세사건·물건·자산·기일·문서 원장 기반정보 섹션·파일·지도·회원행동이 풍부함안정 public_id와 공개 projection으로 섹션을 재배치GET /api/v1/lots/:id + 하위 리소스
회원·결제회원·관심·최근열람·상담 API 보강 필요관심·알림·달력·이용권·이력·혜택·프로필보안 쿠키·CSRF·멱등 결제·회원별 격리로 재구현/api/v1/member/* + orders/webhook
콘텐츠·도움말GF 운영 콘텐츠와 회사·상담 정보6개 게시판, 용어·절차·서식·안내·법적 문서통합 CMS와 버전형 법적 문서, 출처·개정일 의무화/api/v1/content/* + /resources/* + /legal/*
데이터 운영GF는 동결하는 화면·업무 참고 snapshot두인은 승인 시점에 동결하는 기능·상태 참고 snapshot법원경매는 대법원 파싱만 영구 운영하고 온비드 공매는 별도 공식 adapter로 분리Court Raw→제이옥션 TARGET_STORE→공개 projection→API

ONE CANONICAL PATH

출처 정본과 보강자료를 섞지 않는 연결 구조

한 제품·한 정규 원장 안에서 각 원천의 권한을 분리합니다. 화면은 원문을 직접 크롤링하지 않고 공개 등급을 거친 service projection만 소비합니다.
01Court discovery

대법원경매의 신건·진행·기일·결과 목록을 법원·날짜 단위 checkpoint로 탐색하고 변경 후보만 queue에 적재

02Court detail parser

사건·물건·기일·목록·현황·문서 응답을 제어된 속도와 재시도 정책으로 파싱하며 민간사이트 fallback은 호출하지 않음

03Raw evidence

대법원·공식 공공 API의 원문 JSON/text, 취득 URL/공식 ID·시각·HTTP·SHA-256·parser/contract version을 변경 없이 저장

04Identity·diff

court_code + case_year + case_serial + lot_no와 PNU·학교·단지 provider key로 오병합 없이 연결하고 실제 변경만 event로 발행

05Canonical ledger

AuctionHub PostgreSQL/PostGIS를 제이옥션 내부 canonical·projection·enrichment 실행면으로 사용하고 Court provenance가 확인된 사실만 공개 확정

06Official enrichment

주소·필지·건축물·실거래·관공서·학교·K-apt를 raw→normalized→canonical link로 보강하되 Court 사실을 덮어쓰지 않음

07Publication

PUBLIC_INDEX·MEMBER_DETAIL·ADMIN projection을 분리하고 revision·snapshot·publication scope·freshness를 원자 승격

08Internal origin·BFF

AuctionHub 내부 origin은 service auth로만 호출하고 Sites는 9개 same-origin allowlist·opaque ID·cache/LKG 계약만 소비

09Product UI

GF Auction·두인경매·경매마당에서 동결 참고한 검색·상세·지도 UX와 공공보강 12섹션을 제이옥션 projection 위에 독립 구현

10Release control

ingest→canonical→BFF→render→운영 URL을 묶고 실패 시 LKG·stale·rollback을 유지하되 민간 원천·외부 공개 runtime으로 우회하지 않음

금지PointAuction 코드·도메인·DB 연결두인·GF 운영 수집민간 원천 장애 fallback저장 DB를 사실 출처로 간주원문 없는 정규값브라우저 직접 크롤링부분실행 완료 표시

원천별 정본·보강·공개 계약

원천담당 데이터역할충돌 규칙공개 규칙
대법원경매정보신건·사건·물건번호·기일·상태·결과·공개문서법원경매 영구 운영 원천지속 파싱 허용 · 다른 경매사이트 fallback 금지출처·조회일·원문 링크·parser version 표시
온비드 물건 API공매 물건·입찰·기일·결과공식 Open API 정본법원 경매와 별도 onbid: namespace서비스별 API 약관·갱신주기·원문 링크 준수
공공데이터 15157768온비드 용도코드·등록주소일간 reference master 후보물건·좌표·PNU 정본으로 승격 금지출처·조회시각·snapshot·stale 표시
공공데이터 151210302023-12-31 온비드 용도코드 388행REFERENCE_BOOTSTRAP일간 운영정본이 아닌 초기적재·회귀·코드 LKG기준일·파일/API 원문·hash 표시
두인경매검색·목록·상세·회원 UXREFERENCE_SNAPSHOT개발 중 수동 참고만 · 운영수집/자동로그인/신규 write 금지기능 계약 승인 후 snapshot 동결
경매마당지도 marker·동일 위치 sheet·상세 전환·filter/display·모바일 UXREFERENCE_SNAPSHOT2026-07-16 동결 조사만 사용 · API·좌표·코드·이미지·운영수집·canonical write 금지MAP UX PARITY 계약·회귀 기준으로만 사용
GF Auction화면·업무 흐름REFERENCE_SNAPSHOT수동 기능 참고만 · 운영수집/자동로그인/신규 write 금지기능 계약 승인 후 snapshot 동결
AuctionHub PostgreSQL/PostGIS사건·물건·기일·문서·canonical·검색/상세/지도 projectionJAUCTION INTERNAL DATA PLANECourt·공식 API의 사실 권위를 대체하지 않고 브라우저 직접 접근 금지service auth 내부 origin→제이옥션 same-origin allowlist만 공개
공식 공공 보강 API주소·PNU·필지·건축물·공시가격·토지이용·실거래·관공서·학교·K-aptOFFICIAL_ENRICHMENT사건 안정키와 provider key를 분리하고 raw→normalized→canonical 계보 필수제공기관·조회시각·hash·contract version·freshness·unavailable reason 표시
기존 민간 evidence과거 관리비·배당·문서 후보FROZEN_REFERENCE_EVIDENCE권리·출처·취득시각이 증명된 동결자료만 허용 · 신규 write/required/fallback 금지공식 원천과 구분하고 source sunset 원장에 기록
운영자 검토충돌 해소·예외 승인·수정수동 override원문 삭제 없이 버전·사유·승인자 기록감사로그·롤백 필수
LIVE RUNTIME GAP

운영 연결 차단 항목

확정

프로젝트 루트

C:\Users\Work\Documents\제이옥션 독립 Git 저장소

종료 조건제품 코드 import·런타임 URL·DB·브랜드 의존 0건 검사 · 정책/증거 문서의 명시적 언급은 제외
MVP+OWNER 기능 구현

웹 앱

비-API 화면 38개: 사용자·공개 19, 회원 5, 관리자 8, 내부 검수 6

종료 조건route별 공개·인증·noindex·실데이터·반응형·접근성 검증
실행 중

Court 생산자

세션 019eea6e…의 /nvme-scratch/work/jauction에서 20분 master·writer·projection·복구가 가동; 2026-07-17 20:30 master 74,752행·마지막 관찰 21.97분

종료 조건서비스를 재시작하지 않고 versioned outbox·watermark로 제이옥션 소비자 연결
코드 구현 · authoritative 출시 차단

Court 소비자

8종 event 검증·service-auth feed·D1 inbox/cursor/DLQ·bounded drain·서명 cursor·고정 판본 검색/상세·alias 301·withdrawn 410 구현

종료 조건운영 producer 실증거·DLQ 0·전체 bootstrap·replay 실행기·projection outbox 전달·달력/facet/법원·9개 보강 E2E
UPSTREAM VERIFIED · PRODUCT PENDING

Canonical enrichment

관리비·관공서·비교사례·배당 4개와 건축물·토지·학군·학교·통합요약 5개 상위 route가 운영 검증됨

종료 조건제이옥션 service auth·9개 same-origin BFF·PUBLIC/MEMBER allowlist·실 lot 100건 E2E
출시 차단

Freshness source debt

20:30 guard는 status=ok/findings0/warnings0이지만 GF required=true와 두인 watch active·일부 민간 staging이 유지

종료 조건정상 freshness와 source-policy 적합성을 분리하고 민간 required/new write/fallback/outbound 0 증명
부분자료

문서 availability

PDF 178건 canonical·본문/구조화, 인증 후속 1,076건 queue, 법원 매각명세서 8,862건 source pending

종료 조건다른 물건 문서 대체 0 · source_pending/source_unavailable·재가용 감시
UPSTREAM VERIFIED

공공 API 운영

15개 timer·5분 contract guard·승인 image 자가복구가 외부 실행면에서 검증됨

종료 조건connector result·watermark·DB/API freshness·source/image SHA를 제이옥션 release ledger에 병합
LIVE REFERENCE · LOT PENDING

온비드 어댑터

15121030 fallback 388행과 15157768 일간 master 첫 정상판 420행·Sites secret rev 2 연결

종료 조건Proxmox 일간 runner·versioned store와 목록/입찰/결과 API 별도 E2E
출시 차단

Sites data bridge

AuctionHub 실행면은 존재하지만 현재 Sites의 9개 enrichment BFF와 상세 consumer는 미접목

종료 조건schema bridge·service identity·fixed egress·same-origin BFF·cache/LKG·실데이터 E2E
PUBLIC_GO_LIVE 대기

공개 도메인

사용자 제공 소유정보 기준 jauc.co.kr 선택, 현재 검수판은 Sites 소유자 전용

종료 조건Codex가 DNS·TLS·canonical·sitemap을 구성하고 전체 공개 전환만 1회 승인
계약 확정

민간 의존 제거

두인·GF connector·세션·스케줄·fallback을 설계에서 제외

종료 조건C2 source sunset 이후 새 기준선으로 30일 Court-only 운영과 outbound 0건; 과거 1일은 산입하지 않고 현재 0/30 대기
RESPONSIVE & ACCESSIBILITY

반응형 조사와 수정 계약

QA

홈 390px

검색·바로가기·일정·추천 정보가 짧은 폭에서 연속 배치된다.

수정 계약상단 행동과 핵심 검색의 우선순위가 흐려지고 긴 페이지가 된다. → 한 줄 글로벌 검색, 접이식 상세조건, 2열 바로가기, 단계적 홈 섹션으로 재구성
QA

종합검색 390px

다열 필터와 넓은 결과표를 그대로 축소하기 어렵다.

수정 계약가로 넘침, 작은 조작영역, 조건·결과 맥락 상실 위험이 크다. → 필터 드로어+선택조건 칩+카드 목록으로 전환하고 표는 768px 이상에서 제공
QA

물건상세 390px

다수 정보 섹션·사진·문서·지도·회원 행동이 한 화면 흐름에 모인다.

수정 계약고정 버튼과 탭이 본문을 가리거나 권리·기일 핵심정보가 멀어질 수 있다. → 가격·기일 요약과 하단 핵심행동을 고정하고 섹션 내비·문서 뷰를 분리

KAKAO M0–M3 AUDITED · PRIVATE SHADOW DEPLOYED

카카오맵 구현·검수 결과를 반영했고
공개 지도검색은 계속 닫아 둡니다

M2A provider 실증은 PASS이며 PostGIS·same-origin BFF·owner-only Shadow까지 구현했습니다. M1은 provider 교차측정일 뿐 ground-truth 승인이 아니고, PUBLIC live gate와 owner 운영 UI E2E를 닫기 전에는 공개하지 않습니다.
PRIVATE SHADOW DEPLOYED · PUBLIC ROUTE NOT ACTIVE

카카오맵 M0–M3 구현·검수 반영 · 공개 지도검색은 계속 차단 · M2A PASS · M0/M1/M2B/M3 PARTIAL · owner-only Sites 비공개 Shadow 배포. 내부 구현 경로는 /admin/map-shadow이며 공개 제품 경로가 아닙니다.

M2A PROVIDERM2A PASS

Maps ON · SDK 200/401 · Local 200 · tile/marker/clusterer/attribution

M3 PRODUCTM3 PARTIAL · PRIVATE DEPLOYED, OWNER LIVE E2E PENDING

/admin/map-shadow · Sites v23 · env revision 4
Sites v24 · commit 3fdcbb09 · 직전 owner-only 계획판 · v24 전체 127/127 PASS

CANONICAL APP1514962 · 제이옥션

SDK origin 2개 · 임시 localhost 제거 · REST key는 Sites에 미배포

NEXT GATEM1 APPROVAL · M2B LIVE GATES · M3 OWNER E2E · MAP UX NOT PASSED

M1 ground-truth 승인 + M2B live gate + M3 owner 운영 UI E2E + MAP UX 20개 회귀·15개 게이트·8개 상태 해소

PUBLIC ROUTE/map · 404

M5 전 공개 /map·별칭은 404, 전역 메뉴·sitemap·공개 제품면 SDK 요청 0건을 유지

M1 좌표 교차측정 · 측정 완료, 승인 아님

측정면결과해석 경계
표본20개 균등 offset · 1,000건고유 public_id 기준; 계층표본이나 ground-truth 승인은 아님
Kakao 주소 해석993 · 미해결 7해석 성공률을 정확도 99.3%로 표현 금지
거리 구간≤50m 882 · 50~200m 60 · 200~1,000m 10 · >1km 411km 초과·미해결 우선 수동 판정
백분위p50 0m · p90 62.76m · p95 214.15m · p99 5,935.51m동일 계열 원천 가능성을 배제하기 전 독립 정확도 증거가 아님
최대 거리19,814.04m원주소·PNU·지적·대표점·provider lineage 확인
5자리 좌표 중복고유 906 · 중복 그룹 55 · 소속 행 149 · 초과 행 94 · 최대 그룹 9공동주택·필지 중심점 가능성 때문에 중복을 곧바로 오류로 판정하지 않음

카카오맵 API 전수조사 확정 증거

증거 ID검사면판정실측 증거제품 경계
KMAP-AUDIT-01M0 · 앱·도메인PARTIAL앱 1514962/제이옥션 고정 · SDK origin jauc.co.kr와 Sites 2개 · 임시 localhost 제거 재확인다른 계정 앱 중복 jauc 도메인·key owner/rotation/rollback 원장 미완료
KMAP-AUDIT-02M1 · 좌표 교차측정PARTIAL · MEASURED, NOT APPROVED전국 20개 균등 offset · 고유 public_id 1,000건 · Kakao 해석 993 · 미해결 7provider cross-check일 뿐 ground-truth 승인이나 정확도 99.3%가 아님
KMAP-AUDIT-03M2A · providerPASSMaps ON · 등록 origin SDK 200 · 미등록 origin 401 · Local REST 200 · tile/marker/clusterer/attribution공개 직전 origin·쿼터·정책 재확인
KMAP-AUDIT-04M2B · 코드PARTIAL · CODE/SCHEMA VERIFIED, LIVE GATES PENDINGsame-origin BFF · strict query/bbox · 명시 public_id · 4자리 좌표 완화 · ETag · shadow no-store · server cache · fail-closedservice auth·fixed egress/IP·REST secret·durable edge rate limit 미완료
KMAP-AUDIT-05M2B · 스키마PARTIAL · CODE/SCHEMA VERIFIED, LIVE GATES PENDINGPostGIS 테이블 2 · 뷰 1 · 함수 3 · 트리거 2 · 제약 14 · 인덱스 4 적용projection_revision 0 · serving false · metadata 0 · public view 0
KMAP-AUDIT-06M3 · 배포 빌드 E2EPARTIAL · PRIVATE DEPLOYED, OWNER LIVE E2E PENDINGtile 16 · attribution · marker · feature/list/detail 고유 public_id 각 100 · aria-pressed/focus 각 1 PASS운영 owner 로그인 UI E2E·jauc CT104 통합·7일 관측 대기
KMAP-AUDIT-07M3 · 운영 HTTPPARTIALroot 200 · public /map 404 · cross-site BFF 403 · identity-less admin API 401 · 등록 Sites SDK 200 · 미등록 401outer gate bypass는 제품 관리자 인증을 대체하지 않음
KMAP-AUDIT-08보안 독립 재검토PASS · APP BOUNDARYlegacy id 승격·느슨한 same-site·앱 release fail-closed·revision query·무상한 메모리·shadow cache 결함 수정94461b6·2b9b5daf 코드 재검토 PASS와 BFF의 live positive revision/serving acceptance PENDING을 분리

경매마당 지도검색 전수조사 · MAP UX PARITY owner shadow 구현

MAP-UX · IMPLEMENTED · CODE/OWNER SHADOW VERIFIED · LIVE GATES PENDING

경매마당 MAP UX PARITY · 2026-07-16 · https://madangs.com/mapsearch. owner-only /admin/map-shadow에서만 구현·검수하며 M5 승인 전 공개 /map·별칭·sitemap·전역 메뉴는 계속 404/0건
진입: M2B schema·공통 codec·API/privacy guard·service auth를 고정하고 PUBLIC projection은 serving_enabled=false로 유지
공개 선행: projection_revision > 0 · PUBLIC metadata · serving_enabled=true · fixed egress · REST secret · durable rate limit은 M5 공개 승격 직전 별도 acceptance

증거 ID검사면판정실측·관찰제이옥션 경계
MDG-MAP-01정보형 markerVERIFIEDD-day·할인율·용도·공개면적·가격·동일 위치 건수를 한 marker에 표시표시 계약만 참고하고 데이터·코드·좌표는 복제하지 않음
MDG-MAP-02동일 위치 목록VERIFIED동일 위치 2건·4건이 sheet에서 서로 다른 상세 링크와 public_id를 손실 없이 유지opaque location_group_id로 묶고 PNU·주소코드·내부 ID 비노출
MDG-MAP-03상세 전환VERIFIED데스크톱·390px 웹 카드는 target=_blank·rel=noopener, 앱 분기는 same-tab제이옥션은 /auctions/{public_id}와 filter·viewport·selected 복원 계약 사용
MDG-MAP-04상태 저장VERIFIED · REFERENCE DEFECTfilter·display는 URL, 일반 viewport는 sessionStorage; 임시 장소검색인 강남역 badge는 reload 후 소실되고 viewport만 복원참고 사이트의 불완전 검색 상태 복원은 복제하지 않고 round-trip 회귀로 차단
MDG-MAP-05공개 좌표 노출NEGATIVE EXAMPLE상세 DOM에 12~15자리 exact data-lat/data-lng 노출 확인공개 hidden DOM·RSC·aria·cache·log에도 원좌표 금지
MDG-MAP-06무쿠키 대량 APINEGATIVE EXAMPLE · DO NOT COPY전국 bbox 1회에 25,515건 · 11,749,307 bytes · 약 15.7초 · 12~15자리 x/y·m_code·g_code·PNU 성격 키 반환한국 bbox·최대면적·feature cap·durable rate limit·4xx validation의 근거
MDG-MAP-07접근성REFERENCE DEFECT · DO NOT COPYmarker role=button이지만 tabindex=-1, 상태필터 pressed ARIA 부족접근성 결함은 복제하지 않고 키보드·focus·Esc·aria-pressed·비색상 상태를 제이옥션 완료기준으로 보강

잔여 위험 2차 재검증 · MAP UX PARITY · NOT PASSED

번호잔여 위험현재 판정
01전국 좌표·클러스터·줌별 성능PARTIAL
02pagination·cluster 합계PARTIAL
03새 탭 상세 후 상태복원CODE PASS · LIVE E2E PENDING
04모바일 bottom sheetCODE PASS · LIVE E2E PENDING
05키보드·포커스·스크린리더CODE PASS · LIVE E2E PENDING
06관심·저장필터·알림CODE PARTIAL · DELIVERY E2E PENDING
07현재위치 권한 분기CODE PASS · LIVE E2E PENDING
08공개 API·번들·대량조회 보안CODE PASS · LIVE E2E PENDING
증거 ID검사면2차 실측제이옥션 완료 경계
BBOX-OMITTEDbbox 누락 정정GET /api/search/pins?level=7&list_type=1 → HTTP 200 · 전국 cluster 273개 · region_cnt 합 35,800기존 ‘bbox 누락=200 빈 배열’ 오기를 폐기하고 제이옥션은 bbox 필수·누락 전국 확대 금지
MALFORMED-QUERY입력 오류비숫자 bbox=200 빈 결과 · 역전 bbox=암묵 정규화 · 국외 bbox=200 빈 결과 · 비숫자 level=500 · unknown query=무시 200malformed·unknown·국외·역전·과대 입력을 모두 명시 4xx로 차단
NATIONWIDE-PARITYUI 기본 진행조건state=10 · sale_start_date=2026-07-16 · list total 34,924 · level10 cluster 합 34,844 · 차이 80 · coverage 99.7709%snapshot/revision/query_hash/excluded가 없어 동시 snapshot 대사 불가
RENDERABLE-GAP전국 renderable18개 cluster 중 이름 공백·null 좌표 2개 합 29 · renderable 34,815 · 목록 대비 109건 부족 · 99.6879%renderable + 명시 excluded = 목록 total을 고정 revision에서 대사
GANGNAM-L4강남 bbox level4127.02,37.48–127.08,37.54 · 59 pin · count 합 85 · 474ms / 29,026Bcount parity PASS · pin public_id 집합/hash 대사
GANGNAM-L6강남 bbox level659 pin 합 85 + 14 cluster 합 85 · 255ms / 14,872B · bbox 밖 anchor 4/14cluster anchor는 child geometry 또는 child_bbox 안에 위치
GANGNAM-L7강남 bbox level75 cluster 합 85 · 72ms / 465B · bbox 밖 anchor 3/5centroid 클릭의 예기치 않은 지도 점프 금지
ZOOM-DEEP-LINK전국 확대 계약level12/13 시·도 cluster · 경기도 클릭 32km→8km · 실제 지도 변경 뒤 URL level=13 미갱신URL level과 실제 Kakao level 동기화·결정론적 확대
GROUP-PAGINATION동일 위치 11건total 11 · page 1·2 고유코드 11 · UI limit60 · limit1000→500 · malformed→60 · page0→1 · page999=200 빈 목록fixed revision 전체 public_id set/hash와 pagination 손실·중복 0
UNFILTERED-SEMANTICS무필터 의미 차이list total 70,240 · 전국 pin 합 35,800list/map 공통 codec과 source_type·상태·날짜 의미를 응답 meta로 명시
PINS-METADATApin 응답 계보pagination·total·has_more·cap·snapshot·revision 없음cluster aggregate = renderable + explicit excluded · mismatch 0
NAV-RELOAD상세·복귀_blank 전후 원 탭 URL·marker 9·sheet 4 유지 · reload 후 URL·marker 9 유지, sheet 선택 0으로 소실selected/group/sheet/scroll까지 URL+session state로 복원
A11Y-RESIDUALsheet 접근성marker tabindex=-1 · filter pressed ARIA 없음 · open focus=BODY · dialog semantics 없음 · Esc 미동작focus trap/복귀·Esc·dialog name·screen reader·비색상 상태 검증
CURRENT-LOCATION현재위치최초 진입 자동 요청 0 · session 복원 뒤 low accuracy/maximumAge=300000/timeout=8000 자동 요청 가능·실패 무음 · 수동 high accuracy/maximumAge=0/timeout=12000·모든 실패 동일 toast · exact {lat,lng,level} 저장 · 국외 위치 서울 silent fallback · Permissions API 선확인 없음explicit click 전 요청 0 · exact current location 저장/URL/analytics/error log/server 0 · 오류 code 분리 · Permissions-Policy · silent fallback 0
MEMBER-ALERT관심·저장필터·알림endpoint 존재 · 관심 aria-pressed 없음 · 저장필터 삭제 confirm/undo 없음 · read PATCH 실패 후 badge 불일치 가능private,no-store · CSRF/Origin · ownership · idempotency · rollback · dialog focus
MEMBER-AUTH무쿠키 회원 경계대부분 회원 API 401 · /api/notifications/unread만 200 hasUnread:false · 비로그인 관심전용 지도는 인증 필요와 실제 0건 구분 불가모든 private endpoint의 일관된 auth error와 server-side private,no-store
API-CACHE-RATE공개 API 헤더·proxyCache-Control·ETag·rate-limit·Retry-After 없음 · 작은 pin 무압축 · /api/vworld/address가 비숫자·국외 좌표도 upstream 전달cache/rate/compression·provider quota proxy 차단
BUNDLE-HEADERS번들·보안 헤더source map·Authorization/Bearer/secret/API-key literal 미발견 · CSP·Permissions-Policy·frame 보호·HSTS·nosniff·Referrer-Policy 미관찰긍정 secret scan을 유지하고 보안 헤더 전부 운영 E2E

MAP UX PARITY P0·P1 작업 계약

작업 ID우선순위상태완료 계약
OVERLAY-01P0CODE PASS · LIVE E2E PENDINGKST D-day·상태·용도·공개면적·가격을 CustomOverlay로 표시하고 결측·긴 문자열·XSS allowlist를 검증
LOCATION-GROUP-01P0CODE PASS · LIVE E2E PENDING서버 비밀 기반 opaque·비가역 location_group_id로 동일 위치 N건 sheet를 만들고 pagination 포함 public_id 집합 손실·중복 0, PNU·내부 ID 노출 0
NAV-STATE-01P0CODE PASS · LIVE E2E PENDINGmarker→sheet→card→/auctions/{public_id}; 웹 새 탭+noopener·앱 same-tab과 filter·viewport·selected 복원
FILTER-CODEC-01P0CODE PASS · LIVE E2E PENDING목록·지도·facet 공통 query codec; filter·display는 URL, 일반 viewport는 sessionStorage로 분리하고 임시 장소검색 badge의 비지속을 명시
GEO-DIAG-01P0CODE PASS · LIVE E2E PENDINGowner-only 선택/전체 marker에 공개좌표 최대 4자리·location_precision·publication·revision·제외사유 진단, 원좌표 감사는 별도 no-store 권한
PRIVACY-01P0CODE PASS · LIVE E2E PENDINGPUBLIC JSON·DOM·RSC·aria·cache·log의 원좌표·PNU·m_code·g_code·내부 사건 ID를 재귀 검사해 0건 고정
API-GUARD-01P0CODE PASS · LIVE E2E PENDING한국 bbox·최대면적·feature hard cap·payload/timeout·AbortController·durable rate limit·명시 4xx validation
DENSITY-01P1CODE PASS · LIVE E2E PENDINGzoom별 cluster→dot→정보 overlay 3단 밀도와 동일 revision 결정론·stale 응답 불수용
DISPLAY-MODE-01P1CODE PASS · LIVE E2E PENDING총액/평당가와 평/㎡ display mode를 URL에 직렬화하고 가격 안전정수·반올림 기준을 고정
LAYER-01P1CODE PASS · LIVE E2E PENDING일반·위성·지적·교통 layer를 제공하고 attribution·provider 장애 fallback을 유지
MOBILE-01P1CODE PASS · LIVE E2E PENDING320·390·768px bottom sheet·목록/지도 전환·새 탭 정책·가로 넘침·touch target·safe-area 검수
A11Y-01P1CODE PASS · LIVE E2E PENDING키보드·marker/button tab stop·aria-pressed·focus 복귀·Esc·200% 확대·비색상 상태·screen reader 이름

PublicMapLot 계약 · ADAPTER IMPLEMENTED, LIVE DATA GATE PENDING

필드형식공개 규칙
public_idstringCourt canonical 공개 식별자 · marker/list/detail 공통
latnumberPUBLIC projection latitude · 소수 최대 4자리
lngnumberPUBLIC projection longitude · 소수 최대 4자리
coordinate_precisiondistrict | road | parcel_centroidDB location_precision→공개 DTO adapter; administrative_centroid→district, road_center→road, parcel_centroid 유지, rooftop은 재식별 심사 전 차단
publication_scopePUBLIC현재 publication metadata→공개 DTO adapter; 명시 PUBLIC 없으면 fail-closed
projection_revisionpositive integer양수 전역 revision이며 serving_enabled=true와 함께 검증
location_group_idopaque string동일 위치 묶음용 필수 비가역 ID · PNU/주소코드 역추론 금지
same_coordinate_countpositive integer1 이상 동일 공개 위치 물건 수 · public_id 집합 무손실
item_type_displaystring공개 용도 표시명
land_area_sqmnumber?공개 허용 토지면적 ㎡
building_area_sqmnumber?공개 허용 건물면적 ㎡
display_area_valuenumber?선택된 평/㎡ 표시값
display_area_unitsqm | pyeong?URL display mode와 일치
appraised_pricenumber?감정가 · 안전정수/반올림 검증
minimum_pricenumber?최저가 · 할인율 산식 입력
price_per_pyeongnumber?평당가 · 분모/결측/반올림 계약
statusstring?진행 상태 · 비색상 텍스트 포함
sale_dateYYYY-MM-DD?매각기일 · KST 기준
d_dayinteger?Asia/Seoul 자정 기준 D-day
detail_path/auctions/{public_id}same-origin canonical 상세 경로
PUBLIC 계약 금지 필드

원본 geocoder latitude/longitude와 5자리 초과 공개좌표 · PNU·지번/주소 코드·m_code·g_code·내부 사건/물건 ID · 회원 관심·조회 이력·개인 주소·현재 위치·정밀 viewport · provider secret·REST key·service credential·내부 source URL

MAP UX PARITY 전용 20개 회귀 기준

01OVERLAY_CONTENT승격 전 자동검증

allowlist 필드·결측·긴 문자열·XSS와 D-day/상태/용도/면적/가격 표시

02MODE_URL승격 전 자동검증

price_mode·area_mode URL round-trip과 총액/평당·평/㎡ 재현

03KST_DDAY승격 전 자동검증

Asia/Seoul 자정·기일 당일 D-0·과거/미정 기일 경계

04NON_COLOR_STATE승격 전 자동검증

색상 외 텍스트·아이콘·aria-label로 상태 구분

05SAME_LOCATION승격 전 자동검증

동일 위치 count·pagination과 fixed revision public_id 집합/hash 손실 0·중복 0

06MARKER_LIST_DETAIL_PARITY승격 전 자동검증

동일 revision에서 marker·sheet·card·상세 public_id/가격/상태 대사

07DETAIL_TRANSITION승격 전 자동검증

웹 target=_blank+rel=noopener·앱 same-tab·return-state·popup 차단 fallback

08DETAIL_CANONICAL승격 전 자동검증

/auctions/{public_id} canonical과 query 추적값 제거

09STATE_STORAGE승격 전 자동검증

NAV_CONTINUITY: filter/display URL·일반 viewport sessionStorage·selected/group/sheet/scroll의 reload/back/forward 복원

10SHARE_VIEWPORT_PRIVACY승격 전 자동검증

공유 URL·analytics·error log에 exact viewport·현재위치·개인 주소 0

11FILTER_PARITY승격 전 자동검증

목록·지도·facet 공통 codec과 결과 public_id/제외사유 대사

12DATE_SCOPE승격 전 자동검증

진행 경매·공매에만 매각기일 범위를 적용하고 과거 포함·상태·KST 경계 대사

13CLUSTER_DETERMINISM승격 전 자동검증

동일 revision·bbox·zoom에서 cluster→dot→overlay 결정론

14RACE_ABORT승격 전 자동검증

AbortController·timeout·stale response 불수용·최신 viewport 우선

15A11Y승격 전 자동검증

키보드·tab stop·aria-pressed·dialog name·focus trap/복귀·Esc·200%·screen reader

16MOBILE승격 전 자동검증

320·390·768px bottom sheet·touch target·가로 넘침·상세 전환

17FAILURE승격 전 자동검증

SDK·BFF·429·timeout·offline에서 지도만 닫고 마지막 성공 목록 유지

18PUBLIC_COORD_PRIVACY승격 전 자동검증

PUBLIC JSON·DOM·RSC·aria·cache·log에서 최대 4자리와 PNU·내부코드 0

19API_LIMITS승격 전 자동검증

bbox 필수·누락 전국 확대 금지·한국 bbox·최대면적·feature/payload hard cap·durable rate limit·malformed/unknown/국외/과대 4xx

20M5_CLOSED승격 전 자동검증

승인 전 외부 truth surface는 outer owner gate 401 또는 제품 route 404, sitemap/link/공개 SDK 0

2차 잔여위험 추가 완료 게이트 · MAP UX NOT PASSED

01COUNT_PARITY추가 완료 조건

고정 revision의 목록 total = renderable + 명시 excluded = 모든 cluster/count 합, mismatch 0

02CLUSTER_ANCHOR추가 완료 조건

모든 cluster anchor가 child geometry 또는 child_bbox 안에 있고 클릭 확대가 해당 child 집합을 포함

03SNAPSHOT_CONSISTENCY추가 완료 조건

목록·pin·cluster·group page가 같은 snapshot_at·positive projection_revision·query_hash/viewport_hash를 공유

04STRICT_VALIDATION추가 완료 조건

bbox 필수; bbox 누락 전국 확대 금지; malformed·unknown·역전·국외·과대 bbox와 비숫자 level/limit을 명시 4xx

05BOUNDED_RESPONSE추가 완료 조건

bbox·feature·payload·pagination cap, timeout·AbortController, page 범위 오류 4xx와 has_more/total 제공

06DATA_MINIMIZATION추가 완료 조건

PUBLIC 응답·DOM·RSC·aria·cache·log에 exact 좌표·PNU·m_code/g_code·현재위치·개인 식별자 0

07CACHE_RATE추가 완료 조건

ETag·Cache-Control과 durable multi-instance rate limit·Retry-After·quota proxy 차단

08ZOOM_CONTRACT추가 완료 조건

URL level과 실제 Kakao level을 동기화하고 cluster→dot→overlay 전환·확대 결과를 결정론적으로 검증

09MEMBER_OWNERSHIP추가 완료 조건

관심·저장필터·알림 객체마다 서버 소유권과 회원 UUID를 검증하고 무쿠키/타회원 접근 차단

10CSRF_ORIGIN추가 완료 조건

모든 회원 mutation에 CSRF token·exact Origin·SameSite cookie 계약을 적용

11IDEMPOTENT_MUTATION추가 완료 조건

관심·저장필터·알림 mutation은 멱등키·재시도·중복 write 0을 보장

12ALERT_ROLLBACK추가 완료 조건

read/read-all PATCH 실패 시 badge·목록 optimistic update를 원복하고 실패를 사용자에게 표시

13EXPLICIT_LOCATION_CONSENT추가 완료 조건

명시 click 전 geolocation 요청 0; allow/deny/dismiss/unavailable/timeout을 구분하고 session restore 자동 요청 0; Permissions API 선확인; Permissions-Policy geolocation=(self); exact current location의 storage·URL·analytics·error log·server 저장 0; 국외 위치 silent fallback 0

14PRIVATE_NO_STORE추가 완료 조건

관심·저장필터·알림 응답은 서버 Cache-Control: private, no-store이며 shared cache/RSC 누출 0

15DIALOG_FOCUS추가 완료 조건

저장필터 삭제 confirm/undo와 회원 dialog의 accessible name·초점 진입/복귀·Esc 계약

잔여작업 통합 실행계획 · W0–W11

MAP UX NOT PASSED

제이옥션 MAP UX PARITY 잔여작업 통합 실행계획 · SHA-256 547EB70A4F66FE37043E3B64B797417AF5C3B7B8568BF9510088C5538566ECD6
PUBLIC /map 404 · ALIASES 404 · PUBLIC PRODUCT SDK 0

착수 모드명령 범위자동 실행종료점
M5_READY한 번의 구현·검증 요청코드·PostGIS additive migration·BFF·owner-only 배포·CT104·168시간 Shadow·rollback공개 직전 승인 패킷
FULL_RELEASEM5 공개와 사후검증까지 명시M5_READY 전체+공개 전 1/10/50/100% 미러 canary+atomic 공개+사후 24시간/7일공개 안정화 완료
단일 캠페인 상태기계 · 21단계

CREATED → PREFLIGHT → M2A_RECERTIFIED → DATA_APPROVED → PUBLIC_PROJECTION_READY → API_SECURITY_READY → COUNT_CLUSTER_READY → UX_STATE_READY → MEMBER_A11Y_READY → RELEASE_CANDIDATE → OWNER_SHADOW → SHADOW_7D_PASS → PREPUBLIC_CANARY_1 → PREPUBLIC_CANARY_10 → PREPUBLIC_CANARY_50 → PREPUBLIC_CANARY_100 → M5_APPROVED → PUBLIC_ATOMIC_RELEASE → POST_RELEASE_24H → POST_RELEASE_7D → COMPLETE

제어 ID고정 실행 계약
CAMPAIGN_LEDGERMAP-<UTC timestamp>-<source SHA 8자리>와 immutable projection revision, LKG·rollback·evidence URI를 기존 PostGIS 원장에 기록
EXCLUSIVE_WRITE전용 worktree와 PostGIS advisory lock, Sites·CT104·Cloudflare deployment lease(5분 heartbeat·15분 TTL)로 중복 write/deploy 차단
DRIFT_RESUMEsource·schema·projection·Kakao app·security rule·UI codec·env drift를 재개 전에 대사하고 영향받는 최소 게이트부터 재검증
M2A_RECERTM0 변경 후 M2A를 재인증하고 M5 atomic 공개 24시간 이내 SDK·REST·tile·marker·clusterer·attribution·quota를 다시 확인
SAFE_MIGRATIONW2는 backup→expand→backfill→PUBLIC projection→positive revision 순서로 수행하고 serving=false를 유지
SHADOW_168HCT104가 1분 heartbeat·15분 synthetic·시간별 집계·일별 서명 snapshot을 168시간 연속 남기며 critical/공백/drift 시 0부터 재시작
MIRROR_ATOMICM5 전 owner/shadow 미러 1/10/50/100%를 통과한 뒤 /map·nav·SEO·SDK/CSP를 한 release에서 atomic 공개
DURABLE_EVIDENCEraw evidence를 CT104 내구 저장소와 NAS에 복제·hash 대사하고 secret/PII 제거 보고서와 manifest hash만 Git에 보존
POST_RELEASE공개 후 24시간과 7일을 같은 campaign으로 관측하고 incident 0·문서/runbook/manifest 마감 후에만 COMPLETE
독립 증거 집합개수현재 판정유지 규칙
기존 MAP UX 회귀20별도 20/20 PASS 필요기존 ID·증거파일·실행시각·담당자를 합치거나 대체하지 않음
기존 활성화 게이트15별도 15/15 PASS 필요과거 코드/계획 테스트 수를 운영 승인 증거로 승격하지 않음
2차 잔여위험 게이트15별도 15/15 PASS 필요COUNT_PARITY부터 DIALOG_FOCUS까지 독립 실행·증거 유지
잔여 상태8현재 0/8 CLOSEDPARTIAL/BLOCKED를 전부 CLOSED로 바꾼 증거가 있어야 W9 진입
작업실행 단위상태선행종료 기준
W0-LEDGER앱·키·도메인·rollback 원장PENDING없음 · W1과 병렬jauc 중복 도메인 0 · active key owner/rotation/rollback 승인
W1-GEO좌표 ground-truth 승인PENDING없음 · W0와 병렬1km 초과 41건+미해결 7건 전건 판정 · precision/confidence/제외 정책 승인
W2-PROJECTIONPUBLIC projection·고정 revisionPENDINGW1backup→expand→backfill→projection→positive revision · metadata·행수/hash 대사 · serving=false 유지
W3-CONTRACTGeo API·BFF 보안 계약PENDINGW2strict 4xx·service auth·fixed egress·secret·durable rate·cache namespace PASS
W4-CLUSTER목록·pin·cluster 정합PENDINGW3같은 revision public child·count mismatch 0 · anchor 위반 0
W5-UX마커·sheet·목록 공통 view modelPENDINGW4overlay·동일위치·3단 밀도·가격/면적 mode의 public_id/값 불일치 0
W6-STATEURL·상세 전환·복원PENDINGW5new/same tab·reload·back/forward·selected/group/sheet/scroll 복원 PASS
W7-MOBILE-A11Y모바일·접근성·레이어PENDINGW5·W6 · W8과 병렬320/390/768·200%·키보드·focus/Esc·screen reader PASS
W8-MEMBER-LOCATION회원·현재위치PENDINGW3·W6 · W7과 병렬ownership·CSRF·idempotency·rollback·private cache·위치 5분기 PASS
W9-RC장애·성능·보안 RCPENDINGW4–W8SLO·privacy·quota·failure·rollback·bundle/secret scan 전부 PASS
W10-SHADOWowner E2E·CT104·168시간 ShadowPENDINGW91분 heartbeat·15분 synthetic 공백 없이 168시간 critical 0 · canonical runtime·rollback 훈련 PASS
W11-M5미러 canary·M5 atomic 공개BLOCKED BY W10W10·M2A 24h 재인증·공동 승인owner/shadow 1→10→50→100% PASS 뒤 route/nav/SEO/SDK atomic 공개 · 사후 24h/7d PASS

W2–W4 최우선 보완점

게이트첫 변경·검증 계약
SERVING-REVISIONupstream serving_enabled=true와 projection_revision>0, publication contract, snapshot freshness를 함께 확인하고 불일치는 503 fail-closed
DURABLE-RATE프로세스 메모리 limiter가 아니라 Cloudflare+upstream 다중 인스턴스 rule ID·Retry-After·quota 차단의 실제 배포 증거 확보
PUBLIC-CLUSTER-CHILDcluster 자식 전건이 같은 PUBLIC projection/revision임을 검증하고 lot publication 검사를 우회하지 못하게 차단
CACHE-NAMESPACEpublic cache key에 release mode+upstream+projection revision+query/viewport를 포함하고 전환 시 purge
ROUTE-REVISION/api/v1/lots/map은 revision 존재가 아니라 양수 revision+serving을 강제하고 0·역행·stale을 차단
PRECISION-ALLOWLISTM1 승인 전 rooftop·legacy 좌표는 PUBLIC 후보에서 제외하고 최대 4자리+precision metadata만 허용

검증 데이터면과 현재 jauc 제품면의 차이

truth surface판본·건수좌표·식별·cluster흡수 원칙
좌표 교차측정 모집단표시 112,557건 · 20개 균등 offset · 표본 1,000건public_id·좌표·국내 bbox·상세경로·주소 각 1,000측정 결과와 PUBLIC 승인 상태를 분리
Legacy Shadow upstream실 feature 100건feature/list/detail 고유 public_id 각 100 · legacy revision · shadow_unverified내부 검수에만 사용하고 PUBLIC으로 자동 승격 금지
PostGIS PUBLIC projectionmigration 143 적용revision 0 · serving false · publication metadata 0 · public view 0양수 revision·명시 metadata·serving 승인 전 fail-closed
Sites owner-only Shadowv23 · env revision 4/admin/map-shadow · BFF/config 관리자 gate · local auth E2E PASS운영 owner UI E2E 전 M3 완료로 승격 금지
목표 PUBLIC geo projectionCourt canonical lot 기준public_id·완화 좌표·precision·publication·lineage·detail_pathPostGIS 한 곳을 정본으로 하고 bbox·zoom·filter server cluster만 공개

KAKAO 하위 게이트 · 기존 M0–M5에 병합

M0KAKAO-M0 · PARTIAL
canonical 앱·소유 원장

1514962 / 제이옥션을 canonical 앱으로 고정했고 JavaScript SDK origin은 https://jauc.co.kr과 https://jauction-court-platform.cpym352.chatgpt.site 두 개이며 임시 localhost 제거를 확인했습니다.
종료 조건: 다른 계정 앱의 jauc 중복 도메인 제거 · active key owner/rotation/rollback 원장 승인

M1KAKAO-M1 · PARTIAL · MEASURED, NOT APPROVED
좌표 provider 교차측정

20개 균등 offset에서 1,000건을 측정해 Kakao 해석 993·미해결 7과 거리·중복 분포를 확보했습니다. 이는 provider cross-check이며 정확도 99.3%나 ground-truth 승인으로 표현하지 않습니다.
종료 조건: 1km 초과 41건·미해결 7건 수동 판정 · confidence 하한과 ground-truth 승인

M2AKAKAO-M2A · PASS
provider 기능 실증

Maps ON, 등록 origin SDK 200, 미등록 origin 401, Local REST 200, 실제 tile·marker·clusterer·attribution을 검증했습니다.
종료 조건: 2026-07-16 감사 evidence 고정 · 임시 localhost 제거 완료

M2BKAKAO-M2B · PARTIAL · CODE/SCHEMA VERIFIED, LIVE GATES PENDING
server 경계·PUBLIC 데이터면

same-origin BFF /api/v1/lots/map, strict query/bbox, 명시 public_id, 4자리 좌표 완화, ETag, shadow no-store, server cache, 전역 projection_revision 역행 차단, bounded memory, public fail-closed와 PostGIS DDL을 구현·검증했습니다.
종료 조건: PUBLIC metadata·양수 revision·serving · service auth · fixed egress/IP · REST secret · durable edge rate limit

M3KAKAO-M3 · PARTIAL · PRIVATE DEPLOYED, OWNER LIVE E2E PENDING
owner-only 제품 Shadow

/admin/map-shadow를 Sites v23/env revision 4에 비공개 배포했고 배포 빌드 로컬 인증 E2E와 운영 HTTP 경계를 통과했습니다. 운영 URL의 owner 로그인 후 UI E2E는 계정 allowlist 불일치로 대기합니다.
종료 조건: owner 운영 UI E2E · jauc.co.kr CT104 canonical runtime 통합 · 7일 관측

M4KAKAO-M4 · PENDING
공개 projection·모바일

exact·parcel·district 공개 정밀도와 비공개 완화, 모바일 sheet, 회원 관심·저장검색, SEO noindex/follow와 sitemap 제외를 검증합니다.
종료 조건: 정밀좌표 누출 0 · 320/390/768px · 익명/회원 payload 분리

M5KAKAO-M5 · PENDING
공개 승인

7일 shadow 뒤 1%→10%→50%→100% canary, 일/월 쿼터·429·비용 경보, kill switch, CSP, attribution, runbook과 롤백을 닫은 뒤에만 전역 메뉴와 /map을 함께 승격합니다.
종료 조건: 승인 기록 · 단계별 공개 smoke · 롤백 훈련 · nav/route/SEO 동시 배포

화면·상호작용 계약

01검색 상태 공유

목록 검색과 같은 query schema를 URL에 직렬화하고 법원·지역·용도·가격·기일·상태 필터를 양방향 동기화

02지연 로더

지도 모드를 사용자가 선택하기 전 SDK 요청 0건을 유지하고 autoload=false loader를 한 번만 초기화

03데스크톱 구도

사용자가 지도분할 모드를 선택했을 때만 좌측 38% 결과 목록·우측 62% 지도를 사용하고 marker와 동일 public_id 카드를 강조

04모바일 구도

지도/목록 전환과 하단 sheet를 사용하고 선택 물건 요약·상세 이동·관심등록을 엄지 영역에 배치

05공간 탐색

zoom별 server cluster를 우선하고 pan마다 자동 요청하지 않으며 bbox 이동 후 ‘현 지도에서 검색’으로만 재조회; 결과 수 상한과 검색 범위 초과 안내

06대체 접근

키보드로 조작 가능한 동일 순서 목록, marker 정보의 텍스트 대체, 색상 외 상태표시와 초점 복귀

07실패 상태

좌표 없음·일부 지연·provider 장애·한도 초과를 구분하고 목록 검색은 계속 사용할 수 있게 독립 유지

08제품 경계

오시는길 Daum RoughMap loader와 제품 지도검색 SDK loader를 분리하고 Kakao attribution을 모든 지도 상태에서 유지

브라우저에서 PostGIS까지의 단일 소유 경로

01Owner Browser

/admin/map-shadow에서 same-origin /api/v1/lots/map과 /api/v1/admin/map/config만 호출하고 DB·Kakao Local REST·RecoveryLab·내부 ops에 직접 연결하지 않음

02Sites BFF

exact same-origin·운영자 인증, strict query/bbox, allowlist projection, ETag·no-store·server cache·revision/rate hard cap을 적용; public mode는 live gate 미충족 시 503

03Geo query service

AUCTIONHUB geo upstream을 server-only로 호출하고 explicit public_id만 수용; service auth 전에는 shadow에만 한정

04PostGIS PUBLIC projection

migration 143의 additive·fail-closed 원장; revision 0·serving false·publication metadata 0·view 0을 유지하고 명시 승인 때만 양수 revision으로 전환

05Court lineage

Court 원주소→정규주소→PNU→geocode→geo projection을 versioned event로 갱신하고 D1은 상담 원장에만 유지

Court 주소에서 공개 marker까지의 데이터 계약

계층필드저장·공개 원칙완료 증거
식별public_id · court_code · case_year · case_serial · lot_noCourt 안정키와 1:1, marker·목록·상세에서 같은 public_id 사용오병합 0건
원주소source_address · source_url · fetched_at · payload_hash · parser_versionCourt 원문 계보를 변경 없이 보존계보 누락 0건
정규주소road_address · jibun_address · address_status · normalized_at원문과 별도 version으로 저장하고 불명확 값은 pending_review표본 정확도 승인
필지pnu · pnu_provider · pnu_fetched_at · pnu_confidencePNU는 보강값이며 Court 사실값을 덮어쓰지 않음충돌 자동승격 0건
좌표latitude · longitude · geocode_provider · geocode_version · geocode_confidence원좌표/보정좌표와 provider 계보 분리M1 측정 완료 · confidence 하한·ground-truth 승인 대기
공간색인geom geography(Point,4326) · GiST · optional h3_cellPostGIS GiST 기준선을 먼저 검증하고 H3는 cluster benchmark 이득이 있을 때만 추가; geohash 기본 중복 저장 금지대표 bbox p95 예산 통과
공개등급publication_status · location_precision · redaction_reasonrooftop · parcel_centroid · road_center · administrative_centroid만 명시 검토 후 PUBLIC; legacy_unspecified · unresolved 자동 승격 금지DDL 적용 · publication metadata 0 · 공개 view 0
신선도geo_updated_at · source_event_id · projection_revisionLOT_UPSERTED·SCHEDULE_CHANGED·STATUS_CHANGED 영향 범위만 재투영event→지도 지연 SLO 통과
품질상태rooftop · parcel_centroid · road_center · administrative_centroid · legacy_unspecified · unresolved기존 PostGIS DDL enum을 단일 원장으로 사용하고 공개 DTO의 coordinate_precision으로 명시 변환; legacy_unspecified·unresolved는 비공개unresolved 별도 queue · enum 불일치 0
이관계보migration_batch_id · source_namespace · source_generated_at · source_payload_hash · canonical_public_id기존 지도 데이터는 staging backfill 후보로만 사용하고 브라우저 직접 의존·영구 정본 사용 금지멱등 이관·canonical 결합·원천 hash 대사
revision 일관성projection_revision · snapshot_at · viewport_hash · revision_sourceprojection_revision은 query와 무관한 upstream 전역 stream으로 역행 차단; legacy generated_at만 limit/offset을 뺀 query 범위전역 ledger 128 · TTL 5분 · 역행 응답 격리

예약 API와 보호 한계

예약 계약입력출력보호·성능
GET /api/v1/lots/map필수 bbox · zoom · q · item_type · min/max_price · max_fail_count · include_past · limit · offsetmeta(contract_version·snapshot_at·projection_revision·viewport_hash·revision_source·publication_scope·mode·total_count·has_more), cluster 또는 명시 public_id lot, excluded(duplicate_public_id 포함)bbox 누락 전국 확대 금지 · malformed/unknown/역전/국외/과대 4xx · 한국 면적·feature/payload 상한 · 4자리 공개 좌표 · ETag · shadow private/no-store · server cache 64/15초 · durable rate limit
GET /api/v1/admin/map/config정확한 same-origin + 운영자 인증등록 JavaScript SDK loader 설정shadow 전용 · 초기 HTML/RSC 저장 0 · REST key 반환 0
GET /api/v1/lots/{publicId}/publicpublicId선택 marker의 공개 카드와 상세 canonical URL기존 PUBLIC_INDEX projection 재사용
GET /api/v1/lots/map/groups/{locationGroupId}opaque location_group_id동일 공개 위치의 PublicMapLot 카드와 public_id 집합PNU·주소코드 역추론 금지 · feature cap · 중복/손실 0 · revision 일치
GET /api/v1/search/facetsbbox, 공통 filters현재 영역 법원·용도·상태·가격 facet목록과 동일 query codec·집계 버전
POST /api/v1/member/saved-searchesquery, viewport, view=map, alert_policy지도 보기 상태를 포함한 기존 저장검색로그인·소유권·빈도 제한
GET /api/v1/lots/{publicId}/nearbyradius_m, type인근 진행·매각·공매의 공개 허용 projection반경 상한·원천 분리·정밀좌표 보호
GET /api/v1/admin/geo/quality운영자 권한미해결·저신뢰·provider 충돌·stale 집계ADMIN 전용, 원문·수정 감사 연결
GET /api/v1/admin/map/diagnostics운영자 권한 · bbox · selected_public_id?선택/전체 marker의 공개 4자리 좌표·precision·publication·revision·제외사유owner-only · no-store · 감사로그 · 원좌표는 별도 단건 권한에서만 조회

회원 기능과 색인 유입의 분리 계약

경계고정 계약
PUBLICmarker·cluster에는 PUBLIC_INDEX와 동일한 가격·상태·기일·detail_path만 제공하고 비회원 상세 계약을 넘지 않음
MEMBER관심등록·저장검색·알림은 로그인과 객체 소유권을 서버에서 검사하고 익명 응답·cache와 분리
PRECISION회원 여부와 무관하게 제한 위치의 exact 좌표를 추가 공개하지 않고 location_precision·redaction_reason을 적용
SAVED_VIEWbbox·zoom·공통 filters만 저장하며 현재위치·정밀 viewport·개인 주소는 저장·분석 로그에서 제외
SEO/map은 공개 후에도 noindex,follow·sitemap 제외; 색인은 /search, 법원·지역 정적 landing, 물건 canonical 상세가 담당
RETURN로그인 뒤 선택 marker·filter·view로 복귀하되 서명된 same-origin return_to만 허용하고 외부 redirect 차단

완성형 구현 작업 패키지

작업 ID현재 상태우선순위구현 범위승격 증거
GEO-01PARTIAL · SCHEMA VERIFIEDP0migration 143으로 PostGIS PUBLIC projection과 lineage 저장 구조를 적용하고 Court canonical lot를 단일 소유 원장으로 유지테이블 2·뷰 1·함수 3·트리거 2·제약 14·인덱스 4; revision 0·serving false·publication metadata 0·view 0
GEO-02PARTIAL · MEASUREDP020개 균등 offset·1,000건 provider cross-check를 입력으로 주소·좌표·confidence 검토 원장을 구성하고 ground-truth 승인을 별도 게이트로 유지993/7 해석 분포·거리 백분위·중복 좌표 분포 보존; 승인 전 PUBLIC 승격 금지
API-01PARTIAL · CODE VERIFIEDP0Sites same-origin BFF /api/v1/lots/map에 bbox·zoom·공통 filter·limit/offset·ETag와 명시 public_id 투영을 구현targeted 11/11 · 전체 125/125; strict query/bbox·cross-site 403·public fail-closed
CACHE-01PASS · APP BOUNDARYP0query와 무관한 전역 projection_revision 원장으로 역행을 차단하고 shadow no-store·server cache와 bounded memory를 적용cache 64/15초 · revision ledger 128/5분 · rate bucket hard cap 2,000
KAKAO-SEC-01PARTIAL · OWNER LEDGER PENDINGP0JavaScript SDK origin 두 개를 canonical 앱에 고정하고 REST key는 fixed egress가 없는 Sites에 의도적으로 미배포등록 SDK 200·미등록 401·번들/HTML/RSC key 0; key owner/rotation/rollback·고정 IP 대기
UI-01PARTIAL · PRIVATE DEPLOYEDP1/admin/map-shadow에 marker↔목록↔상세 public_id 동기화, clusterer, 선택 접근성, 목록 fallback을 owner-only로 구현tile 16·feature/list/detail 고유 public_id 각 100·aria-pressed/focus 각 1 PASS
OPS-01PARTIAL · LIVE GATES PENDINGP1public release fail-closed·kill switch·운영 HTTP 경계를 유지하고 durable edge 제한·관측·복구 훈련을 연결root 200·/map 404·cross-site BFF 403·identity-less admin API 401; 7일 관측 대기
SEO-01PASS · CLOSED BOUNDARYP2M5 전 공개 /map·별칭 404, sitemap 제외, 공개 전역 메뉴·제품면 SDK 요청 0건을 고정공개 경로·링크·sitemap·SDK 회귀 테스트

운영·보안·쿼터·복구 제어

제어면운영 정책검증·복구 기준
키·origincanonical Kakao 앱 1514962의 JavaScript SDK origin을 jauc와 Sites 두 개로 고정하고 임시 localhost를 제거등록 origin 200·미등록 origin 401; 다른 계정 중복 도메인과 key owner/rotation/rollback 원장은 대기
REST egressfixed egress/IP가 없는 Sites에는 REST key를 의도적으로 배포하지 않고 운영 geo worker 확정 뒤 최소 allowlist로 제한현재 Sites env 미배포 · 번들/HTML/RSC literal 0; 허용/비허용 IP E2E는 live gate
캐시·revisionstrict query allowlist, ETag, shadow no-store, server cache와 query 독립 전역 projection_revision 역행 차단을 적용cache 64/15초 · revision 128/5분 · stale revision fail-closed; legacy generated_at만 limit/offset 제외 query 범위
메모리·rate프로세스 메모리 악용을 막기 위해 캐시·revision·rate bucket에 hard cap을 두되 앱 limiter를 durable edge 제한으로 오인하지 않음rate bucket 2,000 상한 구현; durable edge rate limit 미완료
쿼터·비용daily quota 대비 70% 경고·85% 신규 지도 세션 절감·95% 지도 kill switch, 429 시 geocode 재시도 중단과 월별 비용 상한SDK·Local·BFF 분리 계측·경보 테스트·승인 없는 유료 초과 0
장애·복구provider 장애 시 지도 loader만 닫고 목록·상세·검색은 LKG PUBLIC projection으로 계속 제공kill switch 5분 이내·복구 후 cache purge·목록 기능 성공률 유지
개인정보·정밀도현재위치는 opt-in session-only, 제한 주소는 district/grid 완화, exact viewport·정밀주소는 로그 금지비공개/회원 전용 좌표 공개 0·redaction_reason 감사 가능

보안 결함 수정과 독립 재검토

결함면수정 계약판정
legacy id 승격raw.id fallback을 제거하고 명시 raw.public_id만 공개 projection에 허용PASS
same-site 판정느슨한 same-site 허용을 제거하고 exact same-origin·운영자 인증을 분리PASS
public gate코드의 release fail-closed는 구현됐지만 BFF가 PUBLIC metadata·projection_revision > 0·serving_enabled=true를 live source에서 직접 증명해야 승격PARTIAL · LIVE GATE PENDING
revision query 분리projection_revision은 query 독립 전역 upstream 원장, legacy generated_at만 정규 query 범위로 계산PASS
메모리 상한cache 64·revision 128·rate bucket 2,000의 hard cap과 TTL 적용PASS
shadow cacheprivate Shadow 응답 no-store와 server cache 경계를 수정PASS
독립 재검토94461b6 보안 보완과 2b9b5daf 전역 revision 보완 뒤 최종 독립 재검토PASS

Sites source·배포·rollback 계보

판본source배포 상태복구·경계
v2294461b6결함 발견 후 저장만 하고 미배포bbox 간 전역 projection_revision 10→9 역행 결함을 v23 source에서 보완
v23 · env revision 42b9b5daf98501db09de03b5267e7290c8edf4330owner-only 비공개 배포 · 구현 기준판/admin/map-shadow 배포, public /map 404 유지
v243fdcbb09c172da468f49427fb0f7049ff18131baowner-only 비공개 배포 · 계획 검증판 · 전체 127/127 PASSimplementation-plan HTTP 200 · public /map 404 · root 200 재검증
M5_READY code target5b3a106 + REV17 final Git HEADowner-only 배포 대상 · 전체 218/218 PASSBFF·지도 UX·회원 D1 구현 완료; AuctionHub runtime·PostGIS DB·PUBLIC /map은 변경하지 않음
rollbackrelease mode OFF → 직전 성공판 재배포public fail-closed 유지migration 143은 additive이므로 자동 DROP 금지

지도 provider·권리·위치정보 보호 게이트

검토 영역출시 전 고정할 규칙
Court 출처주소·사건·문서는 출처·조회시각·원문 URL을 유지하고 지도 보강값과 구분
민간 참고 경계두인·GF·경매마당의 좌표·코드·이미지·타일은 재사용하지 않고 동결된 UX 기능 계약만 참고
지도 표시지도 타일·로고·출처 attribution을 숨기거나 잘라내지 않고 provider 표시 규칙 준수
좌표 이용geocode 저장·cache·파생좌표·재배포 허용범위를 provider 선택 시 최신 약관으로 재검토
상업 이용상업용 서비스·인쇄·캡처·로드뷰 연결 조건과 별도 비용·승인 여부를 출시 전 확정
키 분리JavaScript key는 등록 배포 도메인으로 제한하고 REST/server key는 브라우저 번들·로그에 포함하지 않음
현재 위치사용자 opt-in 후 세션에서만 사용하고 기본 저장하지 않으며 거부해도 전체 검색 가능
분석 로그exact viewport·정밀주소·현재위치를 분석/오류 로그에 남기지 않고 격자·집계 단위로 축소

M0–M5 점진 활성화

M0canonical 앱·소유 원장 · PARTIAL

앱 1514962와 두 SDK origin, localhost 제거는 완료했고 다른 계정 중복 도메인과 key owner/rotation/rollback 원장은 남았습니다.
종료 조건: 중복 0 · owner와 교체/복구 원장 승인

M1좌표 품질 기준선 · PARTIAL · MEASURED, NOT APPROVED

20개 균등 offset·1,000건 provider cross-check와 거리·중복 분포를 측정했으며 ground-truth 승인은 별도입니다.
종료 조건: 이상치 수동 판정 · confidence 하한 · 승인 기록

M2Provider·PostGIS·BFF Shadow · M2A PASS · M2B PARTIAL

Kakao provider는 실증 PASS이고 PostGIS DDL·same-origin BFF·revision/cache 보안은 코드/스키마 검증 완료, PUBLIC live gate는 대기합니다.
종료 조건: PUBLIC metadata·양수 revision·serving·service auth·fixed egress·REST secret·durable rate limit

M3owner-only 내부 시범 · PARTIAL · PRIVATE DEPLOYED

/admin/map-shadow를 Sites v23에 비공개 배포했고 로컬 인증 E2E·운영 HTTP 경계를 통과했으나 owner 운영 UI E2E는 대기합니다.
종료 조건: owner 운영 UI E2E · CT104 canonical 통합 · 7일 관측

MAP-UX경매마당 MAP UX PARITY · IMPLEMENTED · CODE/OWNER SHADOW VERIFIED · LIVE GATES PENDING

P0 7개·P1 5개와 PublicMapLot adapter·20개 회귀를 owner-only 코드로 구현했습니다. 전국 고정 revision 실대사·owner 운영 E2E·CT104 168시간 Shadow 전까지 상위 판정은 NOT PASSED이며 공개 경로는 열지 않습니다.
종료 조건: 전국 성능·합계 대사 · owner 운영 E2E · CT104 168시간 Shadow · PUBLIC 원좌표/PNU/내부코드 0

M4모바일·회원 연계 · CODE PASS · OWNER LIVE E2E PENDING

owner-only preview에 bottom sheet, 지도/목록 전환, 관심·저장검색·알림·상세 복귀와 회원 소유권·멱등성·exact Origin 경계를 구현했습니다.
종료 조건: 운영 owner 320·390·768px·screen reader·알림 delivery E2E · private payload 누출 0건

M5공개 활성화 · 승인 후

provider 약관·비용·키 제한, SLO·경보·롤백, 7일 shadow를 닫은 뒤 메뉴와 제품 route를 함께 활성화합니다.
종료 조건: 활성 route·nav·sitemap/noindex 정책·runbook 동시 배포

자동화할 지도검색 테스트 매트릭스

01DATA_JOIN자동검증

Court lot→canonical_public_id→PUBLIC geo projection 1:1, orphan·duplicate·wrong lot 0

02BBOX_VALIDATION자동검증

좌표 순서·국내 범위·면적·zoom·feature 상한과 antimeridian 비대상 입력 차단

03REVISION_PARITY자동검증

목록·facet의 query_hash와 지도의 viewport_hash를 분리하고 snapshot_at·projection_revision·public_id 집합 대사

04CLUSTER_DETERMINISM자동검증

동일 revision·bbox·zoom에서 cluster_id·count·확장 zoom 결정론 보장

05REDACTION자동검증

exact·parcel·district·unresolved 정책과 익명/회원 응답에서 제한 좌표 누출 0

06KAKAO_PROVIDER자동검증

등록 origin SDK 200, 미등록 origin 401, Local 200, tile·marker·clusterer·attribution

07KEY_SECURITY자동검증

JavaScript/REST key 하드코딩·번들·HTML·RSC·로그·오류·보고서 노출 0

08UI_E2E자동검증

필터→지도→marker→목록 카드→상세→동일 상태 복귀와 목록 fallback

09ACCESSIBILITY자동검증

키보드 순서·screen reader 이름·초점 복귀·200% 확대·색상 외 상태표시

10SEO자동검증

noindex,follow·sitemap 제외·canonical·동적 query 색인 차단·상세 SSR 유지

11PERFORMANCE자동검증

수도권·광역·농어촌 bbox p95, payload, cluster count, cache hit, SDK lazy-load 예산

12RECOVERY자동검증

Kakao/Local/BFF/replica/429 각각에서 지도만 닫고 목록·검색·상세와 LKG 유지

지도검색 활성화 완료 기준

01ROUTE활성화 조건

M5 전에는 /map·/map-search·/search/map 404, 전역 링크·sitemap 0건, 검색 제품면 지도 SDK 요청 0건

02CANONICAL_APP활성화 조건

앱 1514962를 단일 canonical로 고정하고 다른 계정 앱의 jauc 도메인 중복 등록·불명확 key owner 0건

03SECURITY활성화 조건

JavaScript key는 등록 origin만 허용하고 REST key는 server secret·고정 egress IP allowlist를 사용하며 번들·RSC·로그 노출 0건

04LINEAGE활성화 조건

지도 공개 좌표 100%가 Court 주소 원문과 provider·조회시각·version으로 역추적

05QUALITY활성화 조건

층화 표본 1,000건의 오좌표·타지역 좌표·공개등급 위반이 승인 임계값 이내

06CONSISTENCY활성화 조건

허용하지 않은 query를 정규화하고 동일 projection revision에서 generated_at·total·cluster가 반복 호출과 replica 간 일치

07PARITY활성화 조건

동일 query의 목록 public_id 집합과 지도 집합이 좌표 품질 제외 사유까지 대사

08PERFORMANCE활성화 조건

대표 수도권·광역·농어촌 bbox의 API p95·payload·cluster 예산 통과

09ORIGIN_E2E활성화 조건

localhost smoke가 아닌 https://jauc.co.kr 제품 화면에서 SDK·타일·marker·cluster·상세 이동·fallback E2E 통과

10ACCESSIBILITY활성화 조건

키보드만으로 필터→목록→선택→상세 복귀, 200% 확대와 screen reader 이름 검증

11MOBILE활성화 조건

320·390·768px에서 지도/목록 전환·sheet·필터·상세 이동이 가로 넘침 없이 동작

12PRIVACY활성화 조건

제한 위치·개인 주소·회원 데이터가 공개 marker·RSC·캐시·로그에 포함되지 않음

13COST활성화 조건

provider 기능 활성화·배포 도메인·키 종류·일/월 한도·유료 승인·cache hit·초과 차단·비상 비활성화 검증

14RIGHTS활성화 조건

Court 출처와 지도 attribution, 저장·cache·파생좌표·상업이용·인쇄/캡처·로드뷰 조건 승인

15RECOVERY활성화 조건

provider/API 장애 때 지도만 안전하게 닫히고 목록·검색·상세는 마지막 정상 projection으로 유지

COMPREHENSIVE PRODUCT REVIEW

전체 검수와 추가 제안을
지도계획과 분리해 관리

구현됨·검증용 표본·계획됨·미연결을 분리했습니다. 화면이 보인다는 이유만으로 운영 완료로 판정하지 않습니다.
영역현재 확인남은 연결우선순위승격 증거
메인·검색·결과실 Court BFF와 검색폼·결과·추천 8건·detail_path 상세 연결을 owner-only에서 검증regions/sigungu/taxonomy 변환과 fixed revision·snapshot·query_hash 기반 정렬·전체 pagination, 회원 행동은 잔여C3→C6고정 query 50개·fixed 100 lots·facet·URL·revision 대사
물건 상세공개 summary와 canonical_id route, 입찰가 분석 연결 구현일반 Court opaque public_id backfill과 PUBLIC/MEMBER/PRIVILEGED projection, 9개 보강 BFF·문서/권리/임차 전체 상세는 미접목C3→C6상세 100건 12섹션 lineage·익명 누출·ID 대사
월간 법원 일정AuctionHub sale-events와 lots/facets fallback으로 월 달력·법원 필터 구현월 최대 8×100 fallback 한계와 fixed revision·전국 전체성, SCHEDULE_CHANGED 소비 대사는 잔여C3→C6event 반영 지연·법원별 건수·전체 public_id 집합 대사
회사·오시는길운영 화면 구현·법인정보 중복 제거외부 지도 loader 장애 대체 유지 필요유지주소·CTA·모바일 회귀
컨설팅허브·9단계·수수료·신청과 D1 접수 구현수수료·계약·법률 문구 최종 승인 필요; 상담 row의 Court evidence 필드는 현재 미결합운영 승인폼·정책 버전·Court public_id 결합 E2E
상담 인트라넷D1 저장·AES-GCM·CSRF·멱등·속도제한·마스킹·PII_VIEWED 코드 구현허용 계정 목록·복호화 E2E 미완료, 외부 인트라넷 adapter disabledP0동일 접수 목록·상세·PII_VIEWED·outbox
회원·관리자·결제회원 세션·관심·최근·저장검색·in_app 알림·입찰분석, owner 고객/상담/analytics read·마스킹·감사를 구현법률 DRAFT로 가입·신규 저장 차단; 상담 CRM write·알림 worker·checkout/webhook/refund/실 PG는 미구현C5→C7권한 우회 0·hosted D1 0000~0007·실회원·PG 원장 E2E
Court 데이터기존 AuctionHub BFF와 별도로 8종 Court event·service-auth feed client·D1 inbox/cursor/DLQ·고정 판본 검색/상세 projection 구현운영 producer 실증거·DLQ replay 실행기·projection outbox 전달·달력/facet/법원·전체 9개 보강 projection은 잔여 게이트C0→C5중복·역순·누락·충돌·DLQ·bounded drain·fixed revision E2E
온비드 공매15157768 420행 용도코드 reference와 LKG/status route 구현lotSearch NOT_CONNECTED; 실물건·상세·입찰·결과와 일간 Proxmox runner는 미연결공식 원천 C5namespace·원문·갱신주기·물건 E2E
SEO·가입 전환metadata·canonical·robots·상세 JSON-LD·revision-safe sitemap·noindex 골격 구현owner-only라 실제 색인 불가; lot cap 500과 jauc.co.kr CT104 origin·DNS·TLS·canonical 실검증이 남음C7→C9대표도메인·봇/비회원 동등·404·구조화데이터·sitemap 전체성
지도검색M2A provider PASS와 owner-only /demo/map-search 실DB 목록·marker·상세·viewport·focus 구현원본 Geo 인증·migration144/PUBLIC v2·동일좌표 pagination·cluster parity·owner SDK E2E·CT104 168시간 관측이 남아 공개 별칭은 404M5_READY→C8→C9MAP UX 20개·활성화 15개·추가 15개·잔여 8개 해소·전국 mismatch 0; FULL_RELEASE NOT APPROVED
배포·복구Sites 커밋·버전 추적·자동 테스트; 현재 custom 소유자 1명·익명 401공개도메인·공개전환·복원훈련·자동 롤백 미완료P7→P8별도 환경 복원·공개 smoke

추가 제안 · 운영 완성도를 높이는 12개 우선 조치

01R1 · P0상태 진실 배지

모든 화면·원장·API에 SAMPLE / LIVE / PLANNED / STALE을 같은 enum으로 표시해 시안과 실자료를 혼동하지 않게 합니다.

02R2 · P0단일 query schema

검색·목록·달력·향후 지도가 같은 filter codec과 public_id를 사용해 결과 불일치와 중복 개발을 막습니다.

03R3 · P0공개 전환 사전검사

access mode를 바꾸기 전에 /admin·/mypage·/review·/preview·계획 원장과 API의 서버 권한·noindex·익명 응답을 자동 검사합니다.

04R4 · P0인증 체계 분리

운영자는 Sites SIWC·허용목록, 일반 회원은 별도 소비자 인증·객체 소유권으로 나눠 외곽 gate를 제품 권한으로 사용하지 않습니다.

05R5 · P1Court bridge 우선

outbox cursor·멱등 inbox·DLQ·replay를 먼저 연결하고 검색·달력·상담·지도를 같은 Court event에서 투영합니다.

06R6 · P1상담 운영 완결

접수번호 서버검증, 상태·배정·답변, outbox, 보존 만료·동의 철회·키 회전을 D1 운영 계약으로 묶습니다.

07R7 · P0도메인·SEO 단일 원천

대표 호스트 하나에서 metadata·canonical·robots·sitemap·allowed origins·lastModified를 생성해 도메인 전환 분리를 막습니다.

08R8 · P0법률·금융 승인 원장

수수료·VAT·계좌·약관·개인정보·지도 제3자 제공을 승인자·버전·시행일과 함께 관리합니다.

09R9 · P3계보 우선 geo 원장

Court 원주소·정규주소·PNU·공급자 좌표·공개 좌표·정밀도·수동 승인 이력을 덮어쓰기 없이 분리하고 provider adapter를 둡니다.

10R10 · P3지도 비용·장애 차단기

bbox·feature 수·rate limit·server cluster·cache·quota를 계측하고 provider 장애에는 지도만 닫아 핵심 검색을 유지합니다.

11R11 · P2무동작 UI 금지

버튼은 실제 동작·명시적 비활성·링크 중 하나여야 하며 현재 시안의 무동작 조작을 자동 검사해 단계별로 제거합니다.

12R12 · P7–P8판본별 증거·점진 공개

commit·migration·권한·Court fixture·성능·접근성·운영 URL·롤백을 manifest로 남기고 운영자→회원→일부→전체 순서로 엽니다.

CRITICAL PATH

P0부터 P8까지 닫는 실행 로드맵

각 단계는 작업 목록이 아니라 검증 가능한 종료 조건으로 닫습니다. 종료 조건을 통과하기 전에는 다음 단계가 완료가 아닙니다.
P05–7 영업일

정본·권리·범위 기준선 고정

사실 출처 정본과 서비스 저장 원장을 분리하고 두인·GF 참고 범위와 종료조건을 먼저 고정합니다.

선행
없음

구현 작업

  1. 제이옥션 전용 테이블·migration·route·worker·공개 도메인 책임표와 source of truth를 이 저장소에 고정
  2. 신규 migration 순번과 SHA-256 ledger, rollback 조건을 Codex 자동검증으로 고정하고 파괴 변경만 DESTRUCTIVE_DOWNTIME 게이트 적용
  3. 대법원경매=PERMANENT_PRIMARY, 두인·GF=REFERENCE_SNAPSHOT, 제이옥션 PostgreSQL=TARGET_STORE lifecycle 고정
  4. 두인 65개 기능계약·75개 원본 표면을 target route·API·원천·인수조건에 연결하고 A/H/S/R 근거와 E2E 상태를 분리
  5. 세션 019eea6e…를 Court 생산자로 고정하고 outbox·cursor·service auth·DLQ/replay의 생산자/소비자 책임표 승인
  6. AuctionHub PostgreSQL/PostGIS를 제이옥션 내부 canonical·projection·enrichment 실행면으로 재정의하고 외부 공개 runtime은 검증 증거로만 분리
  7. Court·공식 공공 API source allowlist와 GF·두인 required/new write/fallback 0의 source sunset 원장 고정
  8. 학교알리미 등 외부 credential을 회전하고 0600 secret 한 곳 외 Git·HTML·URL·로그·보고서 원문 0 검사
  9. 민간 경매사이트 connector·자동로그인·credential·scheduler의 disable/revoke/delete/egress-deny 시점과 책임자 확정
  10. 사건 안정키·출처별 alias·canonical value status·수동 override 감사 규칙 승인
  11. WON-SEO-06 금지 fixture와 WON-SEO-08 source_event_key·중복·stale 상태 invariant를 Court schema 출시 차단조건으로 등록

단계 종료 조건

  • 정본 DB·배포 SHA·migration ledger가 1개이며 사실 정본(Court)과 저장 원장(제이옥션)이 구분됨
  • 65개 기능계약·75개 표면과 모든 공개 필드가 Court raw→canonical→event→API→화면→테스트로 역추적됨
P110–15 영업일

대법원 파서 MVP·Raw·정규화

P2 화면보다 먼저 대법원 신규·변경 사건을 raw→canonical→projection까지 독립 갱신합니다.

선행
P0

구현 작업

  1. 법원·날짜별 discovery, hot queue, 사건·물건·기일 상세 parser와 checkpoint/lease/DLQ를 최소 운영 단위로 구현
  2. source_system/raw_payload/source_record/file_object에 대법원 URL·취득시각·hash·parser/DOM version 메타 저장
  3. 현행 court_raw_payloads의 누락 열 source_url·fetched_at·http_status·parser_version·schema_version·rights/publication_status를 무손실 migration
  4. court_publication_outbox와 /internal/v1/court/changes·/evidence API를 추가해 실행 중 생산자를 중단 없이 연계
  5. 관리비·관공서·비교사례·배당·건축물·토지·학군·학교의 raw→normalized→canonical→publication schema bridge와 rollback을 additive migration으로 구현
  6. source run·checkpoint·watermark·projection revision·API freshness를 한 release ledger로 연결하고 정적 총계 대신 같은 snapshot 대사
  7. 법원 사건 안정키에 1회 legacy alias를 연결하되 valid_to 이후 legacy 값은 canonical 후보에서 제외
  8. present·unknown·none_confirmed·parsing_error·external_session_required·conflict·pending_review 상태를 필드 단위 적용
  9. canonical 모듈을 실제 ingest와 제이옥션 API에 등록하고 단일 route 계약으로 유지
  10. 검토 backlog와 법원 상세 공백을 위험도·공개영향 기준으로 분류하는 queue 구현
  11. WON-SEO-08 최신 검증 event 계산과 WON-SEO-10 publicId+content_version+transition_type IndexNow outbox를 기존 Court outbox에 병합

단계 종료 조건

  • 두인·GF를 차단해도 Court 신규/기일변경 표본이 15분 이내 공개 projection까지 반영
  • 대표 100건 원문↔정규값↔API lineage 100%, 정체성 오병합·민간값 자동승격 0건
P210–15 영업일

검색·목록 워크벤치 통합

두인·GF의 장점을 참고해 만든 제이옥션 화면을 Court-sourced projection에만 연결합니다.

선행
P1 Court ingest gate

구현 작업

  1. 사건/물건, 법원·지역 종속선택, 용도 계층, 상태·결과·유찰·기일·가격·면적·용도지역 필터를 event projection에 연결
  2. 특수조건 OR/AND/EXCLUDE, 저장검색, URL 직렬화, 예상건수, 초기화와 빈/오류/부분지연 상태 구현
  3. 안정 정렬·20/30/50/100건·페이지·PC 표/모바일 카드·선택보기·인쇄·엑셀·관심등록 구현
  4. 홈 10개 빠른검색 preset과 신규·예정·법원·일정·자동차·통계·전문가 화면을 공통 query schema로 연결
  5. 임의 검색결과는 noindex,follow로 두고 법원·지역·용도·기일 중 고유 설명과 실물건이 있는 landing만 색인
  6. 목록 카드·표·허브에 설명적인 SSR <a href>를 넣어 모든 공개 상세을 3단계 이내 발견 가능하게 연결
  7. WON-SEO-02 결정적 메타·WON-SEO-03 관련문서·WON-SEO-09 단일 HTTPS publication identity를 같은 PUBLIC_INDEX content version에서 생성

단계 종료 조건

  • 고정 검색 50개에서 결과·facet·정렬·페이지·내보내기 대사 일치
  • 320·390·768·1440px에서 가로 넘침·잘린 조작·12px 미만 본문 0건
P312–18 영업일

상세 증거실·지도·문서 완성

판단 근거를 한 화면에서 확인하고 각 값의 출처와 최신성을 검증할 수 있게 합니다.

선행
P1, P2

구현 작업

  1. 관련물건·사건/법원·기일이력·목록/감정·현황·임차인·등기/소멸·관련사건·실거래·역/관공서 projection 연결
  2. 모든 Court 공개값 옆에 출처·조회시각·원문 링크·SHA-256 요약·parser version·정정 이력을 표시하고 원문 증거 drawer 제공
  3. 사진, 사건/기일/송달, 현황조사, 부동산표시, 감정서, 토지/건물등기, 인근진행·매각·공매 자료 뷰어 구현
  4. PUBLIC_INDEX와 MEMBER_DETAIL projection을 스키마·API·cache key부터 분리하고 검색로봇/비회원에게 같은 공개 SSR을 제공
  5. 회원값을 초기 HTML·RSC·JSON-LD·prefetch에 넣지 않고 로그인 확인 뒤 private,no-store API와 만료 서명 URL로만 전달
  6. 예상 배당순서·입찰표·최우선변제 계산은 입력값·기준일·면책문구·계산 버전과 함께 저장
  7. 9개 canonical enrichment route를 제이옥션 service-authenticated origin·same-origin BFF로 연결하고 내부 UUID·PNU·원좌표·raw path·storage key를 제거
  8. 건축물대장·토지/공시가격/토지이용·관공서·공식학구/인접학교·관리비/관리사무소·비교사례를 상세 12섹션의 ready/empty/not-applicable/pending/stale/failed 상태로 구현
  9. 회원 배당 simulation은 공식 배당표와 분리하고 재원·비용·채권·미수치화 사유·입력·산식 버전을 private,no-store로 저장
  10. 지도·로드뷰·인근물건, 관심 분류·우선순위·메모·댓글·업로드·공유·선택 인쇄를 권한별 구현
  11. 600px 고정 내부 표를 모바일 요약카드+상세 펼침으로 교체하고 확대 제한 viewport 제거
  12. WON-SEO-01 핵심 사실표와 WON-SEO-07 사건·대상목록·기일결과·건축물 4종 SSR 표 팩을 실물건 100건 projection과 대사

단계 종료 조건

  • 상세 100건의 필수값·사진·문서·기일·임차·등기 대조 통과
  • 문서 공개등급·마스킹 위반 0건, 깨진 미디어/외부세션에 안전한 대체 상태 제공
P410–14 영업일

회원·개인화·결제 경계

두인의 유용한 개인화 흐름을 참고하되 경매 알림은 Court event만 소비합니다.

선행
P1, P3

구현 작업

  1. 가입·로그인·복구·세션회전·rate limit과 관심 분류·최근열람·저장검색·캘린더·알림 구현
  2. 가입 CTA의 내부 return_to·section·filter를 서명/allowlist 검증하고 가입 뒤 동일 물건 잠금 위치로 복귀
  3. 회원 상세 API·파일에서 401/403·객체 소유권·등급·권리상태를 서버 재검증하고 익명 누출 회귀테스트를 고정
  4. 프로필·비밀번호·휴대폰 검증·주소·선호·마케팅 동의를 목적·보존기간·철회 이력과 함께 관리
  5. 지역·기간형 이용권, 쿠폰, 결제·환불·영수증은 PG webhook 멱등성과 금액 원장 대사 후 활성화
  6. AUTH 조사에서 본 개인 계정 값은 설계·fixture·로그에 저장하지 않고 테스트 전용 계정만 사용

단계 종료 조건

  • 회원 격리·CSRF·세션고정·결제 중복·webhook 재시도 E2E 통과
  • 실사용자 개인정보·비밀번호·세션·결제값 fixture/log 포함 0건
P515–20 영업일

콘텐츠·고객·상담·관리자

게시판·학습자료부터 CRM·운영감사까지 콘텐츠와 업무 흐름을 한 권한 모델로 완성합니다.

선행
P1, P4

구현 작업

  1. 공지·FAQ·칼럼·대출·정책·뉴스, 용어·절차·서식·관할·관련사이트를 CMS와 검색·첨부 계약에 연결
  2. 고객 검색·분류·배분·메모·PII 열람, 상담 상태·담당·SLA·답변·알림을 append-only 이력으로 구현
  3. 법원기일 읽기전용과 직원일정 편집형 달력, 회원·운영자·등급·SMS·감사로그·반출 권한 분리
  4. 서비스안내·개인정보·이메일수집거부·사이트맵과 403/404/500/점검 화면을 실제 정책에 연결

단계 종료 조건

  • 회원·상담원·관리자 권한 우회 0건
  • PII 원문열람·배분·상태변경·다운로드가 사유와 함께 100% 감사됨
P612–18 영업일 + 30일 burn-in

대법원 준실시간 운영·드리프트 복구

P1 Court 파서를 5–15분 목표의 장기 운영 파이프라인으로 강화하고 민간 경매사이트 의존을 0으로 만듭니다.

선행
P0, P1

구현 작업

  1. 당일/향후 7일 5분, 신건/변경 15분, 진행사건 1시간, 전 법원 1일 cadence를 adaptive throttle로 오케스트레이션
  2. 대법원 ingest→raw→diff→canonical→projection→cache invalidation을 run_id·배포 SHA·checkpoint로 연결
  3. 신건·사건·물건·기일·상태·결과·문서·사진 event를 outbox cursor로 전달하고 중복·역순·누락·replay를 자동 검증
  4. 두인·GF scheduler·connector·credential이 존재하지 않음을 검사하고 source_record 신규 write와 outbound 요청을 계측
  5. 429/403/CAPTCHA/DOM 변경 시 우회하지 않고 자동 중단·격리·DLQ·백오프·경보하고 파괴적 재시작만 DESTRUCTIVE_DOWNTIME 승인
  6. 누락 법원·건수 급변·필수 필드·staleness·검토 backlog·파일 hash 변경 경보와 품질 대시보드 구현
  7. GF required timer·두인 watch·신규 민간 canonical write를 종료하고 Court·공식 공공 원천만 required인 freshness guard로 교체
  8. 15개 공공 timer의 enabled/active·next trigger·last success·checkpoint·DB/API watermark와 5분 contract guard 자가복구를 같은 운영 대시보드에서 검증
  9. 문서 178건 canonical·인증 후속 1,076건·매각명세서 source pending 8,862건을 availability 상태와 재가용 감시로 운영하고 다른 물건 문서 대체 0을 보장

단계 종료 조건

  • 7일 shadow와 30일 Court-only burn-in에서 중복·상태전이 위반·민간 outbound·legacy 신규 write 0
  • Court 장애 시 마지막 정상판+stale 표시를 유지하고 민간 fallback 호출 0
P710–15 영업일

보안·접근성·SEO·복구 출시 게이트

공개 전환 전에 개인정보, 검색유입, 모바일 품질, 복원 가능성을 증거로 닫습니다.

선행
P2–P6

구현 작업

  1. HTTPS·대표호스트·301·canonical·분할 sitemap·structured data·검색결과/회원/관리자 noindex 적용
  2. 공개 상세 200+self canonical·무효 ID 404/410·이전 ID 1:1 301·장애 503와 soft-404 0건을 검증
  3. Google·Naver 기준으로 봇/비회원 동등성, 내부링크, 공개 구조화데이터, 회원 payload 누출 0건을 자동 검증
  4. CSP/HSTS/보안헤더·rate limit·비밀회전·백업·복구·침해/수집중단 훈련 수행
  5. WCAG 키보드·초점·확대, 320–1440 반응형, 브라우저, API p95와 대용량 표·문서 성능 검증
  6. 공개 refresh 14회 실패와 mobile 404를 제거하고 ingest→canonical→render→public URL smoke 트랜잭션 구현
  7. WON-SEO-04 조건부 RSS·05 SERP 코호트·06 회귀팩·09 UA/alias 행렬·10 조건부 IndexNow를 한 publication gate에서 검증

단계 종료 조건

  • 별도 환경 DB·파일·설정 복원 후 핵심 E2E 성공
  • P0/P1 보안·critical 접근성·색인/404·공개 release smoke 오류 0건
P87–14일

병행운영·점진전환·완료판정

내부 운영자부터 공개 트래픽까지 단계적으로 옮기고 모든 계약을 증거 묶음으로 닫습니다.

선행
P7

구현 작업

  1. 운영자→테스트회원→일부 공개→전체 공개 순으로 feature flag 전환하고 구 시스템은 읽기전용 유지
  2. 검색·상세·수집·회원·결제·상담·알림·SEO·404를 일일 대사하고 SLO/오류예산 초과 시 자동 롤백
  3. 65개 두인 기능계약·75개 표면과 GF 계약 화면의 E2E evidence, 데이터 lineage, 권리표, 복구 결과를 release bundle로 보존
  4. 두인·GF worker·scheduler·credential·DNS/egress 0건을 확인하고 참고 snapshot 보존기간·삭제일 승인
  5. 운영자 인수인계·장애 대응·자료 정정·출처 문의·비밀 회전·유지보수 SLA 승인
  6. WON-SEO-05 Search Advisor·익명 SERP·Yeti 로그를 4주/8주 대사하고 WON-SEO-10 수신 후 재수집 시간을 별도 KPI로 보존

단계 종료 조건

  • 22개 완료 게이트와 65개 기능계약·WON-SEO-01~10 전부 통과, 미해결 P0/P1 0건
  • 구·민간 사이트 접근 없이도 Court 신규·변경·결과와 전체 제품 기능이 정상

PAGE TO API CONTRACT

25개 제품 화면군을 실제 동작으로 완성

페이지 이름만 맞추지 않고 사용자 동작, API, 데이터 원천, 권한과 완료 테스트를 한 계약으로 관리합니다.
화면군권한완성할 실제 동작재사용·보강 API
메인·빠른검색PUBLIC추천·오늘신규·반값·장기유찰 등 10개 preset/api/v1/lots · /stats · saved query schema
통합 상세검색PUBLIC사건·주소·법원·용도·가격·면적·특수조건 조합/api/v1/search/options · /facets · /estimate-count
검색결과 워크벤치PUBLICnoindex,follow · 정렬·20/30/50/100·선택보기·인쇄·엑셀·관심/api/v1/lots · /exports · /member/favorites
법원·지역·역세권PUBLIC종속 필터·역세권, 지도분할은 M5 이후/api/v1/search/facets · /stations · 예정 /api/v1/lots/map
자동차·공장·특수물건PUBLIC유형별 필드와 특수조건/lots?asset_type · canonical traits
기일·신건·예정PUBLIC날짜·법원별 일정과 상태전이/sale-events · /calendar-projection
통계·전문가·샘플PUBLIC집계 근거·콘텐츠·상담 전환/stats · /content · /consulting-leads
공매PUBLICSAMPLE·NOINDEX에서 온비드 공식 검색·상세·입찰 이동으로 게이트 승격15157768 reference + Onbid 목록/상세/입찰 adapter
물건상세MIXED공개 색인요약 SSR + 가입 후 권리·임차·문서·전체이력/lots/{public_id}/public · /member/lots/{public_id}
사진·문서 증거실MIXED사진·송달·현황·감정·등기·인근사례/lots/{id}/files · evidence policy
공공보강 요약PUBLIC건축물·토지·관공서·학교·관리비·비교사례 coverage와 같은 snapshot freshness/lots/{public_id}/public-data · same-origin BFF
건축물·토지대장MIXED공개 핵심값 + 회원 전체 대장·공시가격·토지이용 이력/lots/{public_id}/building-ledger · /land-ledger
관공서·학군·학교PUBLIC공식 관할기관·공식 학구 배정·인접 학교·학교 교육지표/lots/{publicId}/public-offices · /school-zone · /schools/{schoolPublicId}
관리비·비교사례MIXED확정 금액/연락처 분리·경매/RTMS 범위와 표본·fallback 근거/lots/{publicId}/maintenance-fee · /comparables
지도·인근물건MIXEDPLANNED: 공개등급 좌표·역·관공서·진행/매각/공매예정 /api/v1/lots/map · /lots/{publicId}/nearby · provider adapter
입찰·배당 도구MEMBER입찰표·최우선변제·예상배당 · 공식 배당표와 추정 simulation 분리/lots/{publicId}/distribution-simulation · /calculators · versioned assumptions
로그인·가입·복구MEMBER세션·검증·안전한 복귀/api/v1/member/*
관심·저장검색·최근열람MEMBER분류·우선순위·변경알림/favorites · /saved-searches · /recent-views
개인 캘린더MEMBER관심 기일과 개인 일정 분리/member/calendar · /sale-events
이용권·결제·쿠폰MEMBER지역/기간 상품·결제내역·환불/plans · /payments · /coupons · PG webhook
프로필·동의MEMBER비밀번호·연락처검증·주소·선호·동의이력/profile · /consents
게시판·학습·서식PUBLIC공지·FAQ·칼럼·정책·용어·절차·다운로드/content · /attachments
사이트 정책·오류PUBLIC안내·개인정보·거부·사이트맵·403/404/500static policy · incident status
고객·상담 관리자ADMIN배분·메모·PII·SLA·답변·알림/admin/customers · /consulting-leads
운영·품질 관리자ADMIN수집·검토큐·lineage·감사·release/admin/operations · /quality · /audit

화면 계약 밖에서 함께 완성할 운영 범위

01사진 전체·문서 뷰어·인쇄 전용·공유 미리보기·파일 접근 만료02저장검색 알림·가격/기일 변경 알림·발송실패·수신거부·빈도 제한03회원/운영자·등급·상품·쿠폰·SMS·CMS·추천·뉴스·서식 관리04자료 정정·출처 문의·삭제/보존·개인정보 열람/반출·감사 증거05API 문서·운영 runbook·장애/복구·변경관리·비밀 회전·SLA06robots·sitemap·canonical·structured data·리다이렉트·오류 페이지

DEFINITION OF DONE

22개 게이트가 전부 닫혀야 “완료”

화면이 보이거나 API가 200인 것만으로 완료 처리하지 않습니다. 범위·출처·실자료·업무·보안·복구의 증거가 모두 필요합니다.
01COVERAGE범위

두인 65개 기능계약·75개 표면과 GF/법원/온비드 계약이 route·API·원천·E2E에 100% 연결

02SOURCE출처

공개 필드의 정본/보강/금지·조회일·원문·권리·lineage 100%

03DATA실자료

가상 운영자료 0건, conflict/pending_review를 확정값으로 노출 0건

04ROUTE라우트

공개·회원·관리자·API·파일의 정상/빈/오류/권한 route 계약 100%

05DETAIL상세

사건·물건·기일·상태·결과·원문 증거와 REV21의 12개 상세 섹션 대사 통과

06FUNCTION실동작

모든 링크·버튼·폼·필터·저장·결제·내보내기가 API/E2E로 검증

07SYNC수집

Court 5–15분 목표·일일 전체대사, 중복 0, 멱등 재실행, 부분완료 범위 정확 보고

08ENRICHMENT공공 보강

9개 canonical route의 raw→normalized→canonical→PUBLIC/MEMBER lineage와 실 lot 100건 값·null·단위·중복 대사 100%

09FRESHNESS최신성

connector별 enabled/active·next trigger·last success·checkpoint·DB/API watermark·revision을 대사하고 LKG/stale 오판 0

10SOURCE_SUNSET민간 종료

GF·두인 required timer·신규 canonical write·운영 fallback·브라우저/공개 runtime 직접 호출 0

11INDEPENDENCE독립성

PointAuction 연결 및 두인·GF 자동로그인·scheduler·신규 write·fallback·outbound 0, Court-only 30일 통과

12COURT_ONLY_30D30일 관측

C2 source sunset 완료 뒤 새 기준선 0/30부터 Court 신규·변경·결과·장애복구와 민간 outbound 0을 30일 연속 증명

13AUTH권한

PUBLIC/MEMBER/ADMIN과 외부세션 경계의 서버 권한 우회 0건

14PAYMENT결제

PG sandbox 주문·승인·중복웹훅·취소·환불·이용권 원장 대사 통과

15PRIVACY개인정보

마스킹·열람사유·동의·보존·반출·비밀 로그 감사 100%

16COPYRIGHT권리

출처표시·원문 링크·공개등급·삭제/제한 요청과 파일 권리정책 100%

17MOBILE모바일

320·390·768·1024·1440px에서 표·필터·상세·지도·결제 핵심 흐름 조작 가능

18QUALITY품질

320–1440px 넘침 0, axe critical 0, 핵심 API/화면 p95 예산 통과

19SEO검색

대표호스트·301·canonical·sitemap·structured data·noindex·404 오류 0건

20SEO_DETAIL상세 색인

WON-SEO-01~10과 100건 PUBLIC_INDEX 표·event·publication·4주/8주 증거면 대사 통과

21AUTONOMY실행 책임

P0~P8와 열린 작업 100%에 Codex 실행·자동증거·C trigger·rollback을 지정하고 사용자 수동지시 0건

22RECOVERY복구

별도 환경 복원과 공개 URL smoke 실패 자동 롤백 후 핵심 E2E 성공