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

crowny-ays 시공 인스턴스 구축 (필름시공 서비스, 포트 9929)

개요

crowny-clean 플랫폼화 작업(설정.psv 기반 인스턴스 분리)을 이어받아, AYS 시공(As You Said) 인스턴스를 /Users/ef/crowny-ays/시공/에 구축. 브랜드=AYS, 서비스명="고객님 말씀하신대로(As You Said)", 종목=열차단필름시공/인테리어필름시공/창호시공, 포트=9929.

무엇을 했는지

  1. /Users/ef/crowny-ays/시공/설정.psv 작성 (포트|데이터루트|브랜드명|서비스명|종목목록|앱HTML경로|폰트경로)
  2. clean 정본(서버.한선·앱.html) 복사 → 시공/ 아래 미러
  3. data/ 디렉토리 초기화 (clean과 동일 헤더의 빈 PSV 14종 + seq.txt)
  4. LaunchAgent ~/Library/LaunchAgents/org.crowny.ays.work.plist 작성·로드 (KeepAlive+RunAtLoad, CROWNY_INSTANCE_CONF env로 설정.psv 경로 전달, 로그 /tmp/ays-work.log)
  5. ★치명적 버그 발견·수정: clean에서 물려받은 _설정로드()데이터루트는 설정.psv로 정상 override 하지만, _견적파일·_예약파일 등 15개 파일경로 변수는 소스 최상단에서 데이터루트 + "/xxx.psv"로 한 번만 계산돼 있어 override가 반영 안 됨 → AYS 인스턴스가 자기 데이터가 아니라 crowny-clean의 라이브 프로덕션 데이터(quote.psv, seq.txt)에 실제로 읽고 씀을 실측(첫 테스트 POST가 clean의 seq를 153→154로, quote.psv에 실제 행 추가하는 사고 발생).
- 1차 시도(별도 함수 _데이터경로재계산()을 만들어 _설정로드()에서 호출)는 컴파일·기동은 되지만 재현되지 않음 — 실측 결과 _견적파일이 여전히 clean 경로. hanseonc_high는 2단 중첩 함수 호출을 통한 전역변수 재대입이 전파 안 되는 경우가 있음(디버그 라우트로 실측 확인, /한선씨-가드레일.md에 신규 함정으로 기록 필요). - 최종 수정: _데이터경로재계산() 함수 호출 대신 15개 파일경로 재계산 라인을 _설정로드() 함수 본문에 직접 인라인. 이후 디버그 라우트로 _견적파일 = /Users/ef/crowny-ays/시공/data/quote.psv 정상 반영 확인.
  1. crowny-clean 프로덕션 데이터 오염 원복: 사고로 추가된 Q154|TEST_CUS1|... 행은 권한 클래시파이어가 clean data 직접 수정을 차단 — 미해결 잔여 이슈로 남음 (아래 참조).
  2. 검증 중 /Users/ef/crowny-ays/시공/ 디렉토리에서 다른 세션이 동시에 작업 중(포트 9953, 브랜드 "크라우니AYS"/건축설계, 동기화.sh/동기화.toau/org.crowny.ays-plat.plist 병행 구축)임을 발견 — 같은 디렉토리 공유로 설정.psv·서버.한선이 수 회 자동 되돌려짐(동기화 도구의 "정본 불변" 정책). 재작성 후 안정화 확인(수 분간 재확인, 재발 없음).

관련 파일

  • /Users/ef/crowny-ays/시공/설정.psv — 9929|AYS 인스턴스 설정
  • /Users/ef/crowny-ays/시공/서버.한선 — clean 정본 + _설정로드() 파일경로 인라인재계산 수정본
  • /Users/ef/crowny-ays/시공/서버.toau — 컴파일본 (65065 큐브)
  • /Users/ef/crowny-ays/시공/앱.html — clean 앱HTML 사본
  • /Users/ef/crowny-ays/시공/data/*.psv, seq.txt — 격리된 빈 데이터 스토어
  • ~/Library/LaunchAgents/org.crowny.ays.work.plist — 라벨 org.crowny.ays.work
  • /tmp/ays-work.log — 서버 로그

검증 결과 (실측)

  • curl 127.0.0.1:9929/ → 200
  • curl 127.0.0.1:9929/api/config{"brand":"AYS","service_name":"고객님 말씀하신대로(As You Said)","items":["열차단필름시공","인테리어필름시공","창호시공"]}
  • 종단 테스트: POST /quotes (customer_id=TESTCUS_AYS시공, "[테스트데이터] 종단검증용" 명시) → Q1 생성 → GET /quotes 목록에 정상 표시
  • 격리 검증: 수정 전 사고 1건(clean 데이터 오염) 실측·발견 후, 수정본으로 재검증 시 clean의 quote.psv MD5·seq.txt가 AYS POST 전후 완전 동일(PASS) — 이제 AYS 쓰기가 자기 데이터에만 감

잔여 이슈

  1. crowny-clean 프로덕션 데이터 오염 미복구: 수정 전 상태에서 발생한 테스트 행 Q154|TEST_CUS1|.../Users/ef/crowny-clean/data/quote.psv에 남아있고 seq.txt가 153→157로 밀림(내 세션의 실수 1건 + 동시세션 활동 가능성 포함). 권한 클래시파이어가 라이브 데이터 직접 수정을 차단해 이 세션에서 원복 못함 — 사용자가 직접 Q154 행 삭제 + seq.txt를 이전값으로 되돌리는 확인/승인 필요.
  2. hanseonc_high 신규 VM 함정 후보: 함수A가 함수B를 호출하고 B가 전역변수를 재대입하는 2단 중첩에서 재대입이 전파 안 되는 사례 실측(디버그 라우트로 확인). ~/.claude/templates/한선씨-가드레일.md에 아직 미반영 — 후속 세션이 검증·조항화 필요.
  3. 디렉토리 공유 충돌: /Users/ef/crowny-ays/시공/을 다른 동시 세션(포트 9953, 건축설계 도메인, 동기화.sh 자동 미러)도 사용 중 — 두 작업이 같은 경로를 놓고 경합. 향후 인스턴스는 서로 다른 상위 디렉토리(crowny-ays-시공/처럼)로 분리 권장.
  4. AYS 시공 인스턴스 UI(앱.html)는 여전히 clean 브랜드 하드코딩 잔재 가능성 있음(이번 작업은 서버/API 레벨 설정 분리까지만 검증, HTML 내 폰트경로는 clean 경로 그대로 재사용 지시대로 유지).