Skip to content

fix: recover T2B3 QQQ input bundle v2#48

Merged
Pigbibi merged 1 commit into
mainfrom
codex/t2b3-qsp-v2-recovery-20260721
Jul 21, 2026
Merged

fix: recover T2B3 QQQ input bundle v2#48
Pigbibi merged 1 commit into
mainfrom
codex/t2b3-qsp-v2-recovery-20260721

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Jul 21, 2026

Copy link
Copy Markdown
Contributor

Scope

Fresh recovery from ac3cb0b64024ae0eff0594aee8d477688bf320d2; closed PR #47 is read-only evidence and was not reused.

  • Normalize timezone-naive, normalized-midnight datetime/pandas Timestamp values to exact YYYY-MM-DD; timezone-aware and non-midnight values remain fail-closed.
  • Add SPY to the exact requested/raw/manifest universe while keeping CONFIG_BYTES unchanged and preserving the implicit SPY default.

Changed files (exactly two):

  • src/quant_strategy_plugins/tqqq_research_input_bundle.py
  • tests/test_tqqq_research_input_bundle.py

Contract

  • Recovery contract: /Users/lisiyi/Documents/Codex/2026-07-14/ba-2/outputs/qsl_t2b3_qsp_v2_recovery_contract_2026-07-21.md
  • Recovery SHA-256: dfeffa2ab9d6d4fa25f8b5ac5525912174910f85bd9ee61caf62b7a87b9172ce
  • Frozen prior SHA-256: 22223aea8b94ab3157c7897eb883fb84c79fa4d6db271f6629bd47e4ca2b8e06

Advisory non-goals retained: no MIN_AS_OF change, no all-symbol same-final-session rule, and no public PRESENT verifier.

Offline validation

  • Initial missing-module RED; separate semantic REDs for timestamp normalization and SPY universe.
  • Targeted GREEN: 2 passed.
  • Focused: 18 passed; related callers: 65 passed; full: 141 passed.
  • python3 -m ruff check ., python3 -m compileall -q src tests, and python3 -m build --outdir /tmp/... passed.
  • Exact two-file diff, diff check, and local leak policy passed.

No provider, market-data, bundle, evidence, replay, performance, live, broker, order, or capital execution was run.

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

Copy link
Copy Markdown

🤖 Codex PR Review

Merge allowed: 1 finding(s) reported but none are blocking

ℹ️ Other Findings

1. 🟡 [MEDIUM] Logic in src/quant_strategy_plugins/tqqq_research_input_bundle.py

_date_text() only checks hour, minute, second, and microsecond before normalizing datetime values to date(). Pandas Timestamp supports nanosecond precision separately, so a value like Timestamp("2026-07-21 00:00:00.000000001") passes this guard and is silently converted to 2026-07-21. That violates the PR contract that non-midnight timestamps must fail closed, and it can collapse distinct intraday provider rows onto the same session date. (line 106)

Suggestion: Extend the midnight check to reject nonzero nanoseconds as well. For pandas timestamps, compare against value.normalize() (while still rejecting tz-aware values), or explicitly inspect the nanosecond component before calling date().


Review by Codex PR Review bot • PR

@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: 9e7f9ed212

ℹ️ 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 src/quant_strategy_plugins/tqqq_research_input_bundle.py
Comment thread src/quant_strategy_plugins/tqqq_research_input_bundle.py
Comment thread src/quant_strategy_plugins/tqqq_research_input_bundle.py
@Pigbibi
Pigbibi merged commit c798397 into main Jul 21, 2026
14 checks passed
@Pigbibi
Pigbibi deleted the codex/t2b3-qsp-v2-recovery-20260721 branch July 21, 2026 07:29
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