이호영 이호영 07-30
260730 회신 확정 사항 반영 — 자리표시자와 미결 표기 정리
요청자 회신으로 ①권리처리필요 자동체크와 ②RE 메모 「해결」 버튼이 모두
현행 유지로 확정됐다. 동작 변경은 없다. 확정 전에 남겨 둔 "준비 중"
자리표시자와 "확인 요청 중" 주석만 실제 상태에 맞춘다.

- 대시보드 '미해결 RE' 타일의 "데이터 준비 중" 부제 제거.
  unresolvedRe는 V16 이후 re_memo에서 실제로 집계되고 있는데 화면 문구만
  집계 이전 상태로 남아 있어, 실제 숫자가 나와도 준비 중으로 읽혔다
- 도움말 KPI 설명에 미해결 RE 항목 추가(7개 타일 중 이것만 빠져 있었다).
  "항상 0으로 표시된다" 주의문구는 「해결」 처리 시 숫자가 줄어든다는
  안내로 교체
- DashboardSummary/DashboardOrgRow Javadoc의 "RE 테이블이 아직 없어
  항상 0"을 실제 계산식으로 수정
- 설계문서 §4 재질문 항목 확정 표기, §8 "확인받지 못한 가정" 블록 확정으로
  교체, §11 미결 항목을 「확정된 것 / 남은 것」으로 재구성하고 260730
  재질문 7건 중 코드 변경이 걸린 3건(연번 체계·4/8 집계·기존 공공누리
  편집 허용)을 명시

V16__re_memo.sql의 같은 취지 주석은 손대지 않았다. 이미 적용된 마이그레이션이라
주석만 고쳐도 체크섬이 바뀌어 운영 DB에서 validate가 실패한다.

테스트: 프런트 209건 전부 통과, tsc 오류 0.
Java 변경은 Javadoc 주석 2줄뿐이며 이 PC에 JDK가 없어 컴파일은 확인하지 못했다.

Co-Authored-By: Claude Opus 5 (1M context) 
@5ab82ed42e9c5f4e3b9989eea1c16c45e9043e69
docs/superpowers/specs/2026-07-28-common-code-refactoring-design.md
--- docs/superpowers/specs/2026-07-28-common-code-refactoring-design.md
+++ docs/superpowers/specs/2026-07-28-common-code-refactoring-design.md
@@ -70,7 +70,8 @@
 
 - 미응답 10건: 1(서류제출 기준)·3(보고서작성 기준)·9(최근변경 범위)·13(초상권+개방불가)·
   14(검색 AND/OR)·18(자동 단계전환)·19(되돌림)·22(작성자 표기)·24(연락방법)·26(자료실)
-- 재질문 1건: 12(권리처리필요 자동체크)
+- ~~재질문 1건: 12(권리처리필요 자동체크)~~ → **2026-07-30 회신으로 확정: 「지금처럼 자동으로 두기」.
+  현행 유지이므로 코드 변경 없음**
 - 결정 대기: 20·21·27 (Mattermost 존치 여부와 사용자 계정 체계)
 - 28(보고서 양식) — 양식 수령 후 별건
 
@@ -370,9 +371,8 @@
 `DashboardMapper.xml:64`의 `0 as re_count`를 서브쿼리로 교체한다
 (해당 파일 44-45행 주석이 이미 이 방식을 예고하고 있다).
 
-> **확인받지 못한 가정**: `resolved` 플래그는 회신에 없던 항목이다. 대시보드 '미해결 RE'
-> 숫자를 세려면 해결 여부를 구분할 수단이 필요해 완료 체크박스로 설계했다.
-> 이 가정이 틀리면 RE 탭과 KPI 집계를 함께 손봐야 한다. 회신 요청 상태다.
+> **확정(2026-07-30 회신)**: `resolved` 플래그는 회신에 없던 항목이라 완료 체크박스로 설계하고
+> 확인 요청했고, 「지금처럼 「해결」 버튼 두기」로 확정됐다. 현행 유지이므로 변경 없음.
 
 ## 9. 테스트
 
@@ -408,7 +408,23 @@
 
 ## 11. 미결 항목
 
-- RE 메모의 `resolved` 플래그 (§8) — 회신 대기
-- 요구사항 미응답 10건, 재질문 1건, 결정 대기 3건 — §4 제외 목록
-- 기관 100개 명부 엑셀 — 수령 대기
-- 주간·월간 보고 양식 — 수령 대기
+### 2026-07-30 회신으로 확정된 것 (모두 현행 유지 — 코드 변경 없음)
+
+- 12(권리처리필요 자동체크) — 「지금처럼 자동으로 두기」
+- RE 메모의 `resolved` 플래그 (§8) — 「지금처럼 「해결」 버튼 두기」
+- 기관 엑셀의 공공누리 유형 값 — 「기관 자료는 임의 변경 불가, 양식 그대로 업로드」.
+  현행이 이미 무검증 원문 저장이므로 변경 없음
+- 저희 입력칸의 공공누리 유형 — 「0~4유형에서 선택만 가능하게」. 현행이 이미 코드표 기반
+  select/radio라 자유입력 불가. 변경 없음
+
+### 남은 것
+
+- 요구사항 미응답 10건, 결정 대기 3건 — §4 제외 목록
+- 기관 100개 명부 엑셀 — 수령 대기. 양식은 기존 `신유형 신청목록` 시트 그대로 사용 가능하고
+  `POST /api/seed` + `SeedUpload.tsx`로 요청자가 직접 올릴 수 있음을 회신함
+- 주간·월간 보고 양식 — 수령 대기 (시점 확인 요청 중)
+- **2026-07-30 재질문 7건** — `ITN-HUB 요구사항 확인요청_재질문_260730.pptx` 회신 대기.
+  이 중 다음 3건은 답이 와야 코드를 손댈 수 있다:
+  - 기관 연번(`org_no`) 체계 — 100곳 명부에서 재부여 시 기존 자료 마이그레이션 필요
+  - 코드표에 없는 값(`4`·`8`)의 통계 집계 방식 — 표시·집계 계층에서만 처리 예정
+  - 권리확인 화면의 「기존 공공누리 유형」 편집 허용 여부 — 현재 권리처리 화면과 불일치
frontend/src/components/Dashboard.tsx
--- frontend/src/components/Dashboard.tsx
+++ frontend/src/components/Dashboard.tsx
@@ -374,7 +374,7 @@
             sub={`${percent(s.processDone, s.processTotal)}%`}
             accent
           />
-          <KpiTile label="미해결 RE" value={String(s.unresolvedRe)} sub="데이터 준비 중" />
+          <KpiTile label="미해결 RE" value={String(s.unresolvedRe)} />
           <KpiTile label="보고서 작성" value={String(s.reportWriting)} />
           <KpiTile label="완료" value={String(s.completed)} />
         </div>
frontend/src/components/ReMemos.tsx
--- frontend/src/components/ReMemos.tsx
+++ frontend/src/components/ReMemos.tsx
@@ -14,8 +14,8 @@
  * 요구사항 [4]: 별도 양식 없이 메모장처럼 등록한다. 메모 1개가 RE 1개다.
  *   예) ooo 계약서 및 제안요청서 송부 요청, 장영익, 2026.07.08
  *
- * 완료 체크는 회신에 없던 항목이다. 대시보드 '미해결 RE' 숫자를 세려면 해결된 건과 아닌 건을
- * 가릴 수단이 필요해 한 칸 두었다.
+ * 「해결」 체크는 회신에 없던 항목이라 한 칸 넣고 확인 요청했고, 2026-07-30 회신에서
+ * "지금처럼 「해결」 버튼 두기"로 확정됐다. 대시보드 '미해결 RE'는 이 값이 false인 건수다.
  */
 function today(): string {
   const d = new Date()
frontend/src/help/helpContent.ts
--- frontend/src/help/helpContent.ts
+++ frontend/src/help/helpContent.ts
@@ -40,11 +40,12 @@
       '신청 — 기관 명부에 등록된 전체 기관 수',
       '서류제출 — ②목록접수 단계 이상에 도달한 기관 수',
       '권리확인 / 권리처리 — 전 기관 건수 합계(완료 / 전체)와 진척률',
+      '미해결 RE — 기관관리 RE 탭의 메모 중 「해결」로 처리되지 않은 건수의 전 기관 합계',
       '보고서 작성 — ⑫보고서 작성 단계에 도달한 기관 수',
       '완료 — ⑬보고서 제출 완료에 도달한 기관 수(최종 보고서가 올라온 기관만 센다)',
     ],
     cautions: [
-      '미해결 RE는 아직 데이터가 없어 항상 0으로 표시된다(자리만 잡아 둔 상태).',
+      'RE 메모를 「해결」로 바꾸면 이 숫자가 줄어든다. 삭제하지 않아도 집계에서 빠진다.',
       '권리확인·권리처리 진척률은 소수점을 버리고 정수로 반올림한다.',
     ],
   },
src/main/java/kr/itn/itnhub/dashboard/DashboardOrgRow.java
--- src/main/java/kr/itn/itnhub/dashboard/DashboardOrgRow.java
+++ src/main/java/kr/itn/itnhub/dashboard/DashboardOrgRow.java
@@ -11,7 +11,7 @@
  * @param stageChangedAt  현재 단계로 넘어온 시각(epoch ms). 카드의 D+n 계산용. 이력이 없으면 null
  * @param lastChangedAt   기관 관련 마지막 변동 시각(epoch ms). 단계변경·권리확인/처리 수정·
  *                        업무메모·배정 변경 중 가장 최근 것. "최근 진행 기관" 정렬 기준이다
- * @param reCount         미해결 RE 건수. RE 데이터 모델이 아직 없어 항상 0이다
+ * @param reCount         미해결 RE 건수. {@code re_memo} 중 {@code resolved = false}인 건수다
  */
 public record DashboardOrgRow(
         Long id,
src/main/java/kr/itn/itnhub/dashboard/DashboardSummary.java
--- src/main/java/kr/itn/itnhub/dashboard/DashboardSummary.java
+++ src/main/java/kr/itn/itnhub/dashboard/DashboardSummary.java
@@ -9,7 +9,8 @@
  * <ul>
  *   <li>{@code docSubmitted}(서류제출) - 12단계 라벨에 없는 이름이라 ②목록접수 도달(stage &gt;= 2)로 본다</li>
  *   <li>{@code completed}(완료) - ⑪법률검토 최종완료 도달(stage &gt;= 11)</li>
- *   <li>{@code unresolvedRe}(미해결 RE) - RE 테이블이 아직 없어 항상 0. 자리만 잡아 둔다</li>
+ *   <li>{@code unresolvedRe}(미해결 RE) - {@code re_memo} 중 {@code resolved = false}인 건수의
+ *       전 기관 합계. 「해결」 버튼으로 세는 방식은 2026-07-30 회신에서 요청자가 확정했다</li>
  * </ul>
  */
 public record DashboardSummary(
Add a comment
List