Repository navigation
PR #488 の構造改善で取り消し・見送った 2 件(使われない project_name の引数・VS Code Server の片付けの関数の分割) #490
Copy link
Copy link
Closed
Milestone
Description
何を見つけたか
PR #488 の構造改善(コメント 6158923037)で、採らなかった提案が 2 件ある。
| # | 対象 | 何が起きているか | 構造改善での扱い |
|---|---|---|---|
| 1 | lib/devbase/volume/manager.py の VolumeManager.__init__(project_name)・ensure_volumes(scale, project_name)(commands/container.py から渡している) |
#463 で VS Code Server のボリュームが共通の 1 本になり、self.project_name と ensure_volumes の project_name はどこからも読まれない。docstring は「使わない」と書いて引数を残しており、名前がボリュームに効くと読める |
取り消し。現状固定テスト(tests/commands/test_container_scale_order.py の「project_name が ensure_volumes に渡る」、tests/volume/test_manager_vscode.py・tests/volume/test_manager_ensure_volumes.py)の期待が変わるため、構造改善では行わない |
| 2 | containers/base/entrypoint.sh の devbase_prune_vscode_server_bin |
古い版の削除・入れ子の本体の削除・展開の途中のディレクトリの削除という 3 つの選別規則が 1 つの関数にある | 見送り。時間の枠に入らなかった。イメージに入るファイルのため、確かめには base の建て直しが要る |
どこで見つけたか
PR #488(スプリント m8d)の /ndf:cross-refactoring の改修計画(I-00x の取り消し 1 件・見送り 1 件)。スプリント m8d の振り返りで、起票されていないことを確かめた
なぜこの変更の範囲外なのか
#463 の受け入れ条件は VS Code Server のボリュームの構成と片付けの振る舞いで、使われなくなった引数の削除と関数の分割はどちらも含まない。1 は現状固定テストの期待を変えるため構造改善の枠(期待出力を変えない)の外にある。根拠: MVV 版 1(main への直接の push をしない・変更は PR で通す範囲の判断で、承認の要る操作 P1〜P3 には当たらない)
直さないと何が起きるか
1 は読む人が project_name がボリュームの名前に効くと誤解し得る。振る舞いへの影響は無い。2 は片付けの規則を足す・直すときに 1 つの長い関数を読む手間が残る。どちらも利用者に見える不具合ではない
起票者の推定
- 1 と 2 を 1 件にまとめて扱ってよい(推した出所: 前例 PR #450 の構造改善で時間の枠を超えて見送った提案の残り 15 件(_aws_plan の重複・補完の分岐の連なり・テストの補助の重複など) #452 が構造改善の見送りの残りを 1 件にまとめている)
由来
PR #488
受け入れ条件
スプリント m8e(#365 #452 と同じ)で直す。設計 Pull Request は出さない。1 と 2 を 1 本の実装 Pull Request で扱う。
lib/devbase/volume/manager.pyのVolumeManager.__init__とモジュールの関数ensure_volumesから、使われないproject_nameの引数(とself.project_name)が外れ、呼び出し元(lib/devbase/commands/container.pyの 2 か所ほか)が合わせて直っている。get_volume_for_indexなどほかの「互換のために残す」引数はこの課題で扱わない- ボリュームの名前・作る順・作る数は変わらない。期待が変わるテスト(
tests/commands/test_container_scale_order.pyの「project_nameがensure_volumesに渡る」・tests/volume/test_manager_vscode.py・tests/volume/test_manager_ensure_volumes.py)は、引数の受け渡しの期待だけを直し、ボリュームの名前の期待は変えない。直したテストと理由を Pull Request の本文に書く containers/base/entrypoint.shのdevbase_prune_vscode_server_binが、3 つの選別規則(古い版の削除・入れ子の本体の削除・展開の途中のディレクトリの削除)ごとの関数に分かれる。devbase_prune_vscode_server_binの名前・引数・出力・消す対象は変わらないtests/containers/test_entrypoint_vscode_server.pyが手を入れずに通る(関数をDEVBASE_ENTRYPOINT_LIB_ONLY=1で source して確かめる。Docker に依存しない)- 実装では base イメージを建て直さず、
devbase upを打たない。建て直したイメージでの確かめ(実のイメージ+使い捨てボリュームのdocker run)はリリース後テストで行う - 全体のテスト(
env -u DEVBASE_ROOT uv run --locked pytest tests/ -q)・CI と同じ lint・devbase-base:latestの shellcheck(entrypoint.sh)・固有の語の検査が通る - 利用者に見える振る舞いは変わらないため
CHANGELOG.mdは書かない
進行
モード: —
- 要求と受け入れ条件
- 作業場所の用意 — 2026-10-15 17:48
- 設計
- 素材の収集と出典の確定
- ドキュメント再構成
- ドキュメントレビュー
- 計画 — 2026-10-15 17:48
- 実装 — 2026-10-15 17:57
- 構造改善 — 2026-10-15 18:28
- 実装レビュー — 2026-10-15 18:47
- 完了判定 — 2026-10-15 18:02
- Pull Request — 2026-10-15 18:04
- 確定仕様化 — 2026-10-15 22:23
- 後片付け
- 配布 — 2026-10-15 23:34
- 体裁レビュー
- リリース後テスト — 2026-10-15 22:24
- 振り返り — 2026-10-15 22:33
- 棚卸し — 2026-10-15 22:35
振り返り: #495 (comment)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
Merge pull request #493 from devbasex/feat/issue-490-m8e
Docs: vscode-server-volume.md のテストの表を ensure_volumes の引数の削除(#490)に合わせる