Skip to content

Require Schwab runtime target JSON#48

Merged
Pigbibi merged 6 commits into
mainfrom
chore/schwab-reserved-cash-floor-150
May 10, 2026
Merged

Require Schwab runtime target JSON#48
Pigbibi merged 6 commits into
mainfrom
chore/schwab-reserved-cash-floor-150

Conversation

@Pigbibi
Copy link
Copy Markdown
Collaborator

@Pigbibi Pigbibi commented May 10, 2026

Summary

  • make Schwab runtime settings resolve strategy identity from RUNTIME_TARGET_JSON
  • update env-sync workflow and switch-plan output to publish structured runtime targets instead of STRATEGY_PROFILE
  • pin QuantPlatformKit to the runtime-target JSON contract commit and keep shadow plugin notification tests intact

Tests

  • PYTHONPATH=.:../QuantPlatformKit/src:../UsEquityStrategies/src .venv/bin/python -m unittest discover -s tests -p 'test_runtime_config_support.py' -v
  • PYTHONPATH=.:../QuantPlatformKit/src:../UsEquityStrategies/src .venv/bin/python -m unittest discover -s tests -p 'test_notifications.py' -v
  • PYTHONPATH=.:../QuantPlatformKit/src:../UsEquityStrategies/src .venv/bin/python -m unittest discover -s tests -p 'test_request_handling.py' -v
  • bash tests/test_sync_cloud_run_env_workflow.sh

Copy link
Copy Markdown

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 190e014c88

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

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".

Comment thread runtime_config_support.py


def load_platform_runtime_settings() -> PlatformRuntimeSettings:
runtime_target = resolve_runtime_target_from_env(env=os.environ, expected_platform_id=SCHWAB_PLATFORM)
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Honor runtime-target dry_run_only when loading settings

load_platform_runtime_settings now requires RUNTIME_TARGET_JSON, but it still derives dry_run_only exclusively from SCHWAB_DRY_RUN_ONLY. In deployments where the control plane sets RUNTIME_TARGET_JSON.dry_run_only=true but SCHWAB_DRY_RUN_ONLY is unset/false, the runtime will execute in live mode despite the structured runtime target declaring paper mode. This creates a high-risk mode mismatch and can lead to unintended live orders unless both inputs are manually kept in sync.

Useful? React with 👍 / 👎.

@Pigbibi Pigbibi merged commit cf9b510 into main May 10, 2026
1 check passed
@Pigbibi Pigbibi deleted the chore/schwab-reserved-cash-floor-150 branch May 10, 2026 07:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant