← gw

함대동기화법 — 헌법 제3장(제7조) 시행법

근거: CONSTITUTION.cst.md 제7조 소관: 수집기·정거장·서비스처 간 구조 동기화


제1조 (동기화 대상 범위)

구조 변경 시 다음 전부에 반영한다 — 하나라도 빠지면 헌법 제7조② 위반이다. 1. mb1(맥북) 2. mm1(맥미니) 3. linux1(l1h1 정본) 4. linux2 5. linux3(예정 — 아직 구축 전이나 동기화 대상 범위에 선반영) 6. win1 7. del1 8. lin1 등 소형 수집기 함대 9. 최종 서비스 프로덕션 서버(해당 시)

제2조 (동기화 방법)

  1. 구조(빈 폴더)만 옮기므로 rsync -a(파일 없이 디렉토리만) 또는 동등 수단을 기본값으로 쓴다.
  2. 대상 경로의 상위 디렉토리가 없으면 먼저 생성한 뒤 진행한다(과거 실패 사례: linux1 raw/p 소유권 문제로 하위 생성 실패 — 소유권도 함께 점검할 것).
  3. 디스크 여유공간이 임계 수준(예: 여유 100MB 미만)인 기기는 동기화를 보류하고 먼저 사용자에게 알린다.

제3조 (동기화 주기)

구조 변경이 발생한 즉시(같은 세션 턴 내) 전 함대 동기화를 시도한다. 실패한 기기는 목록으로 남겨 다음 접속 가능 시점에 재시도한다.

제4조 (수집기 자체 건강 감시 의무) 🔴

① 구조 동기화뿐 아니라, 각 수집기(mb1·mm1·win1·del1·linux1·linux2·lin1·lin2 등) 자신의 로컬 디스크·raker 프로세스 건강도 함대 운영의 일부로 본다.

② 05_정거장모니터링법.law.md의 3단계 임계치(50/70/90)와 센서 배치 원칙은 정거장 전용이 아니라 수집기 자신의 로컬 디스크에도 동일하게 적용한다 — 2026-09-10 macmini 디스크 만석 사고(raker_out 495GB가 회수 파이프라인을 우회해 로컬에 무한 축적)가 이 원칙 부재로 발생한 실제 사고 사례다.

③ raker 스크립트가 정거장(NFS 마운트) 경로가 아닌 로컬 임의 경로에 결과물을 쓰도록 설정되어 있으면, 그 자체로 헌법 제9조(즉각 대응 의무) 위반 소지가 있는 잠재적 사고로 간주하고 발견 즉시 시정한다.

제5조 (역할 배정 원칙)

5-1. 기기 역할론(2026-09-10 확정) 🔴

함대 각 기기는 다음 4가지 역할형(役割型)으로 분류한다 — 이게 최상위 분류다.

역할형 해당 기기 의미
프로그램형 mm1, mb1(맥미니, 맥북) 판단·설계·raker 개발/디버깅이 필요한 작업
수집형 win1, del1 등 무인 대량/다수 발굴 실행
연산형 linux2 대용량 컴퓨팅(변환·가공·무거운 연산)
데이터서비스형 linux1 회수·스테이징·정본 서빙 허브

5-2. 역할형별 세부 배정

기기 역할형 세부 배정
macmini 프로그램형 판단이 필요한 신규·탐색성 발굴, raker 설계·디버깅
맥북 프로그램형 동일(이동형이라 secret은 불가, 02_보안기밀법.law.md 참조)
linux2 연산형 대용량 개별파일 다수 발굴 + 무거운 컴퓨팅(무인 대량)
win1 수집형 소용량 개별파일 다수 발굴(무인 다수)
del1 수집형 의도적으로 느리게/조심스럽게 진행해야 하는 발굴 전담
linux1 데이터서비스형 회수·스테이징 허브 — 대량 직접처리 금지(제4조③과 결합해 엄격 적용)

배정 원칙과 다른 워크로드를 특정 기기에 몰아넣을 경우, 사전에 이유를 문서화한다.

5-3. 맥미니-맥북 상호 작업지시 금지 원칙(2026-09-11 확정) 🔴

맥미니(mm1)와 맥북(mb1)은 서로에게 작업을 시키지 않는다 — 한쪽이 다른 쪽을 SSH 등으로 원격 지휘(raker 배차, 원격 실행 등)하는 구조를 금지한다.

① 두 기기 모두 프로그램형(판단 주체)이라 동급이며, 서로 종속되면 한쪽 장애가 다른 쪽 업무를 함께 마비시킨다(맥↔맥 썬더볼트 케이블 사고 계열과 같은 결합 위험).

② 맥미니는 2026-09-11부로 baikal 본부(gw.local — 법령·공지 공개 허브) 역할을 겸하므로, 맥북에 장애가 생겨도 맥미니는 독립적으로 동작해야 한다. 반대로 맥북이 맥미니에 원격으로 작업을 지시하는 기존 구조(예: 국가별 watchdog가 mm1에 raker를 배차하는 방식)는 이 조항 확정 시점부터 신규 배정을 중단하고, 대표 확인 후 대체 호스트로 이관한다.

③ 두 기기 모두 각자의 로컬 판단·개발 업무만 수행하며, 서로의 결과물이 필요하면 반드시 정거장(NFS/rsync 등 제3의 경로)을 거쳐 비동기로 주고받는다 — 직접 원격 명령 실행은 금지한다.

실행 사례 자료

이 법의 원칙이 실제로 적용된 사례:

날짜 사례 요약 자료 위치
2026-09-10~11 macmini 로컬 디스크 만석 사고 제4조②(정거장 3단계 임계치를 수집기 로컬 디스크에도 동일 적용) 원칙이 부재해 실제 발생한 사고 — raker_out 495GB가 회수 파이프라인을 우회해 로컬에 무한 축적, 2026-09-11 재확인 시점에도 m1p1 여유공간이 62.4MB/994.66GB(사실상 100% 만석)로 여전히 미해결 확인 m1.md
2026-09-10 linux1 raw/p 소유권 문제 제2조②(대상 상위 디렉토리 소유권 점검) 조항의 근거가 된 실제 실패 사례 — raw/p 디렉토리가 root 소유로 되어 있어 cj 계정 쓰기 불가, 발견 당시 미해결 linux1_운용실장_인수인계.md
2026-09-10~11 역할형(役割型) 분류 실제 배정 제5조 5-1/5-2(4대 역할형 표)가 개별 기기 문서에 그대로 실장돼 실제 운용 배정으로 쓰이고 있음 — win1=수집형(거점형), del1=수집형, linux2=연산형, mb1=프로그램형(이동형) win1.md, del1.md, linux2.md, mb1.md
2026-09-11 맥미니-맥북 상호 작업지시 금지 실제 반영 제5조 5-3 원칙이 mb1 기기 문서에 그대로 명시되어, "mb1은 m1을 SSH 등으로 원격 지휘하지 않으며, 반대도 금지 — 결과물 교환은 정거장을 통한 비동기 방식만 허용"으로 실제 운용 규칙화됨 mb1.md