refactor(python): type durable authoring runtime boundaries - #369
Conversation
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
🛡️ Codex Security Review · Automatically triggeredSecurity review completed. No security issues were found in this pull request. Reviewed commit: Only the user who started this review can view the report in Codex. ℹ️ About Codex security reviews in GitHubThis is an experimental Codex feature. Security reviews are triggered when:
Once complete, Codex will leave suggestions, or a comment if no findings are found. |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
If Codex has suggestions, it will comment; otherwise it will react with 👍. Codex can also answer questions or update the PR. Try commenting "@codex address that feedback". |
Durable function authoring used
Anyand casts around the optional execution runtime, so callback, batch-result, and wait-state mistakes could pass static checks. This change models that runtime with typed protocols, carries handler and state types through the public API, and validates dynamic callback and duration inputs without changing package entrypoints or requiring the optional runtime for ordinary SDK users.The tests now use typed runtime fixtures and check retry, wait, batch, default-step, and duration behavior before starting the local scheduler. Native mypy and basedpyright rules enforce explicit-
Anyrestrictions for this module and its tests. The installed wheel retains 100% public type completeness without--ignoreexternal.Validation:
poe checkspasses on this rebased head (2,237 tests, 100% runtime line and branch coverage, wheel/sdist and optional-dependency consumers). The canonicalpoe qualitymutation gate passed immediately before a clean rebase over a disjoint client test: 756 killed, 338 statically invalid, zero survivors, uncovered mutants, timeouts, or crashes. CI will rerun the complete gate on this head.