HYP-197: legacy defk handlers を defhandler へ移行#419
Draft
proboscis wants to merge 3 commits into
Draft
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
概要
HYP-197 は、production Hy source に残っていた旧
defk [effect k]handler 署名をdefhandlerに移行する変更です。doeff-hyの macro guard が拒否する旧署名を package 側から取り除き、import と pytest collection が止まらない状態にします。変更内容
doeff-dockerの Dockerfile / Docker build / image push handler をdefhandler節へ移行しました。doeff-ml-nexusの file / docker / rsync / resolve handler をdefhandler節へ移行しました。defkmacro 要件に合わせて:pre/:post契約を追加しました。packages/**/src/**/*.hyに旧defkhandler-like 署名が戻った場合に検出する architecture test と Semgrep ルールを追加しました。imagegenで生成し、Hypha/Evidence/HYP-197/pr-explanation.pngに保存しました。レビュアーが見るべきこと
Pass effect kではなく、defhandlerの既定転送に移っていること。Tell、各実行 handler のAsk/slog連携が維持されていること。packages/doeff-ml-nexus/src/doeff_ml_nexus/docker.hyの契約追加が Dockerfile 生成の既存挙動を変えていないこと。確認したこと
uv run --package doeff-ml-nexus pytest packages/doeff-ml-nexus/tests/test_docker.py -q-> 4 passeduv run --package doeff-ml-nexus pytest packages/doeff-ml-nexus/tests/test_serializer.py packages/doeff-ml-nexus/tests/test_uv_deps.py -q-> 12 passeduv run --package doeff-ml-nexus pytest packages/doeff-ml-nexus/tests -q-> 27 passeduv run pytest tests/architecture/test_no_legacy_defk_handler_signatures.py -q-> 1 passeduv run --package doeff-ml-nexus pytest packages/doeff-ml-nexus/tests/test_handler_imports.py -q-> 6 passeduv run semgrep --config .semgrep.yaml packages/doeff-docker/src/doeff_docker/handlers/dockerfile.hy packages/doeff-docker/src/doeff_docker/handlers/docker.hy packages/doeff-ml-nexus/src/doeff_ml_nexus/handlers-> 0 findingsgit diff --check origin/main...HEAD-> 通過補足
UI や表示文言の変更ではないため、UI 証跡確認は不要です。