Commit 023bcbc
fix(turn-driver): import the Turn result owner from its generated module (#4571)
M2 (#4499) moved `LoopXTurnResultKind` to `turn_contract_generated.py`
and kept `transaction.py` as a compatibility re-export. The Python
producer scanner attributes a site only when the owner class is imported
from the owner's own module (`python_production._qualified_bindings`),
so every `LoopXTurnResultKind.*` production site in `executor.py` became
"not proven safe" although executor.py did not change in M2.
Import the enum from the generated owner. It is the same enum object
through both paths, so behavior is unchanged; the compatibility export
stays for external readers.
`examples/semantic-vocabulary-drift-smoke.py --report` on main vs this
change: unresolved_producer_sites 52 -> 42 (distinct sites 34 -> 32),
resolving `_host_result_stage` (2), `_run_task_validator` (7) and
`_task_validation_stage` (1); no site becomes newly unresolved; smoke
still reports ok.
Refs #4447 (Track B, B2 producer pilot for the Turn kernel vocabularies).
Co-authored-by: Claude Fable 5.1 <noreply@anthropic.com>1 parent ce1252b commit 023bcbc
1 file changed
Lines changed: 1 addition & 1 deletion
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
70 | 70 | | |
71 | 71 | | |
72 | 72 | | |
73 | | - | |
74 | 73 | | |
75 | 74 | | |
76 | 75 | | |
| 76 | + | |
77 | 77 | | |
78 | 78 | | |
79 | 79 | | |
| |||
0 commit comments