process: enforce issue-status consistency for completion marks (#390) #391
Reference in New Issue
Block a user
Delete Branch "feature/issue-390-validate-completion-consistency"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Summary
docs/ouroboros/80_implementation_audit.md잔여/오픈 상태/추적) and done (✅/머지/해소/완료)docs/ouroboros/01_requirements_registry.mdfor governance policy-doc change gateTraceability
REQ-OPS-002,REQ-OPS-003TASK-OPS-002,TASK-OPS-003TEST-ACC-008,TEST-ACC-009Validation
pytest -q tests/test_validate_ouroboros_docs.py tests/test_validate_docs_sync.pypython3 scripts/validate_ouroboros_docs.pypython3 scripts/validate_governance_assets.py feature/v3-session-policy-stream...HEADLinked Issue
PR #391 코드 리뷰 — process: enforce issue-status consistency for completion marks (#390)
범위:
80_implementation_audit.md의 이슈 완료/미완료 상태 모순 감지 검증 게이트 추가✅ 통과 항목
1. validate_issue_status_consistency() 구현
ISSUE_REF_PATTERN,ISSUE_DONE_PATTERN,ISSUE_PENDING_PATTERNis_done = bool(ISSUE_DONE_PATTERN.search(line)) and not is_pending— 동일 줄에 두 패턴이 공존 시 pending 우선 처리 ✅2. 적용 범위
main()내path.name == "80_implementation_audit.md"조건으로 한정3. 테스트
test_validate_issue_status_consistency_reports_conflicts:#328동일 이슈가 done/pending 양쪽 → 에러 1개 발생 검증test_validate_issue_status_consistency_allows_done_only: done-only → 에러 0 검증4. audit.md 상태 정합화
#328(가격/세션 재검증 강화)는 PR #345로feature/v3-session-policy-stream에 실제 머지 완료 ✅5. 문서 버전 1.0.12 + 변경 이력 섹션 추가
⚠️ 소견 1 — ISSUE_PENDING_PATTERN의 "추적" 키워드 false positive 가능성 (Non-blocking)
현재 audit.md에서 "추적"이 이슈 번호와 동반된 경우는 모두 "잔여" 문맥(
#372잔여)이라 오분류 없음.그러나 향후 "
#390추적성 검증 도구 추가 (✅ 완료)" 같은 문장이 생기면"추적"을 포함하므로
is_pending=True가 되어 done으로 분류되지 않음 — 충돌 감지 우회 가능.권장:
r"(?:잔여|오픈 상태|추적 이슈)"처럼 "추적 이슈"로 좁히거나,또는 pending-only 케이스 테스트 추가(
#999 잔여 추적→ 에러 없음)로 동작 명세화.결론
LGTM — 검증 게이트 구현 명확, 테스트 통과, audit.md 상태 정합화 사실 기반.
소견은 Non-blocking으로 별도 처리 가능합니다.
추가 리뷰 — test: narrow pending keyword and add pending-only guard (#390)
커밋:
7c17535✅ 소견 반영 확인
소견 1 (추적 → 추적 이슈)
ISSUE_PENDING_PATTERN좁히기:"추적성", "추적 결과" 등 done 문맥에서 false positive 유발 가능성 제거 ✅
테스트 갱신
test_validate_issue_status_consistency_reports_conflicts: conflict 픽스처에서추적→잔여으로 교체 (패턴 변경과 일관성 유지) ✅test_validate_issue_status_consistency_allows_pending_only신규:"#390 추적 이슈"→is_pending=True, 에러 없음 검증 ✅로컬 실행: 8 passed in 0.02s ✅
결론
LGTM — 소견 반영 완료. 머지 준비 완료.