Skip to content

[codex] converge qmt runtime dependencies#14

Merged
Pigbibi merged 1 commit into
mainfrom
codex/qmt-dependency-convergence
Jul 6, 2026
Merged

[codex] converge qmt runtime dependencies#14
Pigbibi merged 1 commit into
mainfrom
codex/qmt-dependency-convergence

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Align QmtPlatform with QSL bundle 2026.07.2 by pinning CnEquityStrategies@73844e92... and restoring enforce_bundle=true.
  • Limit QMT runtime profiles to the current QMT-enabled dry-run profiles: cn_industry_etf_rotation and cn_industry_etf_rotation_aggressive.
  • Add a dry-run preflight command for config validation without live account credentials.
  • Remove obsolete dividend snapshot runtime fixtures/smoke coverage from QMT; dividend remains research-only in CnEquityStrategies.

Validation

  • uv run --with ruff ruff check . --extend-exclude external
  • PYTHONPATH=. PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run python -m pytest -q tests
  • uv run python scripts/build_fixtures.py
  • uv run python scripts/smoke_cn_industry_etf_rotation_dry_run_e2e.py
  • uv run python scripts/smoke_cn_industry_etf_rotation_aggressive_dry_run_e2e.py
  • STRATEGY_PROFILE=cn_industry_etf_rotation QMT_DRY_RUN_ONLY=true QMT_MARKET_HISTORY_PATH=data/fixtures/market_history.sample.csv uv run python scripts/preflight_qmt_runtime.py
  • python3 /Users/lisiyi/Projects/QuantRuntimeSettings/scripts/check_qsl_compat.py --repo-root . --compat-root /Users/lisiyi/Projects/QuantRuntimeSettings

@cursor

cursor Bot commented Jul 6, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

@Pigbibi Pigbibi enabled auto-merge (squash) July 6, 2026 11:49
Co-Authored-By: Codex <noreply@openai.com>
@Pigbibi Pigbibi force-pushed the codex/qmt-dependency-convergence branch from 5629b74 to efd9069 Compare July 6, 2026 11:51
@cursor

cursor Bot commented Jul 6, 2026

Copy link
Copy Markdown

Bugbot is not enabled for your account, so this pull request was not reviewed.

Enable Bugbot in the Cursor dashboard to get automatic reviews on future PRs.

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

Copy link
Copy Markdown

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: 5629b741e8

ℹ️ 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 scripts/build_fixtures.py
"--use-akshare",
action="store_true",
help="Fetch real ETF market history and dividend factor fields via AkShare when available.",
help="Fetch real ETF market history via AkShare when available.",

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Restore the dependency behind --use-akshare

When someone runs python scripts/build_fixtures.py --use-akshare in the standard environment from this commit, the flag now raises ModuleNotFoundError because _build_market_history() still imports cn_equity_snapshot_pipelines.akshare_market_history, while the workflow no longer checks out/installs CnEquitySnapshotPipelines and pyproject.toml does not declare it. Either keep that package installed for this path or remove/rework the flag so fixture regeneration with AkShare does not advertise a broken mode.

Useful? React with 👍 / 👎.

Comment thread runtime_preflight.py
)

required_inputs = tuple(sorted(frozenset(entrypoint.manifest.required_inputs)))
if not settings.dry_run_only and not allow_non_dry_run:

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

P2 Badge Check the runtime target dry-run flag

When the operator supplies RUNTIME_TARGET_JSON with dry_run_only=false but leaves QMT_DRY_RUN_ONLY unset or true, load_platform_runtime_settings() still populates settings.dry_run_only from the env default instead of the parsed runtime target. This guard therefore does not add non_dry_run_blocked, so the new preflight command can exit 0 for a live runtime target even though it is supposed to reject non-dry-run QMT configs unless --allow-non-dry-run is explicitly passed.

Useful? React with 👍 / 👎.

@Pigbibi Pigbibi merged commit 807d8e2 into main Jul 6, 2026
5 of 6 checks passed
@Pigbibi Pigbibi deleted the codex/qmt-dependency-convergence branch July 6, 2026 11:58
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