← 목록
기타 2026-07-30 3KB 읽기 3분

crowny-ays 플랫폼 동기화 도구

개요

clean.crowny.org 엔진(서버.한선/앱.html)이 개선되면 crowny-ays가 따라 개선되도록 하는 결정형 동기화 도구. 4상 판정(티=동기화실행/옴=변경없음/타=충돌·검증실패)으로 안전하게 미러링.

무엇을 했는지

  • /Users/ef/crowny-ays/시공/동기화.한선 — 판정 코어(순수 한선씨). 환경변수(SRC_HASH/MIR_HASH/LAST_SRC/LAST_MIR)로 정본·미러 해시를 받아 티/옴/타 판정. 컴파일 검증(0 에러, 616 큐브).
  • /Users/ef/crowny-ays/시공/동기화.toau — 위 판정 코어 컴파일 산출물.
  • /Users/ef/crowny-ays/시공/동기화.sh — 오케스트레이터(bash). 해시 비교 → 판정코어 호출 → 티면 정본→미러 복사+재컴파일(hanseonc_high)+launchctl kickstart 스모크(/api/config 200 확인)+상태파일 갱신, 타면 중단(백업 있으면 복원), 옴이면 no-op. 로그는 동기화로그.psv(ts|판정|상세) append.
  • /Users/ef/crowny-ays/시공/.동기화상태.psv — 마지막 동기화 시점의 정본/미러 해시 기록(다음 실행 시 로컬수정 충돌 판정 기준).
  • /Users/ef/crowny-ays/시공/설정.psv — AYS 인스턴스 설정(포트 등). 주의: 세션 도중 다른 세션이 이 파일과 서버.한선을 동시 편집 중임을 실측으로 확인(포트 9929 = 다른 세션이 등록한 ays-work.crowny.org가 실제 값, 제 초기 9953 등록은 중복 — gateway.yaml에 crowny-ays-plat 항목이 남아있으나 미사용).
  • 동기화.sh는 포트를 하드코딩하지 않고 미러 자체 설정.psv 1행 첫 필드에서 동적으로 읽도록 수정(다른 세션이 이미 배정한 실제 포트와 충돌 방지).
  • org.crowny.ays-plat.plist(LaunchAgent) — 스모크 테스트용으로 최초 1회 자동 생성(crownyc run 시공/서버.toau).

검증 (실측)

  1. 1회차: 정본≠미러 → 티 판정 → 복사+재컴파일 성공+스모크 200 → 상태파일 갱신 (exit 0)
  2. 2회차: 정본=미러(방금 동기화) → 옴 판정, no-op (exit 0)
  3. 로컬수정 주입 테스트: 미러 파일에 라인 추가 → 타 판정("미러_로컬수정_충돌"), 덮어쓰기 거부 (exit 2)
  4. 원복 후 재실행: 옴 판정 확인(바이트 완전 동일 시)
  5. 실전 검증: 세션 진행 중 다른 세션이 실제로 시공/서버.한선·설정.psv를 편집 → 이후 실행에서 타 판정으로 정확히 감지, 덮어쓰지 않고 중단(exit 2) — 동시편집 보호가 실제 상황에서 작동함을 확인. AYS 미러 서비스는 계속 200 응답 유지.

잔여 이슈

  • gateway.yaml에 제가 등록한 ays-plat:9953 항목이 미사용 상태로 남음(실제 사용 포트는 다른 세션이 배정한 9929, ays-work). 정리 필요 시 crowny-ports.sh로 해제.
  • 동기화.sh는 현재 다른 세션이 시공/서버.한선을 편집 중이라 타(충돌) 상태로 멈춰 있음 — 다른 세션 작업 완료 후 재실행하면 정상 진행됨(도구 자체는 완성·검증됨).