From 63cf89b86818648c15e6d0806da22ea5dac4d9c2 Mon Sep 17 00:00:00 2001 From: 75py Date: Sun, 1 Nov 2026 18:01:44 +0900 Subject: [PATCH 1/2] Record the release review fixes and validation --- V3_0_0_PLAN.md | 7 ++- .../3.0.0/2026-11-01-review-fixes.md | 50 ++++++++++++++++++- 2 files changed, 55 insertions(+), 2 deletions(-) diff --git a/V3_0_0_PLAN.md b/V3_0_0_PLAN.md index 8dce6d8..6fd4111 100644 --- a/V3_0_0_PLAN.md +++ b/V3_0_0_PLAN.md @@ -4,7 +4,7 @@ ## 現在の状態と今回の作業範囲 -- 2026-11-01追加依頼: PR66レビューの削除中再入・drag alpha・A1〜A5・Bを修正/検証中。coreと設計書をClaude、CI・移行文書・計画/ログ・検証/統合をCodexが所有する。C1〜C4は推奨案のみでユーザー判断待ち。全PRのbaseはrelease/3.0.0。最新の経過は[レビュー対応記録](docs/coordination/3.0.0/2026-11-01-review-fixes.md)。 +- 2026-11-01追加依頼: PR66レビューの削除中再入・drag alpha・A1〜A5・BはPR70/71で修正・検証し、相互承認とCI成功後に `4b9b2a7` へ統合済み。161 unit tests、API36 sample31件、build/lint/publish/consumer成功。coreと設計書をClaude、CI・移行文書・計画/ログ・検証/統合をCodexが所有する。C1〜C4は推奨案のみでユーザー判断待ち。全PRのbaseはrelease/3.0.0。最新の経過は[レビュー対応記録](docs/coordination/3.0.0/2026-11-01-review-fixes.md)。 - 状態: **2026-11-01 JST: [PR68](https://github.com/75py/Android-OverlayViewManager/pull/68)(Timber連携の削除)を対向承認・CI成功後に `8794018` へ統合済み**。`work/3.0.0` も同SHAへfast-forwardして同期した。文書追記後を含む最新のrelease head、CI、SHA付き対向確認は [PR66](https://github.com/75py/Android-OverlayViewManager/pull/66) で追跡する。現行候補は134 unit tests(core 118、lint 12、sample 4)、配布はcoreのみ。Debug/Release、lint、core単体のJava/Kotlin/R8 consumerが成功し、sample全31件をAPI36で再検証した。API23/26/35は2026-10-31の検証結果を維持し、今回は再実行していない。JitPackサービス上の確認はタグ後。mainマージ・タグ・正式配布は未実施で今回の範囲外。詳細は[Timber削除の記録](docs/coordination/3.0.0/2026-11-01-remove-timber.md)。 - 2026-10-31時点の状態: main向けリリースPR作成まで完了。PR65の修正とPR63の最終検証記録を対向承認・CI成功後に統合し、`395f2ff10109068451611a7f3573eb75b2fa923c` から `release/3.0.0` を作成、[Release 3.0.0 PR #66](https://github.com/75py/Android-OverlayViewManager/pull/66) をmain向けに作成した。必須API23/26/35/36、183 unit tests、Debug/Release、lint、独立Java/Kotlin/R8 consumer成功。追加API31のfreeform2件はhost入力非表示による未検証として記録。mainマージ・タグ・正式配布は未実施で今回の範囲外。詳細は[最終検証記録](docs/coordination/3.0.0/2026-10-31-release-validation.md)。 @@ -619,3 +619,8 @@ PR63 head `a47d95cb64f75fc87aa98c158b0bfc92af6b531a` の[Claude承認](https://g PR68 head `d773e7e83890aeaa4eae9e95750c4fe2b8c02391` の[Codex承認](https://github.com/75py/Android-OverlayViewManager/pull/68#issuecomment-6555266404)と[CI成功](https://github.com/75py/Android-OverlayViewManager/actions/runs/41286948503)、base `release/3.0.0`、同一head、CLEANを確認し、通常mergeで `8794018bcc6d67d338982bfaeaddef78db821540` へ統合した。承認headと統合SHAのtree差分なし。`work/3.0.0` も同SHAへfast-forward/push済み。[PR66の統合記録](https://github.com/75py/Android-OverlayViewManager/pull/66#issuecomment-6555284723)と本文を更新した。 本追記は計画・連携記録だけで、製品・テスト・ビルド設定に変更はない。最新release headのCIとClaude確認はPR66のchecksとSHA付きコメントを参照する。mainへのmerge、タグ、正式配布は引き続き対象外。 + + +### 2026-11-01: リリース前レビュー指摘の修正完了 + +PR70(CI公開タスク・移行文書・未参照画像)を `87c753d`、PR71(再入・drag alpha・host listener・破棄理由・小修正)を `4b9b2a7` へ、それぞれ現SHAの対向承認とCI成功後に通常merge。旧実装での再現失敗から修正後161 unit tests/skip0、API36 sample31/31、Debug/Release・lintエラー0・publish・独立Java/Kotlin/R8 consumer成功まで確認した。物理実機・API23/26/31/35は今回再実行していない。公開APIシグネチャとenum、README未公開表記、CHANGELOG日付は不変。C1〜C4は未実装の推奨案として[レビュー対応記録](docs/coordination/3.0.0/2026-11-01-review-fixes.md)に保存した。最終文書headの対向確認・CIはPR66を参照。mainマージ・タグ・正式公開は引き続き対象外。 diff --git a/docs/coordination/3.0.0/2026-11-01-review-fixes.md b/docs/coordination/3.0.0/2026-11-01-review-fixes.md index 072f63f..66fb805 100644 --- a/docs/coordination/3.0.0/2026-11-01-review-fixes.md +++ b/docs/coordination/3.0.0/2026-11-01-review-fixes.md @@ -1,6 +1,6 @@ # 2026-11-01 リリース前レビュー指摘への対応 -状態: 修正・検証中。基点は PR66 の `a79dcb8254d83eaf72784f524f34a12d68668cb7`。今回の依頼は、妥当性確認、再現する問題の修正、回帰テスト、現headの相互レビューとCI成功を経た `release/3.0.0` への反映まで。mainマージ・タグ・正式公開は対象外。 +状態: PR70・PR71を相互承認/CI成功後に統合済み。基点は PR66 の `a79dcb8254d83eaf72784f524f34a12d68668cb7`。今回の依頼は、妥当性確認、再現する問題の修正、回帰テスト、現headの相互レビューとCI成功を経た `release/3.0.0` への反映まで。mainマージ・タグ・正式公開は対象外。 ## 所有と合意 @@ -54,3 +54,51 @@ ANDROID_HOME=/Users/ai-seb/Library/Android/sdk ./gradlew :core:assembleDebug :sa ``` 公開先を一時Maven repositoryへ隔離しているが、実行するpublishタスクはJitPackと同じ。`git diff --check` 成功。core修正後の検証、相互レビュー、CI、統合は未完了。 + + +### 再現と修正の検証 + +実装は既存Claude Code司令塔(Opus 5.5 / high)が担当し、Codexが直接レビュー・検証した。追加の子agentは起動していない。ClaudeのsandboxからOrca inboxを読めなかったため、補足と結果はterminal sendでも再共有し、双方の回答を確認した。 + +最初のテストcommit `a231952` は、旧製品コードに対して70件中18件失敗。仕様整理後のテストだけのcommit `b036288` は72件中21件失敗(Lifecycle10件中2、State32件中9、Drag30件中10)。後者は、spec.alphaを利用者の値として保持し、一時表示はwindow alphaとして検証する仕様に合わせたもの。旧実装の二重remove、DISPOSEDの上書き、host listenerの消失、Activity破棄後の誤分類、mode変更後のalpha残留、明示alphaの上書き、復元失敗後の透明度累積を再現した。追加テストだけでなく、既存のdragテストも実際のwindow alphaを検証するよう更新した。 + +`381e827` がcore修正、`e344aa5c05420b8c75be6a84b332090812c09ac4` がレビュー補正後の候補。CodexはNOT_ATTACHEDのKDocがdispose時のDISPOSEDを表現できていない点、設計書の「異なるspecだけを適用」が復元失敗後のequal update再適用と矛盾する点、通常CANCELのwindow alpha assertionを指摘し、Claudeが修正した(request `bdbebee7-b24c-4199-8e59-69a1402b5028`)。 + +| 指摘 | 結論・修正 | +| --- | --- | +| 削除中の再入 | 妥当。removeは一度だけ。再入hideはno-op、再入disposeは参照を解放しDISPOSEDを維持。通常の削除失敗はATTACHEDを保ちretry可能。再入disposeが既に解放した後の削除失敗は外側へ報告するがDISPOSEDを戻さない。この境界も文書化。 | +| drag alpha | 妥当。spec.alphaは利用者の値を保ち、windowだけを一時的に0.6倍。モード変更、UP/CANCEL、hide/disposeで終了し、明示値を古いbackupで上書きしない。復元失敗後はequal updateでも再適用できる。 | +| A1 | 妥当。非DRAGGABLEの生成・show・update・releaseはhost listenerを触らない。library listenerの切替だけsetOnTouchListenerを呼ぶ。DRAGGABLE中はlibraryがlistenerを所有し、hostが直接置換したlistenerも解除時に消える制約はPR71本文で明示した。 | +| A2 | 妥当。Activity破棄経由で処分したhandleのshow/updateはACTIVITY_DESTROYED。通常disposeは従来の分類を維持。 | +| A3/A4/A5/B | 指摘を確認し、CI公開タスク、Timberの現行記述/画像、stdlib説明、到達不能SDK分岐、例外判定コメント、MOVEログ、license headersを修正。 | + +`e344aa5` に対するCodexの実行コマンド: + +```sh +ANDROID_HOME=/Users/ai-seb/Library/Android/sdk ./gradlew :core:assembleDebug :sample:assembleDebug :core:testDebugUnitTest :lint:test :sample:testDebugUnitTest :core:lintDebug :sample:lintDebug :core:assembleRelease :core:publishToMavenLocal :sample:assembleDebugAndroidTest -Dmaven.repo.local=/private/tmp/ovm-review-core-maven-20261101 +ANDROID_HOME=/Users/ai-seb/Library/Android/sdk ./gradlew -p /private/tmp/ovm-review-core-consumer-20261101 :app:assembleRelease :app:lintRelease --refresh-dependencies +ANDROID_HOME=/Users/ai-seb/Library/Android/sdk ANDROID_SERIAL=emulator-5580 ./gradlew :sample:connectedDebugAndroidTest +``` + +- 最初のbuild/unit/lint/publishは176 tasks成功。unitはcore145/lint12/sample4の計161件、failure/error/skipは0。旧134件から27件増加。lintはcore警告6/sample警告55、エラー0。 +- 独立したJava/Kotlin consumerはR8有効のRelease・lint、45 tasks成功。意図的なALLOW_OUTSIDE_BOUNDS警告1件とfixture由来3件、エラー0。 +- Releaseのclassファイルをjavapで比較し、syntheticを除いたJavaから呼べるpublic/protected宣言15クラスに変更なし。追加helperはinternalかつJvmSynthetic。enum値も変更なし。API検査プラグインの導入ではなく、一時的な比較のみ。 +- API36 sample端末試験は31/31成功(freeform2件を含む)、failure/error/skip0、4分4秒。専用AVDのfreeform設定を元のnullへ復元しemulator5580を終了した。無関係の5554は操作していない。物理実機およびAPI23/26/31/35は今回未検証。今回の再入・モード切替の直接再現はRobolectric/backend callbackによるもので、実機再現とは区別する。 + +### PR70の統合 + +[PR70](https://github.com/75py/Android-OverlayViewManager/pull/70) head `e8f39de71899ff6d96bc12f290fc8e65e052d2a8` は、[Claude承認](https://github.com/75py/Android-OverlayViewManager/pull/70#issuecomment-6555757402)と[CI成功](https://github.com/75py/Android-OverlayViewManager/actions/runs/41290341804)、base/head/CLEANを再確認し、`--match-head-commit` の通常mergeで `87c753da35951cd1f4fde50c00b211e4bbd05455` へ統合。PR71の統合結果は次節。 + + +### PR71の統合と最終checkpoint + +[PR71](https://github.com/75py/Android-OverlayViewManager/pull/71) head `e344aa5c05420b8c75be6a84b332090812c09ac4` は、[Codex承認](https://github.com/75py/Android-OverlayViewManager/pull/71#issuecomment-6555825058)と[CI成功](https://github.com/75py/Android-OverlayViewManager/actions/runs/41290698222)、base/head/CLEAN/readyを確認し、`--match-head-commit` の通常mergeで `4b9b2a78cbc1ca89e1994c35d00343ae57bd7905` へ統合した。レビュー済みheadと統合SHAのcore/sampleソース/lint/build設定に差分なし。PR70のCI・文書・画像削除も同時に含む。PR71本文の検証コマンドはCodexが実行した一時Maven repository引数とconsumerを含む完全形に揃えた。 + +今回の記録追記は文書だけで製品/テスト/build変更なし。最終release headとwork/3.0.0の同期、SHA付きClaude確認、CIは[PR66](https://github.com/75py/Android-OverlayViewManager/pull/66)の最新コメント/checksで追跡する。mainへのマージ・タグ・正式公開は実行しない。C1〜C4は引き続き提案のみで、ユーザー判断待ち。 + +再現情報(候補e344aa5): + +- API36 fingerprint: `google/sdk_gphone64_arm64/emu64a:16/BE2A.250530.026.F3/13894323:userdebug/dev-keys` +- core Release AAR SHA256: `db6412e94c763f6e323f4c720eefada4c252a48c67b0ace30a0e8bc457e7cde8` +- sample Debug APK SHA256: `a0e55a5ee8697a6ec26ac17468944f53f6276e7452766e9e15ef91208ab91982` +- sample test APK SHA256: `e0e93fb1aee652533953d4bc9835df7daf4d6c1bc7230a0ac9491a6675fa3576` From 1de0028509096c8fb3891e17acc2a4b79f181ba7 Mon Sep 17 00:00:00 2001 From: 75py Date: Sun, 1 Nov 2026 18:04:13 +0900 Subject: [PATCH 2/2] Distinguish the historical Timber validation count --- V3_0_0_PLAN.md | 2 +- docs/coordination/3.0.0/2026-11-01-review-fixes.md | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/V3_0_0_PLAN.md b/V3_0_0_PLAN.md index 6fd4111..49d637a 100644 --- a/V3_0_0_PLAN.md +++ b/V3_0_0_PLAN.md @@ -6,7 +6,7 @@ - 2026-11-01追加依頼: PR66レビューの削除中再入・drag alpha・A1〜A5・BはPR70/71で修正・検証し、相互承認とCI成功後に `4b9b2a7` へ統合済み。161 unit tests、API36 sample31件、build/lint/publish/consumer成功。coreと設計書をClaude、CI・移行文書・計画/ログ・検証/統合をCodexが所有する。C1〜C4は推奨案のみでユーザー判断待ち。全PRのbaseはrelease/3.0.0。最新の経過は[レビュー対応記録](docs/coordination/3.0.0/2026-11-01-review-fixes.md)。 -- 状態: **2026-11-01 JST: [PR68](https://github.com/75py/Android-OverlayViewManager/pull/68)(Timber連携の削除)を対向承認・CI成功後に `8794018` へ統合済み**。`work/3.0.0` も同SHAへfast-forwardして同期した。文書追記後を含む最新のrelease head、CI、SHA付き対向確認は [PR66](https://github.com/75py/Android-OverlayViewManager/pull/66) で追跡する。現行候補は134 unit tests(core 118、lint 12、sample 4)、配布はcoreのみ。Debug/Release、lint、core単体のJava/Kotlin/R8 consumerが成功し、sample全31件をAPI36で再検証した。API23/26/35は2026-10-31の検証結果を維持し、今回は再実行していない。JitPackサービス上の確認はタグ後。mainマージ・タグ・正式配布は未実施で今回の範囲外。詳細は[Timber削除の記録](docs/coordination/3.0.0/2026-11-01-remove-timber.md)。 +- Timber削除統合時点の状態: **2026-11-01 JST: [PR68](https://github.com/75py/Android-OverlayViewManager/pull/68)(Timber連携の削除)を対向承認・CI成功後に `8794018` へ統合済み**。`work/3.0.0` も同SHAへfast-forwardして同期した。文書追記後を含む最新のrelease head、CI、SHA付き対向確認は [PR66](https://github.com/75py/Android-OverlayViewManager/pull/66) で追跡する。Timber削除時点の候補は134 unit tests(core 118、lint 12、sample 4)、配布はcoreのみ。Debug/Release、lint、core単体のJava/Kotlin/R8 consumerが成功し、sample全31件をAPI36で再検証した。API23/26/35は2026-10-31の検証結果を維持し、今回は再実行していない。JitPackサービス上の確認はタグ後。mainマージ・タグ・正式配布は未実施で今回の範囲外。詳細は[Timber削除の記録](docs/coordination/3.0.0/2026-11-01-remove-timber.md)。 - 2026-10-31時点の状態: main向けリリースPR作成まで完了。PR65の修正とPR63の最終検証記録を対向承認・CI成功後に統合し、`395f2ff10109068451611a7f3573eb75b2fa923c` から `release/3.0.0` を作成、[Release 3.0.0 PR #66](https://github.com/75py/Android-OverlayViewManager/pull/66) をmain向けに作成した。必須API23/26/35/36、183 unit tests、Debug/Release、lint、独立Java/Kotlin/R8 consumer成功。追加API31のfreeform2件はhost入力非表示による未検証として記録。mainマージ・タグ・正式配布は未実施で今回の範囲外。詳細は[最終検証記録](docs/coordination/3.0.0/2026-10-31-release-validation.md)。 - 作業・統合ブランチ: `work/3.0.0`。 - 分岐元: ローカル `main` の `c71f7fb950ee2a4ce6cba00be82d1b6e02226789`。作成時のローカル `origin/main` も同一。2026-09-12 JSTのfetchでもorigin/mainは同一。 diff --git a/docs/coordination/3.0.0/2026-11-01-review-fixes.md b/docs/coordination/3.0.0/2026-11-01-review-fixes.md index 66fb805..8830e9a 100644 --- a/docs/coordination/3.0.0/2026-11-01-review-fixes.md +++ b/docs/coordination/3.0.0/2026-11-01-review-fixes.md @@ -102,3 +102,5 @@ ANDROID_HOME=/Users/ai-seb/Library/Android/sdk ANDROID_SERIAL=emulator-5580 ./gr - core Release AAR SHA256: `db6412e94c763f6e323f4c720eefada4c252a48c67b0ace30a0e8bc457e7cde8` - sample Debug APK SHA256: `a0e55a5ee8697a6ec26ac17468944f53f6276e7452766e9e15ef91208ab91982` - sample test APK SHA256: `e0e93fb1aee652533953d4bc9835df7daf4d6c1bc7230a0ac9491a6675fa3576` + +PR72初稿 `63cf89b` の対向レビューで、Claudeは計画冒頭の旧134 testsが「現行候補」と読める点を指摘した。Codexは「Timber削除時点の候補」と時点を明記して161件の最新結果と区別した。製品コードの追加変更はない。