Repository navigation
refactor: isolate compact holdings parsing - #682
Conversation
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: true
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. |
|
@codex review |
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
Codex Review: Didn't find any major issues. Swish! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
|
@codex review |
|
Codex Review: Didn't find any major issues. Nice work! Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
AI assistance
Implemented with OpenAI GPT-6 Astra Pro. Independent AI review by
/root/phase1k_evidence_reviewcovered base50176bfaf66d34eeb6c465f7bff542b9a6dea565, candidate tree840a589dd1dee84a32803d6f76021cb695b8ba47, and the complete two-file change. Published commit76cb272eb2a8594c6a025d25bb504746ea741e43points to that reviewed tree. The reviewer found no defects.What changed
adapt_compact_sectionscurrently parses the rendered dashboard and composes the final notification sections in one function. This change extracts its existing holdings loop into_compact_holding_lines, keeping composition and supplemental-line handling in the public adapter.The extraction preserves the public signature, supported headings and section boundaries, separator precedence, quantity parsing, localization, output order, duplicate handling, lazy input consumption and propagated exceptions. It does not change valuation, routing, delivery or trading behavior. Inlining the private helper reconstructs the complete original module AST.
Only
notifications/compact_adapter.pyand a new characterization test module change. All 14 currently open LongBridge PR file inventories were checked; neither path overlaps those changes. In particular, the renderer changes in #680 and startup work remain separate.How verified
694b33574430ed22f4c60e7127655f0a051517a2; its tree matches the independently reviewed tree. The full unit suite passed 2,504 tests, with 1 skipped and 343 passing subtests. Frozen installation, Ruff, QPK pin/lock checks and offline workflow tests passed.rg: command not found. That remote scan did not execute and is not counted as a completed check. Existing repair drafts ci: fail closed when the public configuration scan cannot run #679/ci: verify public configuration scan completion #681 are separate; this refactor does not modify their workflow paths.Local verification used an existing Python test runner. It did not install or change dependencies. The snapshot contains 311 verified baseline blobs; four unrelated baseline entries were not materialized and are preserved unchanged in the authoritative base tree. No full local frozen install or local Ruff result is claimed. The native run covered frozen installation, lint, the complete test suite, documentation and governance. The public-configuration execution limitation is reported above.
Scope and rollback
This is a draft proposal. Reverting the two-file change restores the original layout. Production entry points, fingerprints, runtime configuration, dependency pins, accounts, risk controls and deployment settings remain outside this change. No owner labels are changed.