---
status: PROMOTION_LEASE_AND_SIGNED_REPLICA_READINESS_STAGED
observed_at: 2026-08-09T17:53:00+09:00
main_host_shutdown_safe: false
production_continuity: false
router_configuration_required: false
---

# 자동 승격 임대와 서명된 데이터 replica 준비 증명

## 완료

- 다섯 서비스의 `PROMOTED_ACTIVE` gate를 v2로 강화했다.
- MongoDB replica set 이름만 확인하던 기존 조건에 writable primary, 데이터 멤버 3개 이상, logical session, majority write probe를 추가했다.
- 서비스별 `PLAI_REPLICA_ID`와 프로세스별 holder ID를 사용한다.
- Mongo majority write로 단일 promotion lease와 증가 fencing token을 발급한다.
- 다른 replica가 보유한 lease는 승격을 거부한다.
- lease 갱신 실패 시 HTTP gate를 즉시 닫고 기존 Socket.IO 연결을 끊은 뒤 프로세스를 fail-stop한다.
- 합성 MongoDB 3노드에서 primary process를 종료한 후 다른 primary 선출, majority write, session, Socket.IO broadcast와 5개 promotion lease 갱신을 모두 증명했다.
- 시험 mongod, 포트와 임시 데이터는 모두 제거했다.
- PC Sync 후보 `1.4.110-data-replica-readiness-attestation-default-off-locked`을 만들었다.
- 후보 PC는 mTLS leaf/private-key/CA chain, 인증서 잔여기간, 디스크 암호화, 별도 volume의 격리 restore marker를 자동 점검한다.
- 결과는 기존 Ed25519 node identity로 서명하며 비밀키, 인증서 내용과 로컬 경로를 전송하지 않는다.
- 서버는 기존에 결합된 node key의 서명과 별도 trusted CA SPKI pin을 통과한 evidence만 저장한다.
- 복제 readiness 진단의 고정된 0 값을 제거하고 실제 fresh signed evidence를 집계하도록 바꿨다.
- 후보 설치, supervisor, forced restart, rollback, single-install, validator tunnel 통합시험과 candidate attestation을 통과했다.
- 실제 다섯 서비스 passive loopback canary를 다시 실행했고 health 200, dynamic/write 503, worker/socket fence, 종료 후 port close를 확인했다.
- AISFOR는 PM2 포트 경합을 정리해 PID 30200 단일 instance로 복구하고 dump를 저장했다.

## 활성화하지 않은 항목

- PC Sync 1.4.110의 외부 PC rollout은 아직 실행하지 않았다.
- 운영 Mongo replica, upload/media ciphertext transfer, public DNS/HTTPS 전환은 실행하지 않았다.
- 운영 validator, operator signing과 transaction submission은 변경하지 않았다.

## 현재 차단 조건

현재 live heartbeat가 다시 모이지 않아 fresh node는 0으로 관측됐다. 또한 stable public HA ingress와 세 개 독립 PC의 trusted-CA mTLS, 암호화 volume, 격리 restore workspace가 아직 실환경에 provision되지 않았다. 따라서 메인 서버 종료 안전 판정은 계속 false다.

