feat: legacy-safe result/store timing codec#252
Conversation
Co-Authored-By: Codex <noreply@openai.com>
🤖 Codex PR Review🚫 Merge blocked: 2 serious issue(s) found in high-risk files ⚖️ Codex Review Arbitration🚫 block: 第一个阻塞点仍然成立: 🚫 Blocking IssuesThese issues must be fixed before this PR can be merged: 1. 🟠 [HIGH] Bug in
|
Co-Authored-By: Codex <noreply@openai.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: db366f157c
ℹ️ 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".
Co-Authored-By: Codex <noreply@openai.com>
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: a8738cc9de
ℹ️ 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".
| source_revision: str = "" | ||
| cost_model: str = "" | ||
|
|
||
| execution_timing: str | None = field(default=None, kw_only=True) |
There was a problem hiding this comment.
Preserve timing when orchestrator persists results
When a runner returns a timed BacktestResult through the standard BacktestOrchestrator.run path, persist_result reconstructs the result in src/quant_platform_kit/strategy_lifecycle/backtest_orchestrator.py:86-115 but never copies this new execution_timing field. The default None then makes the saved record use the legacy t0_missing key, so load_latest_backtest(..., execution_timing="next_open") cannot find a timed run unless callers bypass the orchestrator and save directly.
Useful? React with 👍 / 👎.
Co-Authored-By: Codex <noreply@openai.com>
|
Contract arbitration note: the write-revision HIGH is not adopted. PR A source-of-truth defines |
|
PERMANENT_FREEZE: arbitrary mixed-case legacy profile discovery requires an explicit prefix inventory/index/migration or narrowed compatibility contract; no further local patch. Preserve this PR as frozen evidence. The write-order HIGH remains rejected: ANY selection is deterministic and save-order-independent by approved contract/tests. |
Scope
R1S2 redesign v2 PR A only: legacy-safe timing metadata and store codec.
Noneremain legacy-only;LEGACY_EXECUTION_TIMINGis explicit legacy-only;ANY_EXECUTION_TIMINGis the only cross-timing query.Spec:
/Users/lisiyi/Documents/Codex/2026-07-14/ba-2/outputs/soxl_tqqq_result_store_redesign_v2_2026-07-14.md(PR A)Commit:
db366f157c1c59a55cbc739d87cc23c755152b72Non-goals
No caller migration, orchestrator routing/copy paths, capability wiring, persist_mode, ephemeral/exporter, broker/live/account, or frozen PR #248/#251 changes.
Validation
601 full tests passed, 1 skipped; 62 focused/related passed; ruff, compileall, diff-check passed.