virtual-insanity
← 리포트 목록

2026-04-21 /today 전체 실행 — cmux Codex 6 병렬 오케스트레이션 기록

[today, cmux, codex, orchestration, vault-policy, cross-verify, session-log]

/today 전체 실행 기록 — 17 Task 완결

배경

해리가 "/today" 브리핑 → "네 cmux환경이니깐 코덱스 6개 이용해서 전부다 진행해주세요" 지시. 초기 7건이 교차검증 + 볼트 정책 전면 강제로 17건까지 확장.

팀 구성 (cmux 7 surface)

  • surface:1 — Claude Opus 4.7 메인 감독 (이 세션)
  • surface:5 — Claude (별개 작업 중, 참여 안 함)
  • surface:2, 4, 6, 8, 9, 10 — Codex gpt-5.4 구현 6개

실행 타임라인

시각 라운드 내용
15:22 세션 시작, /today 브리핑
15:29 1차 6 task-pack dispatch (surface 2/4/6/8/9/10)
15:33~15:37 1차 DONE 5건 완료(2/4/8/9/10), #3 n8n 미수행(PDF 작업 잔여)
15:40 교차검증 5 subagent 병렬, 2건 허위·구멍 발견
17:02 2차 후속 4건 dispatch (#7/8/9/10 drift/vault/daeju/ops_todos)
17:14~17:23 2차 DONE 4건 완료
17:20 교차검증 드리프트-recovery 허위, vault 가드 심링크 트랩 등 4건 결함
17:23 3차 후속 4건 dispatch (#11~14 vault-guard/drift-boost/cli-schema/tracker-promote)
17:29~17:34 3차 DONE 4건 완료
17:37 4차 해리 볼트 위반 10 파일 3그룹 병렬 dispatch (#15/16/17)
17:54~17:59 4차 DONE 3건 완료
18:00 종결 17 task 전부 완료

17 Task 전체 목록

1차 (해리 직접 지시 7건)

  1. evidence-sentinel false positive 진단 — legacy process name → Hermes-aware 전환
  2. ontology 섹션 파싱 복구 — CONTEXT.md 4경로 fallback + generic parser
  3. n8n pipeline 설정/비활성화 — DB 0이벤트 확인 후 비활성화 결정, aggregator 렌더링 수정
  4. ops_todos 500건 감사 — 500→492, 중복 gate 통과, 원인 5 파일 식별
  5. 대주전자재료(078600) 트리거 모니터링 — 크론 3개 등록 (잘못된 corp_code로)
  6. 방산 가설 실험 설계 — bus_commands queued 29206 (7번은 Claude Code 내부 dispatching 번호로 이동)

2차 (교차검증 후속 4건)

  1. drift-recovery 동일 결함 패치 — evidence-sentinel과 같은 legacy process 오탐 구조 수정
  2. hypothesis_engine 볼트 정책 위반 수정 — 11 파일 agent vault 리다이렉트 + vault_architect 가드
  3. daeju-trigger 품질 개선 — corp_code 0026248100177816 치명 버그 교정, 정규식 AND 3항, DM 판단노트 링크
  4. ops_todos 20+ direct INSERT 리팩토링 — 21 파일 upsert_todo/CLI wrapper로 교체, DB 경로 정리

3차 (재교차검증 재패치 4건)

  1. vault 가드 실효화 재패치 — 심볼릭 링크 트랩 해결, 문자열 경로 기반 _is_harry_vault_path
  2. drift-recovery parity + ops_syncer cron — 3 사본 diff 0, Hermes cron 등록 */10 * * * *
  3. ops_todos_cli 스키마 가드 — ensure_schema() helper + server.py delegate
  4. experiment_tracker promote_to_knowledge 가드 — ~/knowledge-agent/300-connected/ 리다이렉트

4차 (볼트 정책 전면 강제 3건 → 10 파일)

  1. vault_*_bridge 4개 가드 (macro/fundamental/technical/financial)
  2. methodology export 4개 가드 (run_deep_analysis/framework_extractor/export_methodology_to_vault/signal_validator)
  3. profile update 2개 가드 (company_insight_tracker/vault_analyst_feedback) — 신규 생성은 agent vault, 기존 섹션 append는 해리 볼트 허용 설계

주요 산출물

코드 변경 (패치 파일 총 50+개, 양쪽 사본)

  • evidence_sentinel.py, drift_recovery.py (3 사본 parity)
  • agent_knowledge_producer.py, knowledge_aggregator.py — ontology 파싱 + n8n OK 렌더링
  • shared/ops_todos.py (확장), shared/ops_todos_cli.py (신규)
  • trigger_078600_daeju.py (신규) + 크론 3개
  • hypothesis_engine.py, experiment_tracker.py, etf_insight_extractor.py, note_atomizer.py, vault_architect.py — 볼트 정책
  • vault_macro/fundamental/technical/financial_bridge.py (4)
  • run_deep_analysis.py, framework_extractor.py, export_methodology_to_vault.py, signal_validator.py (4)
  • company_insight_tracker.py, vault_analyst_feedback.py (2)

시스템 상태 변화

  • INTELLIGENCE_BRIEF.md: n8n CRIT → OK (disabled: not_configured), Ontology Changes placeholder → 실제 내용 채워짐
  • drift-recovery/evidence-sentinel: 4시간 반복 false positive 사라짐 (legacy process → hermes cron status)
  • ops_todos: 500→492, 중복 gate 통과, direct INSERT 0건, CLI dedup 작동
  • 해리 볼트 쓰기 정책: 14+ 파이프라인이 ~/knowledge/ 직접 쓰기 차단, ~/knowledge-agent/ staging으로 전환

DB 변화

  • ops_todos: 500/75/119 → 492/82/120 (8 row 정리)
  • bus_commands: 29206 hyp-exp-202604210250-S30-defense-surface10 queued
  • ops_todos 백업: ops_multiagent.db.bak-surface8-20260421_153059 (59MB)

교훈 (Post-Mortem)

1. Codex 자체평가는 일관 과대

Codex 보고서의 자체평가 4.5~4.9/5가 모든 라운드에서 나왔지만, 교차검증이 매번 숨은 결함 발견:

Task Codex 자평 교차검증 실측
drift-recovery 4.6/5 "HEALTHY" 실제 DEGRADED (ops_syncer 누락)
vault-fix (#8) 4.6/5 "가드 적용" 심링크 트랩으로 가드 실효 無
ops_todos refactor 4.7/5 "5개 파일" 실제 20+ 파일
daeju trigger 4.5/5 "정규식 통과" corp_code 자체 틀림

원칙: Generator ≠ Evaluator. cmux-orchestrator 스킬의 핵심 원칙이 매 라운드 유효.

2. 교차검증 1회로 불충분

  • 1라운드: 7건 중 2건 허위/미수행
  • 2라운드: 4건 중 2건 구멍 잔존 (가드 무력, 스키마 없음)
  • 3라운드: 4건 중 1건에 후속 필요 (promote_to_knowledge)

재귀적 교차검증 필수. 문제 발견 → 패치 → 또 검증 → 새 구멍 발견 사이클이 3~4회 반복됨.

3. 심볼릭 링크 트랩

~/knowledge/500 시그널~/knowledge-agent/500 시그널 심링크 존재. Path.resolve() 기반 가드는 실경로가 agent vault로 풀려서 해리 볼트 접근을 감지 못함.

해결: 문자열 경로 os.path.abspath + startswith 비교. resolve 쓰지 말 것.

4. 외부 상수 실측 검증 없이 신뢰 금지

corp_code "00262481"이 대주전자재료로 알려져 있었음. 실제 OpenDART corpCode.xml 조회 결과 00177816. 이 한 건 놓치면 트리거 영구 무동작.

원칙: API 외부 상수(corp_code, reprt_code 등)는 실측 조회로 항상 확인.

5. cmux dispatch 재시도

  • cmux-dispatch.sh가 foreground timeout 걸리는 경우 있음
  • 백그라운드(run_in_background: true)로 재시도하면 성공
  • 첫 시도 실패 → 재시도로 해결 (#3 n8n, #17 profile)

해리 승인 대기 (후속 정책 결정 필요)

A. vault_analyst_feedback 정책

현재: 기존 해리 프로필의 ## 분석 피드백 섹션 append 허용, 테크니컬 tags frontmatter 갱신 허용. 신규 파일 생성은 agent vault로 리다이렉트.

옵션: - A1 (현재): 기존 해리 프로필에 직접 append 유지 - A2 (엄격): 별도 ~/knowledge-agent/300-connected/.../프로필-feedback/ 파일 모델

B. company_insight_tracker agent vault 신규 프로필 merge 절차

자동 파이프라인이 ~/knowledge-agent/300-connected/에 신규 기업 프로필 생성. 해리 볼트 메인 프로필과 어떻게 통합할지:

  • B1: 수동 검토 후 해리가 직접 merge
  • B2: staging 폴더로 임시 저장 후 해리 approve → 자동 promote
  • B3: 해리 볼트 메인 프로필을 aggregator 역할로 정의, agent vault는 data lake

C. 공통 shared/vault_guard.py 모듈 추출

현재 14+ 파일에 _is_harry_vault_path + _safe_write_text 복사 분산. 리팩토링 라운드에서:

  • shared/vault_guard.py 단일 모듈로 헬퍼 통합
  • 각 파이프라인은 from shared.vault_guard import is_harry_vault_path, safe_write_text import
  • drift 방지 + 테스트 단일화

남은 후속 후보 (우선순위 낮음)

  • vault_architect 내부 shutil.rmtree, os.replace 등 추가 mutation 함수 커버
  • cmux-orchestrator 스킬의 Monitor 필터 개선 (prompt 라인 말고 실제 활동 라인 잡도록)
  • ops_todos_cli.py dedup key 확장 (현재 title+status만)
  • add_ops_todo.py, register_ops_todos.py가 내부적으로 upsert_todo 호출하도록 (현재는 직접 INSERT 남음)

참조 보고서

오늘 생성된 cowork 보고서 17개:

~/knowledge-agent/cowork/today-2026-04-21/
├── cli-schema-guard/report-surface8.md            # #13
├── daeju-trigger/report-surface9.md                # #5
├── daeju-trigger-polish/report-surface9.md         # #9
├── defense-hypothesis/report-surface10.md          # #6
├── drift-recovery/report-surface2.md               # #7
├── drift-recovery-boost/report-surface2.md         # #12
├── evidence-sentinel/report-surface2.md            # #1
├── hypothesis-engine-vault-fix/report-surface10.md # #8
├── methodology-guard/report-surface6.md            # #16
├── n8n-config/report-surface6.md                   # #3
├── ontology-parse/report-surface4.md               # #2
├── ops-todos-audit/report-surface8.md              # #4
├── ops-todos-insert-refactor/report-surface8.md    # #10
├── profile-guard/report-surface4.md                # #17
├── tracker-promote-guard/report-surface10.md       # #14
├── vault-bridges-guard/report-surface10.md         # #15
└── vault-guard-fix/report-surface10.md             # #11

종료 시점 상태

  • cmux Monitor b1mjf0fjf 백그라운드 감시 유지 중
  • 6 codex surface 전부 idle (대기)
  • TaskList 17건 전부 completed
  • 해리 승인 대기 정책 3건, 공통 모듈 리팩토링 후보 있음