Skip to content

fix: restore global etf selection for new targets - #1016

Merged
Pigbibi merged 5 commits into
mainfrom
fix/global-etf-selection-review-20261101
Nov 1, 2026
Merged

Pigbibi merged 5 commits into
mainfrom
fix/global-etf-selection-review-20261101

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Nov 1, 2026 •

Copy link
Copy Markdown
Contributor

AI assistance

Prepared and reviewed locally with OpenAI Codex (GPT-6), in a separate clone.

What changed

Restore Global ETF selection and live eligibility following the owner's explicit 2026-11-01 decision: unfreeze, enable runtime selection, set lifecycle_stage to runtime_enabled, enable live switching, allow paper/dry_run/live, and clear blocked_live_reason. Deep comparison confirms these are the only six source configuration changes. Russell Top50, every other strategy, existing targets and live_continuity remain unchanged.

Regenerate the catalog projections and frontend bundle. Fix CI's reconstruction of the fixed old candidate by reading its original immutable policy blob instead of today's catalog; retain the historical 14-profile freeze assertions and all candidate identity checks. The current catalog has 13 frozen profiles. Add coverage distinguishing the historical policy from the restored Global ETF policy, and correct the account-settings catalog expectation to include Global ETF.

No dependency pins, schemas, execution code, workflows, deployment settings, broker controls or secrets change. No deployment or trading action is performed. Companion allowlist PR: QuantStrategyLab/UsEquityStrategies#713

How verified

  • 168 runtime-settings tests and 7 frozen-selection tests passed.
  • Frozen-selection, HTTP-handler and scoped-selection Node validations passed again after integrating current main.
  • Account-settings Worker and account-settings state validations passed; the Worker validation was also rerun after integrating current main.
  • All 3 historical freeze-candidate tests passed.
  • Frontend TypeScript/Vite build, bundle size budget and generated asset validation passed (76 references, 26 assets).
  • Display names, config, runtime target examples, documentation (0 blocking, 1 advisory), and git diff --check passed.
  • Reviewed the complete source diff and verified exactly six Global ETF fields differ; generated bundle changes derive from that catalog change.
  • Full Python and JavaScript CI passed for both PR and push events, along with the fixed-candidate compatibility, producer roundtrip, documentation and governance checks.
  • Owner-approved labeling and squash merge completed after the final review and all required checks passed.

Co-Authored-By: Codex <noreply@openai.com>
@coderabbitai

coderabbitai Bot commented Nov 1, 2026 •

Copy link
Copy Markdown

Important

  • Trigger review

This repository does not receive automatic reviews because it has fewer than 10 stars.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 708d6dff-1aa0-4012-880c-2fa059d557bd
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

Share

Pigbibi and others added 4 commits November 1, 2026 16:00
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
Co-Authored-By: Codex <noreply@openai.com>
@Pigbibi
Pigbibi marked this pull request as ready for review November 1, 2026 09:02

@Pigbibi Pigbibi left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Self-review completed on the final head after integrating current main. Deep comparison confirms exactly six Global ETF source fields change: frozen, runtime_enabled, lifecycle_stage, can_switch_live, allowed_execution_modes and blocked_live_reason. All other strategies, live_continuity, existing targets and risk/broker policies are unchanged. The other diff files are generated projections/bundle and directly related tests or the historical-policy compatibility fix. The old candidate retains its original 14-profile freeze policy and exact identity checks; current Global ETF restoration does not rewrite that baseline. Full Python and JavaScript CI passed for both PR and push events, including the fixed-candidate compatibility job and producer roundtrip. Local 175 Python tests, frozen-selection/HTTP validations, account-settings Worker/state validations, historical freeze tests and frontend build/asset checks passed. No blocking findings. No deployment, IAM, secrets or trading action is included.

@Pigbibi Pigbibi added the owner-approved Owner approval for high-risk PRs. AI agents must never apply this label. label Nov 1, 2026 — with ChatGPT Codex Connector
@Pigbibi
Pigbibi merged commit 50868e1 into main Nov 1, 2026
16 of 19 checks passed
@Pigbibi
Pigbibi deleted the fix/global-etf-selection-review-20261101 branch November 1, 2026 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

owner-approved Owner approval for high-risk PRs. AI agents must never apply this label.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant