Skip to content

Commit 1593fdb

Browse files
committed
docs: refresh post-merge backlog status
1 parent 65d1240 commit 1593fdb

2 files changed

Lines changed: 32 additions & 36 deletions

File tree

Lines changed: 20 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,22 @@
1-
# 백로그 1차 분류표
1+
# 백로그 분류표
22

3-
이 문서는 2026-03-20 기준으로 열려 있는 GitHub PR 1개, 이슈 34개를 유지보수 재가동 관점에서 다시 묶은 결과다.
3+
이 문서는 2026-03-21 기준으로 열려 있는 GitHub 이슈 30개를 유지보수 재가동 관점에서 다시 묶은 결과다.
44
상태 이름은 `docs/maintenance/issue-triage.md`의 공통 분류를 따른다.
55

66
## 요약
77

88
| 항목 | 수량 | 판단 |
99
| --- | --- | --- |
10-
| 오픈 PR | 1 | 오래된 자동 bump PR과 `#728`에 흡수된 PR은 정리했고, `#726`도 현재 릴리스 워크플로에 superseded 되었다 |
11-
| 오픈 이슈 | 34 | 표면상 34개지만, 실제 활성 작업 묶음은 대략 10~15개 수준이고, 일부는 `future-scope` 라벨로만 추적한다 |
12-
| 즉시 닫기/대체 가능 후보 | 감소 | SWF 중복 이슈와 구형 Android 지원 이슈까지 포함해 일부 정리했다 |
13-
| 즉시 구현 후보 | 소수 | 릴리스 파이프라인, storage 정책 마감, crash 재현 클러스터가 우선이다 |
14-
15-
## 오픈 PR 분류
16-
17-
| PR | 제목 | 제안 상태 | 판단 | 다음 액션 |
18-
| --- | --- | --- | --- | --- |
19-
| `#728` | Codex/maintenance baseline | 진행 중 | 현재 유지보수 기준선 PR이다 | 리뷰 반영 후 병합 기준으로 사용 |
10+
| 오픈 PR | 0 | 유지보수 기준선 PR `#728`은 이미 `master`에 병합되었다 |
11+
| 오픈 이슈 | 30 | 표면상 30개지만, 실제 활성 작업 묶음은 대략 10개 안팎이고 일부는 `future-scope`로만 추적한다 |
12+
| 즉시 닫기/대체 가능 후보 | 완료 | `#728`로 직접 커버된 이슈 8건은 병합 직후 정리했다 |
13+
| 즉시 구현 후보 | 소수 | 릴리스 운영, storage 정책 마감, large-file / `.so` 재현 클러스터가 우선이다 |
2014

2115
## 최근 정리 완료
2216

2317
| 항목 | 처리 | 이유 |
2418
| --- | --- | --- |
19+
| PR `#728` | 병합 | 유지보수 기준선, SAF 전환, release/preview workflow, instrumentation merge gate, 여러 crash/UX 완화를 `master`에 반영 |
2520
| PR `#723`, `#724`, `#725`, `#726`, `#727` | 닫음 | `#728`에 흡수되었거나 현재 release/preview workflow로 대체됨 |
2621
| PR `#704`, `#701`, `#699`, `#695`, `#693`, `#692`, `#677`, `#637`, `#615`, `#565` | 닫음 | 오래된 자동 bump/alpha 제안으로 현재 유지보수 기준선보다 뒤처짐 |
2722
| 이슈 `#112` | 닫음 | SWF 요청은 `#721`로 통합 |
@@ -30,44 +25,42 @@
3025
| 이슈 `#376`, `#490` | 닫음 | crash stack이 가리키던 예전 binary fragment/ViewPager2 UI는 현재 Compose 탭으로 대체되었고, 남아 있던 죽은 layout과 의존성도 제거함 |
3126
| 이슈 `#438` | 닫음 | chooser 정렬이 empty label을 안전하게 처리하도록 이미 maintenance 브랜치에서 수정됨 |
3227
| 이슈 `#672` | 닫음 | crash stack이 가리키던 `ProjectOverviewFragment` binding 경로는 현재 Compose 기반 overview 화면으로 대체되어 더 이상 활성 코드 경로가 아님 |
33-
| 이슈 `#717`, `#710`, `#582`, `#158` | 닫음 | 현재 유지보수 스코프를 넘는 요청이거나 내용이 너무 약해 baseline 유지보수 백로그로 가져가기 어려움 |
28+
| 이슈 `#720`, `#670`, `#396`, `#348`, `#160`, `#159`, `#129`, `#123` | 닫음 | `#728`에 포함된 변경이 `master`에 병합되어 post-merge 정리 완료 |
3429
| 이슈 `#162`, `#529`, `#706`, `#491` | reopen + `future-scope` | 지금 당장 하지는 않지만 나중에 다시 볼 수 있는 장기 기능 요청으로 분리 추적 |
30+
| 이슈 `#717`, `#710`, `#582`, `#158` | reopen + `future-scope` | 현재 baseline 유지보수 범위는 아니지만 장기 검토 대상으로는 남겨둠 |
3531

3632
## 오픈 이슈 클러스터
3733

3834
| 작업 묶음 | 관련 이슈 | 제안 상태 | 판단 | 다음 액션 |
3935
| --- | --- | --- | --- | --- |
40-
| 기준선 PR로 이미 다루는 이슈 | `#670`, `#396`, `#348` | `covered-by-open-pr` | 현재 `#728`에서 이미 수정됨 | `#728` 병합 후 정리 |
4136
| 최신 Android storage 정책 | `#95` | `planned-fast-follow` | 핵심 유지보수 항목이며 이미 SAF 전환을 시작했다 | 앱 전체 import/open 경로를 SAF 중심으로 계속 이관 |
4237
| 릴리스 산출물 부재 | `#719` | `planned-fast-follow` | 코드 문제보다 릴리스 파이프라인 문제다 | CI artifact, preview prerelease, formal release 흐름으로 운영 정리 |
4338
| 대용량/메모리/RecyclerView 크래시 | `#219`, `#235`, `#442`, `#523` | `planned-fast-follow` | `#728`에서 큰 파일 byte cache 제한과 문자열 검색 결과 상한/stable key를 먼저 넣었다 | `#728` 병합 후 실제 150MB 파일과 긴 문자열 리스트로 재검증하고 나머지 OOM 경로를 분리 |
44-
| 회전/상태 복원 크래시 | `#160` | `covered-by-open-pr` | `#728`에서 Activity 재생성 시 외부 import intent 재처리를 막는 1차 가드를 넣었다 | `#728` 병합 후 실제 회전 회귀를 확인하고 정리 |
45-
| `.so`/ELF/autosetup | `#514`, `#543`, `#576`, `#137` | `covered-by-open-pr` | `#728`에서 64-bit ELF machine type 매핑과 override autosetup 재적용 경로를 먼저 수정했다 | `#728` 병합 후 실제 `.so` 샘플로 재검증하고 남는 parser 문제만 분리 |
46-
| 구형 Android archive 감지 크래시 | `#507`, `#508` | `covered-by-open-pr` | `#728`에서 archive 확장자 fast path와 `NoClassDefFoundError` 방어를 넣어 구형 Android의 Commons Compress 감지 크래시 경로를 우회했다 | `#728` 병합 후 Android 6~7 계열에서 archive chooser와 open 경로를 재확인하고 정리 |
47-
| project-relative path assertion 크래시 | `#512` | `covered-by-open-pr` | `#728`에서 drawer/tab 경로가 project 바깥 항목을 열려다 `getRelPath()` 예외로 죽지 않도록 null-safe guard를 넣었다 | `#728` 병합 후 stale project/drawer entry에서 실패 메시지로만 처리되는지 확인하고 정리 |
39+
| `.so`/ELF/autosetup | `#514`, `#543`, `#576`, `#137` | `planned-fast-follow` | `#728`에서 64-bit ELF machine type 매핑과 override autosetup 재적용 경로를 먼저 수정했다 | 실제 `.so` 샘플로 재검증하고 남는 parser 문제만 분리 |
40+
| 구형 Android archive 감지 크래시 | `#507`, `#508` | `planned-fast-follow` | `#728`에서 archive 확장자 fast path와 `NoClassDefFoundError` 방어를 넣어 구형 Android의 Commons Compress 감지 크래시 경로를 우회했다 | Android 6~7 계열에서 archive chooser와 open 경로를 재확인하고 정리 |
41+
| project-relative path assertion 크래시 | `#512` | `planned-fast-follow` | `#728`에서 drawer/tab 경로가 project 바깥 항목을 열려다 `getRelPath()` 예외로 죽지 않도록 null-safe guard를 넣었다 | stale project/drawer entry에서 실패 메시지로만 처리되는지 확인하고 정리 |
4842
| crash report 저신호 묶음 | `#716` | `needs-repro` | 본문에 구체적인 stack trace가 없고 현재 정보만으로는 코드 경계를 특정하기 어렵다 | 최신 preview build 기준 재현 단계와 대상 파일을 다시 받아야 한다 |
4943
| SWF 요청 | `#721` | `planned-fast-follow` | 모바일 SWF 확장/디컴파일 요구는 남아 있지만 추적 스레드는 하나로 줄었다 | 기준선 병합 후 포맷 확장 우선순위에서 다시 평가 |
50-
| 포맷 확장 요청 | `#120`, `#116`, `#124`, `#129` | `planned-fast-follow` | `#129``#728`에서 generic archive extraction으로 먼저 흡수했고, 나머지는 기준선 복구 후가 맞다 | `#129``#728` 병합 후 정리하고 나머지는 포맷별 난이도와 수요를 다시 평가 |
51-
| export/저장 유틸 | `#123`, `#159`, `#720` | `covered-by-open-pr` | `#728`에서 project ZIP export, detail `.txt` 저장, import 파일명 정규화/테스트를 함께 정리했다 | `#728` 병합 후 실제 기기에서 export/save 동작 확인하고 정리 |
44+
| 포맷 확장 요청 | `#120`, `#116`, `#124` | `planned-fast-follow` | 기준선 복구 이후에 다시 잡는 편이 맞다 | 포맷별 난이도와 수요를 다시 평가 |
5245
| 장기 기능 요청 | `#162`, `#529`, `#706`, `#491` | `future-scope` | 현재 유지보수 baseline을 넘지만 나중에 다시 볼 가치가 있는 기능 요청이다 | 열린 상태로 두고 `future-scope` 라벨로만 추적 |
53-
| 모호한 기능 요청 | `#596`, `#532`, `#425` | `obsolete-or-policy-invalid` | 일부는 여전히 수요는 있지만 설명이 짧고 구현 범위가 불명확하다 | baseline 병합 후 export/search UX 개선 트랙으로 흡수할지 다시 판단 |
46+
| 장기 검토 기능 요청 | `#717`, `#710`, `#582`, `#158` | `future-scope` | 지금 유지보수 baseline 범위는 아니지만 future backlog로 남겨두기로 했다 | 열린 상태로 두고 `future-scope`로만 추적 |
47+
| 모호한 기능 요청 | `#596`, `#532`, `#425` | `planned-fast-follow` | 일부는 수요가 있지만 설명이 짧고 구현 범위가 불명확하다 | export/search UX 개선 트랙으로 흡수할지 다시 판단 |
5448
| 하이라이터 개선 | `#97` | `planned-fast-follow` | 품질 개선 항목으로는 타당하다 | 기준선 복구 후 UI/텍스트 렌더링 개선 트랙으로 이동 |
5549

5650
## 실제 우선순위
5751

5852
| 우선순위 | 항목 | 근거 |
5953
| --- | --- | --- |
60-
| 1 | `#728` 병합 가능 수준까지 정리 | 현재 기준선 PR이 병목이다 |
61-
| 2 | `#719` preview/release 운영 정리 | 최신 빌드를 배포할 수 있어야 이슈 종료도 설득력이 생긴다 |
62-
| 3 | `#95` storage 정책 마감 | 최신 Android 대응의 핵심이다 |
63-
| 4 | 메모리/회전 crash 클러스터 재현 | 오래된 crash report를 실질 작업 묶음으로 줄일 수 있다 |
64-
| 5 | 포맷 확장 요청 재정렬 | 실제 유지보수 범위와 별도 연구 과제를 나눠야 한다 |
54+
| 1 | `#719` preview/release 운영 정리 | 최신 빌드를 배포할 수 있어야 이슈 종료도 설득력이 생긴다 |
55+
| 2 | `#95` storage 정책 마감 | 최신 Android 대응의 핵심이다 |
56+
| 3 | large-file / `.so` 재현 클러스터 정리 | 오래된 crash report와 parser 관련 이슈를 실질 작업 묶음으로 줄일 수 있다 |
57+
| 4 | 포맷 확장 요청 재정렬 | 실제 유지보수 범위와 별도 연구 과제를 나눠야 한다 |
6558

6659
## 닫기 전 체크 규칙
6760

6861
| 상황 | 원칙 |
6962
| --- | --- |
70-
| 이미 `#728`포함된 이슈/PR | `#728` 병합 후 superseded로 정리 |
63+
| 이미 `master`병합된 유지보수 기준선으로 커버된 이슈/PR | 병합 직후 닫고 관련 PR을 근거로 남긴다 |
7164
| 오래된 dependabot PR | 그대로 병합하지 않고 새 업그레이드 작업으로 대체 |
7265
| crash report | 재현 정보가 없으면 `needs-repro` 코멘트를 먼저 남긴다 |
7366
| 기능 요청 | 유지보수 핵심 범위와 별도 제품 수준 요청을 분리한다 |

docs/maintenance/merge-close-checklist.ko.md

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,18 +2,22 @@
22

33
이 문서는 유지보수 기준선 PR `#728`이 병합된 직후, 바로 닫을 항목과 검증 후 닫을 항목을 구분해서 정리한 체크리스트다.
44

5+
## 상태
6+
7+
`2026-03-21` 기준으로 "바로 닫을 항목"은 모두 정리 완료했다.
8+
59
## 바로 닫을 항목
610

711
| 종류 | 번호 | 근거 |
812
| --- | --- | --- |
9-
| 이슈 | `#670` | `MainActivity` launcher 노출 문제는 manifest 명시로 `#728`에 포함됨 |
10-
| 이슈 | `#396` | Hex view offset/16-byte row 개선이 `#728`에 포함됨 |
11-
| 이슈 | `#348` | disassembly horizontal scroll fix가 `#728`에 포함됨 |
12-
| 이슈 | `#160` | recreation 시 external import intent 재처리 가드가 `#728`에 포함됨 |
13-
| 이슈 | `#123` | project ZIP export 복구가 `#728`에 포함됨 |
14-
| 이슈 | `#159` | import 파일명 정규화와 fallback 규칙이 `#728`에 포함됨 |
15-
| 이슈 | `#720` | binary detail `.txt` export가 `#728`에 포함됨 |
16-
| 이슈 | `#129` | generic archive extraction으로 `.ar` 지원이 `#728`에 포함됨 |
13+
| 이슈 | `#670` | 정리 완료 |
14+
| 이슈 | `#396` | 정리 완료 |
15+
| 이슈 | `#348` | 정리 완료 |
16+
| 이슈 | `#160` | 정리 완료 |
17+
| 이슈 | `#123` | 정리 완료 |
18+
| 이슈 | `#159` | 정리 완료 |
19+
| 이슈 | `#720` | 정리 완료 |
20+
| 이슈 | `#129` | 정리 완료 |
1721

1822
## 병합 후 재확인 뒤 닫을 항목
1923

@@ -26,7 +30,6 @@
2630
| 이슈 | `#442` | string result cap/stable key 이후 긴 문자열 리스트에서 Recycler/List 불안정이 남는지 |
2731
| 이슈 | `#523` | large-file byte cache 제외 이후 150MB 클래스 입력에서 메모리 압박이 남는지 |
2832
| 이슈 | `#95` | 최신 Android에서 기본 import/export/open 경로가 SAF 중심으로 충분히 수렴했는지 |
29-
| PR | `#726` | `#728` 이후에도 별도 병합 가치가 남는지, 아니면 superseded 처리할지 |
3033

3134
## 정리 규칙
3235

0 commit comments

Comments
 (0)