Skip to content

feat(fleet-watch): gongmyoung dual-domain coherence checks in doctor sweep (#980) - #988

Merged
seoseo-ai merged 1 commit into
mainfrom
feat/980-gongmyoung-dualdomain-checks
Aug 6, 2026
Merged

feat(fleet-watch): gongmyoung dual-domain coherence checks in doctor sweep (#980)#988
seoseo-ai merged 1 commit into
mainfrom
feat/980-gongmyoung-dualdomain-checks

Conversation

@seoseo-ai

Copy link
Copy Markdown
Collaborator

What

플릿 유일의 이중 도메인 노드 gongmyoung(gongmyoung 유저=브릿지, root=A2A)에 "1노드=1도메인" 가정이 깨지며 반복된 사고(크론 통째 소실, root 소유 비서빙 repo 등록, 미끼 checkout 함정)를 조기 탐지하기 위한 read-only 정합성 체크 4종을 doctor 스윕(CCC_FLEET_DOCTOR=1 fleet-bridge-watch)에 추가합니다 (#980).

  1. gongmyoung crontab에 ccc-self-update + user bus env(XDG_RUNTIME_DIR/DBUS_SESSION_BUS_ADDRESS) 존재
  2. /opt/ccc-node gongmyoung 소유·clean·main 추적·.git 내 root 소유 오브젝트 0
  3. systemctl --user is-active ccc-telegram-bridge + user@<uid> active + Linger=yes
  4. /home/gongmyoung/ccc-node-* 실 디렉터리 0 (symlink/tarball/문서 제외)
  • 단일 도메인 노드는 DUALDOMAIN=-(no-op), root-less probe는 skip — 둘 다 실패 아님
  • 체크는 read-only, 실패 시 알림만 (자동 수정 없음 — 도메인 선택은 운영자 판단)
  • 정본 레퍼런스: Wiki gongmyoung RUNBOOK ND-1125 이중 도메인 운영 카드

Evidence

  • scripts/fleet-bridge-watch.test.sh: PASS=48 FAIL=0 — 신규 10건(정합 OK/불일치 verdict+실패 체크명 명시/단일도메인 no-op/skip 무실패 + PROBE를 POSIX sh로 추출 구문검사 — quoted heredoc이라 기존 bash -n이 못 잡던 공백 커버)
  • bash -n + shellcheck(warning+) clean

Closes #980

@seoseo-ai
seoseo-ai requested a review from jinon86 as a code owner August 6, 2026 09:30
…sweep (#980)

gongmyoung is the fleet's only dual-domain node (gongmyoung user =
bridge/runtime, root = A2A/system) and the one-node-one-domain
assumption failing there caused repeat incidents: the self-update cron
vanished wholesale (LOG-20260806-bangtong-6), a registration flipped to
the root-owned non-serving repo (LOG-20260805-gwakga-13), and decoy
ccc-node checkouts under the home trapped resolve_repo heuristics
(LOG-20260806-bangtong-7).

The doctor sweep probe (CCC_FLEET_DOCTOR=1) now runs four read-only
checks on nodes that have a gongmyoung account, emitting
DUALDOMAIN=ok / DUALDOMAIN=fail <checks> and a DUALDOMAIN verdict line:

1. gongmyoung crontab carries ccc-self-update with user-bus env
   (XDG_RUNTIME_DIR + DBUS_SESSION_BUS_ADDRESS)
2. /opt/ccc-node is gongmyoung-owned, clean, on main, with no
   root-owned objects under .git
3. systemctl --user ccc-telegram-bridge active + user@<uid> manager
   active + Linger=yes
4. zero real ccc-node-* decoy directories under /home/gongmyoung
   (symlinks/tarballs/docs excluded)

Single-domain nodes emit DUALDOMAIN=- (no-op) and a root-less probe
emits skip; neither is a failure. Remediation stays an operator
decision — the check only reports.

Co-Authored-By: Kimi K3 <noreply@moonshot.cn>
@seoseo-ai
seoseo-ai force-pushed the feat/980-gongmyoung-dualdomain-checks branch from 9cfcfec to b4db31b Compare August 6, 2026 09:43

@jinon86 jinon86 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approved after explicit operator authorization using the Seoseo-held jinon86 credential.

@seoseo-ai
seoseo-ai merged commit ca69c5e into main Aug 6, 2026
8 checks passed
@seoseo-ai
seoseo-ai deleted the feat/980-gongmyoung-dualdomain-checks branch August 6, 2026 09:51
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fleet-doctor: gongmyoung dual-domain 정합성 체크 추가

2 participants