Skip to content

Commit c789033

Browse files
Fix pre-commit: pyright parity test and hook formatting drift.
Satisfy pyright for kernel normalize_offer_side; apply ruff/prettier fixes. Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 99da711 commit c789033

5 files changed

Lines changed: 15 additions & 9 deletions

File tree

docs/decisions/0011-offer-request-python-import-boundaries.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,10 +19,10 @@ without growing `policy_bridge.py` into a flat FFI catalog.
1919

2020
### Python modules (import from here, not `policy_bridge`)
2121

22-
| Module | Use for |
23-
|--------|---------|
24-
| `greenfloor.core.offer_request_bridge` | Direct kernel access to offer-request symbols (internal bridge). |
25-
| `greenfloor.core.offer_policy` | **Stable runtime/daemon/BLS imports** — re-exports leg math + Dexie/publish helpers. |
22+
| Module | Use for |
23+
| -------------------------------------- | ----------------------------------------------------------------------------------------- |
24+
| `greenfloor.core.offer_request_bridge` | Direct kernel access to offer-request symbols (internal bridge). |
25+
| `greenfloor.core.offer_policy` | **Stable runtime/daemon/BLS imports** — re-exports leg math + Dexie/publish helpers. |
2626
| `greenfloor.core.signer_offer_request` | `SignerCreateOfferRequest`, `SignerOfferLegAmounts`, `build_signer_create_offer_request`. |
2727

2828
### `policy_bridge.py` role

greenfloor/core/offer_request_bridge.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ def compute_signer_offer_leg_amounts(
8888
resolved_quote_asset_id: str,
8989
action_side: str,
9090
pricing: dict[str, Any],
91-
) -> "SignerOfferLegAmounts":
91+
) -> SignerOfferLegAmounts:
9292
compute = _require_offer_request_method("compute_signer_offer_leg_amounts")
9393
payload = compute(
9494
int(size_base_units),

greenfloor/daemon/market_cycle/strategy_exec_phase.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from greenfloor.adapters.splash import SplashAdapter
99
from greenfloor.config.models import MarketConfig, ProgramConfig
1010
from greenfloor.core.planned_action import PlannedAction, planned_action_side
11-
from greenfloor.core.planned_action import PlannedAction
1211
from greenfloor.daemon.cooldowns import _managed_offer_market_health_payload
1312
from greenfloor.daemon.market_cycle.result import MarketCycleResult
1413
from greenfloor.daemon.market_logging import _log_market_decision

greenfloor/daemon/offer_dispatch/parallel.py

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,9 @@
1414
reservation_release_status,
1515
should_apply_parallel_transient_cooldown,
1616
)
17-
from greenfloor.core.planned_action import planned_action_side
1817
from greenfloor.core.parallel_batch_plan import ParallelBatchPlan, ParallelQueueItem
1918
from greenfloor.core.parallel_reservation_context import parallel_reservation_asset_ids
20-
from greenfloor.core.planned_action import PlannedAction
19+
from greenfloor.core.planned_action import PlannedAction, planned_action_side
2120
from greenfloor.core.strategy_action_item import StrategyActionItem
2221
from greenfloor.daemon.cooldowns import _POST_COOLDOWN_UNTIL, _post_retry_config, _set_cooldown
2322
from greenfloor.daemon.inventory_scan import coinset_spendable_profiles_by_asset

tests/test_signer_create_offer_parity.py

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,10 @@
33
from __future__ import annotations
44

55
import json
6+
from collections.abc import Callable
67
from dataclasses import replace
78
from pathlib import Path
9+
from typing import cast
810

911
import pytest
1012

@@ -36,6 +38,8 @@ def _require_signer_kernel():
3638
pytest.skip("greenfloor_signer not installed")
3739
if not callable(getattr(kernel, "compute_signer_offer_leg_amounts", None)):
3840
pytest.skip("greenfloor_signer.compute_signer_offer_leg_amounts not available")
41+
if not callable(getattr(kernel, "normalize_offer_side", None)):
42+
pytest.skip("greenfloor_signer.normalize_offer_side not available")
3943
return kernel
4044

4145

@@ -51,7 +55,11 @@ def _require_signer_kernel():
5155
def test_normalize_offer_side_matches_kernel(raw: str, expected: str) -> None:
5256
kernel = _require_signer_kernel()
5357
assert normalize_offer_side(raw) == expected
54-
assert str(kernel.normalize_offer_side(str(raw))) == expected
58+
kernel_normalize = cast(
59+
Callable[[str], str],
60+
kernel.normalize_offer_side, # pyright: ignore[reportAttributeAccessIssue]
61+
)
62+
assert str(kernel_normalize(str(raw))) == expected
5563

5664

5765
def test_planned_action_side_avoids_kernel_for_canonical_labels() -> None:

0 commit comments

Comments
 (0)