# Cross-Code Review — Job `f4f441fb`

- **Job ID**: f4f441fb · **Reviewer**: cline · **Base**: `29f0be5` (working-tree, uncommitted)
- **Task**: `IMPROVEMENTS.md` 12건 미해결 과제(A-2, B-5..B-10, O-2, A-4, C-3..C-6)에 대한 우선순위 실행 로드맵 신설 및 누적 변경분(git diff) 교차 코드 리뷰 (lint / 동작성 / 유실)
- **Diff scope**: `IMPROVEMENTS.md` 단일 파일 — `git diff --stat` = **1 file changed, 120 insertions(+), 13 deletions(-)**

---

## 1. 변경분 요약 및 검증 대상

변경분은 **문서(백로그)**에 대한 두 가지 갱신이다. (1) 4개 기존 항목(A-2·B-5·B-7·C-3·C-4)의 서술을 현재 코드 실측 기반으로 정정, (2) **§6 「🧭 우선순위 실행 로드맵」** 신설(6.1 정렬원칙 / 6.2 실행순서표 / 6.3 파일-소유권 병렬 슬롯 / 6.4 B-7 처방 / 6.5 정정사항 / 6.6 결론). 코드·배포 자산·테스트는 건드리지 않았다(`git status --porcelain`: ` M IMPROVEMENTS.md` 단일).

브리프에 첨부된 diff 헤더(`index da41a28..157344b`)와 working-tree diff가 정확히 일치한다. 로드맵은 브리프가 요구한 4 평가축(보안 위험·런타임 안정성·개발 생산성·아키텍처 영향)을 모두 반영하며, 12건 과제를 전부 단일 순서표에 배치했다(P0~P5 + 종결 권고). A-4는 M0~M1(P2-1)·M2~M7(P4-1)로 분할, C-3은 C-3a(P3-2 즉시)·C-3b(P4-3 보류)로 분리되어 있어 누락 0건이다.

| 검증 항목 | 방법 | 결과 |
|---|---|---|
| Diff 일치 (브리프 vs working tree) | `git --no-pager diff IMPROVEMENTS.md` | ✅ 정확 일치 |
| 코드/자산 부재 (순수 문서) | `git status --porcelain` | ✅ IMPROVEMENTS.md 단일 |
| 12건 전수 배치 | §6.2 순서표 + 분할 항목 대조 | ✅ 누락 0건 |
| §3 카운트 정정 근거 | `git show HEAD:IMPROVEMENTS.md` §3 | ✅ HEAD §3="2건"이나 본문은 O-2 단일(스테일) → 1건 정정 타당 |

---

## 2. Lint (정적 품질)

`IMPROVEMENTS.md`는 Markdown 문서로 셸/파이썬 린트 대상이 아니다. Markdown 구조 정합성만 점검했다.

- 헤더 계층(`#`~`######`) 일관. §6의 `###`~`####` 하위 구조 정상.
- §6.2 실행순서표: 5열(순위/항목/근거/비용/선행) 정합, 13행. §6.3 파일표(2열)·슬롯표(2열) 정합.
- §6.4 코드블록(` ```bash ` … ` ``` `) 정상 펜스, 내부 `git ls-files -o --exclude-standard -z` 등 유효 bash.
- 인라인 백틱 쌍 정합, 한국어/영문 혼용 깨짐 없음.
- **내부 집계 일관성**: 헤더 `12건(아키텍처 2·엣지 6·오케스트 1·레거시 3)` ↔ §1=2·§2=6·§3=1·§4=3 정합(이 diff가 §3을 2→1로 정정해 일관성 확보). `완료된 과제 10건` 줄·§5 미변경.

---

## 3. 동작성 (설계 주장의 코드베이스 정합성)

코드 변경이 없으므로, 변경된 서술 및 로드맵 근거가 현 코드베이스 사실과 일치하는지(거짓 주장·과장·스테일 여부)를 교차 검증했다.

| 변경/주장 | 코드베이스 실측 | 판정 |
|---|---|---|
| **A-2**: `verify_hmac`의 `if not auth_token: return True` 상시 타점 | `mqtt_common.py:278-279` `if not auth_token: return True # PoC mode — no auth` | ✅ 정합 |
| **A-2**: 잡 `auth_token=None` (실측 **26/26**) | `.mam/jobs/*.json` 30건 전수 → `auth_token=None: 30/30` | ⚠️ 카운트 스테일(26→30); 정성(100% None)은 정확 |
| **A-2**: 발행자 전역 토픽 + `reconcile.sh:237` 전역 구독 | `reconcile.sh:236-238` legacy `python/mqtt/jobs/+/events` 구독(지문 토픽 병기) | ✅ 정합 |
| **A-2**: HMAC 구현 자체는 정상 | 토큰 있으면 `hmac.compare_digest` 검증 경로 존재 | ✅ 정합 |
| **B-5**: `df --output=target` 실패 + `df -P` 폴백 정상 | `lib.sh:927` `df --output=target` / `lib.sh:929` `df -P` 폴백 | ✅ 정합(종결 권고 타당) |
| **B-5 잔여**: `mount\|grep -E "$mountpoint"` 비이스케이프 보간 | `lib.sh:931` `mount \| grep -i -q -E "$mountpoint.*(nfs\|cifs\|smb\|sshfs)"` | ✅ 정합(B-11 분리 근거 유효) |
| **B-7**: `REPO_ROOT` BASH_SOURCE(9-10행), `cd` 없음, `git diff` 537·539행 | `run_loop.sh:8-9` / `cd` 없음 / `git diff` L537·L539 `‖ echo "No git diff available"` / 프롬프트 L547 | ✅ 정합(행 번호 정확) |
| **B-7 처방**: `git add -N .` 인덱스 오염 → 기각, `git ls-files -o` 대안 | `git add -N` 동작 git 공식문서상 맞음; 대안은 인덱스 비변경 | ✅ 논리 정합(처방은 미구현 설계) |
| **C-3a**: 4종 빈 스텁, 프로덕션 호출자 0건, 테스트 고정 | `lib.sh:1614/1619/1626/1630` / 호출자 0건 / `test_tier1_unit.py`+`test_tier2_component.py` | ✅ 정합 |
| **C-3b**: `isolation.root` 소비자(되살린 코드) | `verify_session_uuid` iso_root 분기 등 존재 | ✅ 보류 분리 타당 |
| **C-4**: `_HERDR_SHIM_DIR_PATTERN` 사용 중(L57 정의·L79 사용) | `lib.sh:57` 정의 / `lib.sh:79` 사용 | ✅ 정합(목록 제외 정당) |
| **C-4**: `local_herdr` 참조 0건(이미 제거) | `grep -rn local_herdr` → 0건 | ✅ 정합 |
| **C-4**: `_REAL_HERDR_PATH`(대입·export만) | `lib.sh:100-101`, 타 참조 0건 | ✅ 정합 |
| **C-4**: `TERMINAL_STATUSES`(`registry.py:38` 정의만) | `registry.py:38`, 타 참조 0건 | ✅ 정합 |
| **C-4**: `ISOLATE`(`create_session.sh:57` 대입만) | `create_session.sh:57 ISOLATE=1`, 타 참조 0건 | ✅ 정합 |
| **O-2**: `run_loop.sh:83-89` 마커 무조건 덮어쓰기 + 트랩 소유권 대조 없이 삭제 | L83 마커 / L87 `>` 덮어쓰기 / L88 `rm -f`(대조 无) | ✅ 정합(행 번호·위험 서술 정확) |
| **§6.3**: `reconcile.sh`의 `MAM_LOOP_MARKER`·`send_keys_safe` 참조 0건 | `grep -cn` → 0 | ✅ 정합(슬롯 비경합 근거 유효) |

**동작성 결과: PASS** — 17개 항목 중 16개 완전 정합, 1개(A-2 카운트 26→30) 스테일이나 정성 주장은 부정확하지 않음. 거짓·과장 주장 없음.

---

## 4. 유실 (Loss / Orphan)

`git diff` 상 **삭제 13줄**. 전부 교체성 갱신 또는 정정이며 원 정보 손실 아님:

- **헤더 갱신일**(1줄): `A-4 ... 등재` → `7747d745 Rev.2 — B-7 처방 ...` — 정당.
- **A-2 현상**(1줄→다행): 단문을 상세 실측으로 확장. 원 의미 보존 + 정정.
- **B-5/B-7**(각 1~2줄): 원 서술을 `원 서술:` 라벨로 보존한 채 실측 부가 — **삭제가 아니라 주석화**. 정보 손실 0.
- **§3 제목**(1줄): `2건`→`1건`. `git show HEAD:IMPROVEMENTS.md` 확인 결과 HEAD §3 본문은 O-2 단일이었고 "2건"은 스테일 카운트. 항목 삭제가 아니라 라벨 정정.
- 기존 §4(C-3·C-4·C-6)·§5(완료 10건)는 미변경(존재 보존). 신규 자산/임포트 추가 없으므로 orphan 0건.

**유실 결과: PASS** — 부당 삭제/잔재 없음.

---

## 5. 비차단 발견 (Non-blocking Findings)

**N-1 (A-2 카운트 스테일, 비본질).** A-2 현상 및 §6.2 P0-1 근거에 "실측 26/26 잡이 `auth_token=None`"로 기재됐으나, 현재 `.mam/jobs/*.json` 30건 전수 측정 시 `auth_token=None: 30/30`이다. 본 리뷰 잡(f4f441fb)·선행 잡(0d9712c6) 등 4건이 측정 후 추가된 것이다. 정성 주장("발급 0건 → 검증 공허")은 30/30=100%로 정확히 유지되므로 결론에 영향 없음. 구현 시점 재측정 권고. 비차단.

**N-2 (§6.4 처방 코드 미검증, 설계 범위).** B-7 처방의 `git diff --no-index --binary /dev/null "$f"` 루프와 크기 상한 로직은 저장소에 반영되지 않은 설계안이므로 본 리뷰에서 실행 검증 불가. 논리(`git add -N` 인덱스 오염 회피, `--exclude-standard` 존중)는 정합. M0 구현 시 샌드박스 측정이 필요하다는 문서 자체 권고와 일치. 비차단.

**N-3 (A-4/O-4 명명 혼선, 선행 커밋).** 선행 커밋 `29f0be5` 메시지는 "record **O-4** ..."이나 문서 본문은 **A-4**를 사용. 본 diff가 도입한 것이 아니며, 오히려 §3 카운트를 정정해 오케스트레이션 항목을 1건(O-2)으로 명확히 했다. 문서 소유자 후속 명명 통일 권고. 비차단.

---

## 6. 종합 판정

변경분은 `IMPROVEMENTS.md` 단일 문서에 대한 (1) 4개 스테일 항목의 실측 정정 + (2) 12건 전수를 아우르는 우선순위 실행 로드맵 신설이다. 코드·배포·테스트 변경이 전무해 런타임·린트·회귀 영향은 0이다. 로드맵은 브리프가 요구한 4 평가축을 반영하고, 정렬 원칙(외부 트리거 위험 → 거짓 검증 신호 → 구조 작업 → 국소 결함 → 정리, 조용한 실패 가중)에 12건을 빈틈없이 배치했으며, 파일-소유권 기반 병렬 슬롯과 Rev.1 정정 4건까지 명시해 실행 가능성이 높다. 변경된 서술 17개 항목을 코드베이스와 교차 검증한 결과 16개 완전 정합·1개 카운트 스테일(정성은 정확)이며 거짓/과장은 없었다. 부당 삭제나 잔재도 없다. 설계 재작업 수준의 재계획이 필요한 근거(escalation)는 발견되지 않는다 — 이 변경은 "우선순위 로드맵 등재"라는 명시적 산출물 목표를 충족한다.

[VERDICT: PASS]