[codex] converge qmt runtime dependencies#14
Conversation
|
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. |
Co-Authored-By: Codex <noreply@openai.com>
5629b74 to
efd9069
Compare
|
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. |
There was a problem hiding this comment.
💡 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".
| "--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.", |
There was a problem hiding this comment.
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 👍 / 👎.
| ) | ||
|
|
||
| required_inputs = tuple(sorted(frozenset(entrypoint.manifest.required_inputs))) | ||
| if not settings.dry_run_only and not allow_non_dry_run: |
There was a problem hiding this comment.
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 👍 / 👎.
Summary
2026.07.2by pinningCnEquityStrategies@73844e92...and restoringenforce_bundle=true.cn_industry_etf_rotationandcn_industry_etf_rotation_aggressive.Validation
uv run --with ruff ruff check . --extend-exclude externalPYTHONPATH=. PYTEST_DISABLE_PLUGIN_AUTOLOAD=1 uv run python -m pytest -q testsuv run python scripts/build_fixtures.pyuv run python scripts/smoke_cn_industry_etf_rotation_dry_run_e2e.pyuv run python scripts/smoke_cn_industry_etf_rotation_aggressive_dry_run_e2e.pySTRATEGY_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.pypython3 /Users/lisiyi/Projects/QuantRuntimeSettings/scripts/check_qsl_compat.py --repo-root . --compat-root /Users/lisiyi/Projects/QuantRuntimeSettings