diff --git a/REPORT.md b/REPORT.md index 1b88e8dd..d122919e 100644 --- a/REPORT.md +++ b/REPORT.md @@ -1,5 +1,22 @@ # REPORT +## [2026-07-25] 원격 잔존 브랜치 위생 판정 (2026-07-25-rustjava-branch-hygiene) +- 무엇을: 포크(Jun025/RustJava)에 남아 있던 원격 브랜치 2건을 실측 대조로 판정했다. + `dependabot/cargo/tracing-attributes-0.1.31` 은 삭제하고, `wie-ktf-hardening` 은 + 혼재 판정으로 보존 + 커밋별 판정표를 제출했다. 코드 변경은 없다. +- 왜: dependabot 브랜치는 PR #4(`fa92ef9`)가 `tracing-attributes` 직접 의존을 통째로 + 제거해 패치 대상 라인 자체가 사라졌다 — 머지해도 적용되지 않는 죽은 패치다. + `wie-ktf-hardening` 은 `git cherry` 가 12커밋 전부를 미반영(`+`)으로 표시했지만, 실제로는 + 내용이 upstream 에 스쿼시 머지(#174·#175·#176·#177·#180·#182)돼 있었고 우리 `origin/main` + 이 upstream 보다 20커밋 뒤처져 있어 생긴 착시였다. 12건 중 8건 반영/대체, 4건만 유효 잔존. +- 사용자 영향: 원격 브랜치 목록이 `main` + 판정 보류 1건으로 정리됐다. 런타임 동작 변화 없음. +- 후속 추천: ① `origin/main` ← `upstream/main` 20커밋 동기화가 선행돼야 한다(그래야 잔존분이 + 4건으로 확정되고, upstream 이 `GlobalRef`(#182)로 다르게 푼 스레드 루팅과의 이중 적용을 피한다). + ② 이후 잔존 4건(Timer 1회성 schedule, StringBuffer.insert, append([CII) null→NPE, + arraycopy·String.([B)([C)·BAIS.([B) null 가드 + Integer.byteValue/shortValue)만 + 추려 PR 1건 — 전부 호스트 프로세스를 죽이는 실제 패닉이라 upstream 상납 가치도 있다. + ③ 착수 전 upstream `agent/runtime-api-gaps`(미머지, +33k lines) 중복 여부 확인. + ## [2026-07-22] 미지원 charset 패닉 → UnsupportedEncodingException (rustjava-unsupported-charset-exception) - 무엇을: `String.getBytes(charset)`/`new String(byte[], charset)`/`InputStreamReader.read()`의 `unimplemented!()` 패닉을 `java.io.UnsupportedEncodingException`(신설, IOException 하위) throw 로 diff --git a/STATE.md b/STATE.md index 695a6e75..ad95e01b 100644 --- a/STATE.md +++ b/STATE.md @@ -21,9 +21,22 @@ `Throwable.getMessage()` 신설, 픽스처 `test_data/UnsupportedCharset`. ★게이트③ 완료: PR #5 approve 핀 `dd9fcdf` 확인(이후 이동분은 문서화된 main 동기화 머지 3건뿐, diff-of-diffs 로 코드 동일성 검증) → 스쿼시 머지(2026-07-23), 브랜치 정리 완료. +- [2026-07-25-rustjava-branch-hygiene] 원격 잔존 브랜치 2건 판정. ① + `dependabot/cargo/tracing-attributes-0.1.31` → PR #4 로 `tracing-attributes` 의존 자체가 + 소멸(Cargo.toml/lock 전무)해 패치 대상 라인 부재 → origin 에서 삭제 완료. ② + `wie-ktf-hardening` → 12커밋 중 8건이 upstream/main 에 스쿼시 반영/대체(#174~#182), + 4건 유효 잔존 → **혼재 판정으로 보존**, 커밋별 판정표를 총괄에 제출(코드 변경 0). ## 다음 -- 발권 대기 태스크 없음 — 4개 티켓 전부 게이트③ 착지, 열린 PR/작업 브랜치 0. +- ★`origin/main` 이 `upstream/main` 보다 **20커밋 뒤처짐**(2026-07-25 실측). upstream 동기화 + 티켓이 선행돼야 `wie-ktf-hardening` 잔존분 정리가 안전하다. +- (wie-ktf-hardening 유효 잔존 4건 — 전부 호스트 프로세스 abort 급 패닉/미구현, upstream 상납 가치 있음) + `Timer.schedule(TimerTask,long)` 1회성 / `StringBuffer.insert(I,String)` / + `StringBuffer.append([CII)` null→NPE / `System.arraycopy`·`String.([B)([C)`· + `ByteArrayInputStream.([B)` null 가드 + `Integer.byteValue()/shortValue()`. +- ★위 착수 전 upstream `agent/runtime-api-gaps`(6309d47, +33k lines, 미머지)가 잔존 4건을 + 삼키는지 확인할 것(중복 노동 방지). +- 발권 대기 태스크 없음 — 열린 PR 0, origin 작업 브랜치는 보존 판정된 `wie-ktf-hardening` 1건. - ★PR 발권 시 `--repo Jun025/RustJava` 명시(2026-07-22 upstream 오발행 사고 재발 방지). - (범위 밖 잔여) `jvm_rust/src/interpreter.rs:629` `todo!()` (invokedynamic) — 별건 티켓 필요 - (신규 발견) javac 21 산출 익명 내부 클래스(.class)가 "Malformed class file" 로 파싱 실패 —