programgarden 2.7.0__tar.gz → 2.7.1__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. {programgarden-2.7.0 → programgarden-2.7.1}/PKG-INFO +1 -1
  2. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/broker_snapshot.py +6 -3
  3. {programgarden-2.7.0 → programgarden-2.7.1}/pyproject.toml +1 -1
  4. {programgarden-2.7.0 → programgarden-2.7.1}/README.md +0 -0
  5. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/__init__.py +0 -0
  6. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/binding_provenance.py +0 -0
  7. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/binding_validator.py +0 -0
  8. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/client.py +0 -0
  9. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/code_worker.py +0 -0
  10. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/context.py +0 -0
  11. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/__init__.py +0 -0
  12. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/adjustment_delivery.py +0 -0
  13. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/broker_evidence.py +0 -0
  14. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/broker_order_totals.py +0 -0
  15. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/checkpoint_manager.py +0 -0
  16. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/db_naming.py +0 -0
  17. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/execution_storage.py +0 -0
  18. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/fill_reconciler.py +0 -0
  19. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/order_cancellation.py +0 -0
  20. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/order_recovery.py +0 -0
  21. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/owned_order_cancellation.py +0 -0
  22. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/position_reconciliation.py +0 -0
  23. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/query_builder.py +0 -0
  24. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/sqlite_scope.py +0 -0
  25. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/workflow_position_tracker.py +0 -0
  26. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/database/workflow_risk_tracker.py +0 -0
  27. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/deep_fixtures.py +0 -0
  28. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/executor.py +0 -0
  29. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_contract_info.py +0 -0
  30. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_exchange.py +0 -0
  31. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_history.py +0 -0
  32. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_orderable.py +0 -0
  33. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_pnl.py +0 -0
  34. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/futures_read_evidence.py +0 -0
  35. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/incremental_build.py +0 -0
  36. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/managed_order_control.py +0 -0
  37. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/node_runner.py +0 -0
  38. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/order_lifecycle.py +0 -0
  39. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/paper_futures_business_date.py +0 -0
  40. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/plugin/__init__.py +0 -0
  41. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/plugin/sandbox.py +0 -0
  42. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/providers/__init__.py +0 -0
  43. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/providers/llm_errors.py +0 -0
  44. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/providers/llm_provider.py +0 -0
  45. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/ranking_nodes.py +0 -0
  46. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/reconnect_handler.py +0 -0
  47. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_contracts.py +0 -0
  48. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_events.py +0 -0
  49. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_external.py +0 -0
  50. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_order_adapter.py +0 -0
  51. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_orders.py +0 -0
  52. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_responders.py +0 -0
  53. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_scenarios.py +0 -0
  54. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_semantics.py +0 -0
  55. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_sources.py +0 -0
  56. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_sqlite.py +0 -0
  57. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_tape.py +0 -0
  58. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/replay_triggers.py +0 -0
  59. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resolver.py +0 -0
  60. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resource/__init__.py +0 -0
  61. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resource/context.py +0 -0
  62. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resource/limiter.py +0 -0
  63. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resource/monitor.py +0 -0
  64. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/resource/throttle.py +0 -0
  65. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/semantic_rules.py +0 -0
  66. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/__init__.py +0 -0
  67. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/credential_tools.py +0 -0
  68. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/definition_tools.py +0 -0
  69. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/event_tools.py +0 -0
  70. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/job_tools.py +0 -0
  71. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/registry_tools.py +0 -0
  72. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/tools/sqlite_tools.py +0 -0
  73. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/validation_recommender.py +0 -0
  74. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/validation_replay.py +0 -0
  75. {programgarden-2.7.0 → programgarden-2.7.1}/programgarden/valuation.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: programgarden
3
- Version: 2.7.0
3
+ Version: 2.7.1
4
4
  Summary: ProgramGarden - 노드 기반 자동매매 DSL 실행 엔진
5
5
  License-Expression: AGPL-3.0-or-later
6
6
  Author: 프로그램동산
@@ -61,19 +61,22 @@ async def read_broker_snapshot(ls, *, execution_key, product, provider, trading_
61
61
  from programgarden_finance.ls.korea_stock.extension.valuation import collect_domestic_trading_positions
62
62
  from programgarden_finance.ls.korea_stock.extension.account_queries import collect_domestic_open_orders
63
63
 
64
+ # The collector returns t0424 rows (trade-basis balance, chegb=2), not
65
+ # CSPAQ12300 rows: the symbol is expcode and the held quantity janqty,
66
+ # the same fields the server startup gate reads.
64
67
  _, rows = await collect_domestic_trading_positions(ls.korea_stock().accno())
65
68
  for row in rows:
66
- symbol = normalized_symbol(str(required(row, "IsuNo")), product)
69
+ symbol = normalized_symbol(str(required(row, "expcode")), product)
67
70
  if symbol in positions:
68
71
  raise ReconciliationUnavailable("ambiguous_position_rows")
69
- positions[symbol] = quantity(required(row, "BnsBaseBalQty"))
72
+ positions[symbol] = quantity(required(row, "janqty"))
70
73
  await asyncio.sleep(2)
71
74
  pending = await collect_domestic_open_orders(ls.korea_stock().accno())
72
75
  # t0425 is the documented current-day inquiry. Retain that observation
73
76
  # date for exact ledger matching; never widen it to yesterday's order.
74
77
  for row in pending:
75
78
  row["order_date"] = day
76
- source = "CSPAQ12300+t0425"
79
+ source = "t0424+t0425"
77
80
  elif product == "overseas_stock":
78
81
  from programgarden_finance import COSOQ00201, COSAQ00102
79
82
 
@@ -5,7 +5,7 @@ authors = [
5
5
  homepage = "https://programgarden.com"
6
6
  requires-python = ">=3.12"
7
7
  name = "programgarden"
8
- version = "2.7.0"
8
+ version = "2.7.1"
9
9
  license = "AGPL-3.0-or-later"
10
10
  description = "ProgramGarden - 노드 기반 자동매매 DSL 실행 엔진"
11
11
  readme = "README.md"
File without changes