Skip to content

Commit 023bcbc

Browse files
songoowclaude
andauthored
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

File tree

‎loopx/control_plane/turn_driver/executor.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,10 +70,10 @@
7070
LOOPX_TURN_RESULT_SCHEMA_VERSION,
7171
STOP_RESULT_KINDS as STOP_HOST_RESULT_KINDS,
7272
TRANSACTION_PHASES,
73-
LoopXTurnResultKind,
7473
build_loopx_turn_transaction_plan,
7574
validate_loopx_turn_receipt,
7675
)
76+
from .turn_contract_generated import LoopXTurnResultKind
7777

7878
__all__ = [
7979
"build_loopx_turn_command_validator",

0 commit comments

Comments
 (0)