docs(improvements): deprioritize A-2 to P5-1 per user instruction

This commit is contained in:
2026-08-09 20:20:50 +09:00
parent 4d1c381033
commit 7c35e36fb3
+16 -14
View File
@@ -203,25 +203,27 @@
### 6.2 실행 순서 ### 6.2 실행 순서
> **사용자 지침 반영**: **A-2 (공개 브로커 & HMAC)** 과제는 차후 자체 전용 MQTT 브로커 서버를 구축할 예정이므로 사용자 지침에 따라 **우선순위를 최하위(P5)로 조정**하였습니다.
| 순위 | 항목 | 근거 | 비용 | 선행 | | 순위 | 항목 | 근거 | 비용 | 선행 |
|---|---|---|---|---| |---|---|---|---|---|
| **P0-1** | **A-2** | 공개 브로커 + `auth_token` 발급 0건 + 전역 토픽 발행이 한 줄로 이어져 **원격 pane kill 체인이 완결**됨 (실측: 26/26 잡이 `topic_prefix=python/mqtt/jobs/...`, `auth_token=None`) | (3파일) | — | | **P0-1** | **B-7** | 저장소 밖 기동 시 리뷰어가 문자열 `"No git diff available"``[VERDICT: PASS]` 를 냄. 신규(미추적) 파일은 리뷰 대상 밖. **다른 모든 과제의 검증 근거를 훼손하는 최우선 해결 항목** | (1파일) | — |
| **P1-1** | **B-7** | 저장소 밖 기동 시 리뷰어가 문자열 `"No git diff available"``[VERDICT: PASS]` 를 냄. 신규(미추적) 파일은 리뷰 대상 밖. **나머지 11건의 검증 근거를 훼손** | 소 (1파일) | — | | **P0-2** | **O-2** | 마커를 조건 없이 덮어쓰고 종료 트랩이 **타 인스턴스의 마커까지 삭제** → 완료 처리된 **O-3 가드가 조용히 무력화** | 소~중 (1파일) | — |
| **P1-2** | **O-2** | 마커를 조건 없이 덮어쓰고 종료 트랩이 **타 인스턴스의 마커까지 삭제** → 완료 처리된 **O-3 가드가 조용히 무력화**됨 | 소~중 (1파일) | — | | **P1-1** | **A-4 M0~M1** | `PYTHONPATH` 부트스트랩·배포/CI 등록·`own_key` 이관. B-8/B-10/C-3b 로직을 싸게 만듦 | 중 | B-7 |
| **P2-1** | **A-4 M0~M1** | `PYTHONPATH` 부트스트랩·배포/CI 등록·`own_key` 이관. B-8/B-10/C-3b 를 싸게 만듦 | | B-7 | | **P1-2** | **B-8** | agy 주입이 검증 없이 `return 0` → 아무것도 전달되지 않은 잡이 `started` 로 기록됨. A-4 M0(`_pane_capture` 디코딩) 이후엔 **회피책 제거**로 축소 | | A-4 M0 |
| **P2-2** | **B-8** | agy 주입이 검증 없이 `return 0` → 아무것도 전달되지 않은 잡이 `started` 로 기록됨. A-4 M0(`_pane_capture` 디코딩) 이후엔 **회피책 제거**로 축소 | 소 | A-4 M0 | | **P2-1** | **B-6** | 버전 관리 트리 오염 + rsync 배포 유출. `mktemp -d` 로 옮기는 1~2줄 | 소 | |
| **P3-1** | **B-6** | 버전 관리 트리 오염 + rsync 배포 유출. `mktemp -d` 로 옮기는 1~2줄 | 소 | — | | **P2-2** | **C-3a + C-4** | 빈 스텁 4종 + 이를 고정하던 **공허한 테스트 5건** + 죽은 심볼 3종 제거 (회귀 시간 단축 효과) | 소 | — |
| **P3-2** | **C-3a + C-4** | 빈 스텁 4종 + 이를 고정하던 **공허한 테스트 5건** + 죽은 심볼 3종 제거 (회귀 시간 단축 효과) | 소 | — | | **P2-3** | **C-6** | 도움말 3줄 정정 | 소 | — |
| **P3-3** | **C-6** | 도움말 3줄 정정 | 극소 | | | **P3-1** | **A-4 M2~M7** | 어댑터 본이관. 진행 중 **B-10 · C-3b 처분 결정** | | P1-1 |
| **P4-1** | **A-4 M2~M7** | 어댑터 본이관. 진행 중 **B-10 · C-3b 처분 결정** | | P2-1 | | **P3-2** | **B-10** | tier-3 신원 캐시 존치/제거 결정 + PyYAML 의존 완화 | | A-4 M2 |
| **P4-2** | **B-10** | tier-3 신원 캐시 존치/제거 결정 + PyYAML 의존 완화 | | A-4 M2 | | **P3-3** | **C-3b** | `isolation.root` 소비자 처분 결정 | | A-4 M2 |
| **P4-3** | **C-3b** | `isolation.root` 소비자 처분 결정 | 소 | A-4 M2 | | **P4-1** | **B-9** | 기본값 한정. `logs_dir` 인자·`DELEGATE_JOB_LOGS_DIR` 두 가지 회피 수단 존재 | 소 | |
| **P5** | **B-9** | 기본값 한정. `logs_dir` 인자·`DELEGATE_JOB_LOGS_DIR` 두 가지 회피 수단 존재 | 극소 | — | | **P5-1** | **A-2** | 공개 브로커 및 HMAC 검증 보완 (📌 *사용자 지침: 차후 전용 MQTT 브로커 서빙 환경 구축 시점에 진행*) | 중 (3파일) | 전용 브로커 |
| **종결 권고** | **B-5** | 폴백(`df -P`)으로 이미 해소 — 서술된 실패가 재현되지 않음 | — | — | | **종결 권고** | **B-5** | 폴백(`df -P`)으로 이미 해소 — 서술된 실패가 재현되지 않음 | — | — |
**A-2 를 B-7 보다 앞에 두는 이유**: B-7 의 피해는 우리 워크플로 내부에 머물고 리뷰 결과를 다시 읽으면 회복 가능하지만, A-2 는 외부에서 트리거되고 살아 있는 세션을 파괴하며 우리 쪽 행동으로 예방할 수 없습니다. **A-2 과제의 후순위 배치 사유**: 사용자 지침에 따라 차후 자체 전용 MQTT 브로커 서빙 환경 구축 시점에 맞춰 진행하기 위해 **최하위(P5-1)**로 배치하였습니다.
**정리(C 계열)를 P3 에 두는 이유**: (a) C-3a 는 공허한 테스트 5건을 함께 제거해 이후 모든 전체 회귀를 단축하고, (b) C-4 는 **잘못 실행하면 버그를 만듭니다**(아래 6.5). 방치할수록 누군가 "쉬운 정리"로 집어 들 확률이 올라갑니다. **정리(C 계열)를 P2 에 두는 이유**: (a) C-3a 는 공허한 테스트 5건을 함께 제거해 이후 모든 전체 회귀를 단축하고, (b) C-4 는 **잘못 실행하면 버그를 만듭니다**. 방치할수록 누군가 "쉬운 정리"로 집어 들 확률이 올라갑니다.
### 6.3 병렬 실행 — 파일 소유권 슬롯 (Rev.2 교체) ### 6.3 병렬 실행 — 파일 소유권 슬롯 (Rev.2 교체)