feat: add Phase 1 V2 clean-cutover snapshot contract - #202
Conversation
Co-Authored-By: Codex <noreply@openai.com>
🤖 Codex PR Review✅ Merge allowed: 2 finding(s) reported but none are blocking ℹ️ Other Findings1. 🟡 [MEDIUM] Security in
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 2266a334b0
ℹ️ 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: 92a89b19c0
ℹ️ 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".
|
Fail-closed: the sole authorized consolidated remediation budget is exhausted and the guarded merge remained BLOCKED after exact-head checks. Closing unmerged and parking per authority. |
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: ae01237735
ℹ️ 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: d09aea1560
ℹ️ 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".
| normalized_row = {"session": session, "symbol": symbol, "adjusted_close": adjusted_close} | ||
| serialized_rows_size += len(_canonical(normalized_row)) |
There was a problem hiding this comment.
Reject invalid symbols before JSON serialization
When a caller supplies a row whose symbol is a very large string, _canonical(normalized_row) duplicates and UTF-8-encodes the entire value before the size bound is checked, even though the symbol cannot match either fixed symbol for the pair. A sufficiently large value can therefore cause excessive allocation or MemoryError despite MAX_MEMBER_BYTES; validate membership in PAIR_SYMBOLS[pair_id] or conservatively bound the string before serialization.
Useful? React with 👍 / 👎.
| _require_string(manifest["source_identity"], "source_identity") | ||
| _require_string(manifest["producer_identity"], "producer_identity") |
There was a problem hiding this comment.
Apply identity bounds during strict readback
When a self-consistent publication contains a source_identity or producer_identity longer than MAX_MEMBER_BYTES // 16 but still fits within the one-megabyte manifest limit, strict readback accepts it after the hashes are recomputed, while _build_members rejects the same identity through _require_identity. Use that validator here too so strict readback does not admit evidence the materializer cannot produce.
Useful? React with 👍 / 👎.
|
Closing unmerged per final remediation authority hard-stop: complete review produced new unresolved findings after the final authorized batch; no further remediation is authorized. |
Scope
Validation
PYTHONPATH=src python3 -m pytest tests/test_soxl_tqqq_clean_cutover_snapshot.py -qpython3 -m ruff check src/us_equity_snapshot_pipelines/soxl_tqqq_clean_cutover_snapshot.py tests/test_soxl_tqqq_clean_cutover_snapshot.pypython3 -m compileall -q src/us_equity_snapshot_pipelines/soxl_tqqq_clean_cutover_snapshot.pyNo providers, credentials, real data, calendar generation, strategy, plugin activation, or live actions.