Repository navigation
refactor: share compact dashboard composition - #680
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. 🚀 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
Prepared by ChatGPT using separate implementation and independent review agents. The exact candidate passed independent AI review before publication.
What changed
The rebalance and heartbeat renderers contain the same compact-dashboard composition block. This change moves that block into one private helper in
notifications/renderers.py, so its formatting and adaptation sequence has one implementation.Both public renderers keep their signatures and call positions. Dashboard lookup, cash-flag conversion, currency lookup, formatting, locale selection, supplemental-line lookup, adapter execution and lazy iteration retain their original order. Account-equity selection, outcome logic, notification routing and delivery remain in their existing callers.
Adds eight characterization methods through both public renderers. They cover complete synthetic output text, argument identity, optional-field defaults, explicit nulls, truth conversion, adapter laziness and exception propagation. No production entry point, workflow, configuration, dependency, account/risk behavior or fingerprint registration changes are included.
How verified
Local focused checks use an existing Python 3.12 runner and its shared libraries, not a frozen production installation. The unmodified remote frozen-suite and Ruff results are recorded below. The local documentation scan reaches Git-tracking checks and reports that this source snapshot has no Git checkout metadata; both instruction files are verified in the remote tree. It also reports one README-outline advisory. No check or assertion was weakened to hide these environment limits.
The inherited
Reject public runtime configuration bindingsstep reported success but loggedrg: command not found. The public-config scan did not execute. Existing draft #679 addresses this separately and is not changed or adopted here. The overall successful workflow result is not evidence of a successful public-config scan; this coverage gap remains open.Independent review
A separate AI reviewer passed the exact source tree
19e957b6cbc149fb399c9a3a4a668cc7747c81d1with no material findings: 64 differential output, event-order and exception scenarios across both public renderers; whole-module AST equivalence after helper inlining; and all eight new characterization methods, including same-interpreter fixture cleanup by object identity. Reviewed source is published as commite674f143b8b06f1b6aaed799ddad8d61aaf15cca, with the single actual parent50176bfaf66d34eeb6c465f7bff542b9a6dea565.Remote CI
The full unmodified CI workflow completed successfully at reviewed commit
e674f143b8b06f1b6aaed799ddad8d61aaf15cca, subject to the unexecuted public-config scan described above.The actual CI checkout
5d29367e9efe43ed990d53ebb3166e5d2f7bd779has tree19e957b6cbc149fb399c9a3a4a668cc7747c81d1, identical to the independently reviewed source tree. Separate suite, shell-case and subtest counts are not summed.Delivery scope
Draft proposal only. No merge, deployment, live order, notification, GCS write or production adoption is performed. No label is added or removed.