fix: harden IBKR precheck runtime dispatch#353
Conversation
Co-Authored-By: Codex <noreply@openai.com>
🤖 Codex PR Review✅ Merge allowed: 1 finding(s) reported but none are blocking ℹ️ Other Findings1. 🟡 [MEDIUM] Reliability in
|
Co-Authored-By: Codex <noreply@openai.com>
|
Addressed both reliability findings in 8c848f3: the deadline now wraps the full |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 8c848f3736
ℹ️ 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>
|
Addressed the second-round findings in 8146bac. Nested in-process prechecks now only return |
Co-Authored-By: Codex <noreply@openai.com>
|
Addressed the third-round findings in 155aef4. Strategy/plugin processing keeps its 105-second deadline, while report persistence now runs afterward under an independent 5-second grace deadline; persistence timeout is logged but cannot flip a completed strategy response. Timeout reports use the same bounded persistence helper. Monitor target parsing now rejects any non-object array element with its index instead of silently dropping it. Focused suite: 35 passed; Ruff and workflow contract checks pass. |
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: f0dd4095de
ℹ️ 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>
Summary
IBKR_MONITOR_DISPATCH_TARGETS_JSONin the IBKR adapter so configured monitor targets are no longer silently droppedmaxScale=1, single-worker deployment; keep remote targets concurrent/healthwarmups and/runexecutionibkr-<account>-pre-market-dry-runscheduler during runtime reconciliation/dry-run, persist a structured timeout report, and return 503 before Cloud Run/Gunicorn's 300-second hard killIncident evidence
Runtime Guard run 29754824157 found a request to
/dry-runat2026-07-20T13:45:15Zthat ran for299.978s, returned 504, and was followed by GunicornWORKER TIMEOUT/SIGKILL. The caller was the legacyibkr-u15998061-pre-market-dry-runScheduler job. The deployed dispatcher configuration contains five targets, but application logs reportedmonitor_targets_count=0because the shared parser does not recognize the IBKR-specific env name.Verification
ruff check --exclude external .bash tests/test_sync_cloud_run_env_workflow.shThe repository's broader non-blocking test command still has five unrelated existing failures around qsl bundle metadata, dependency/strategy registry drift, and a CI text contract; 263 tests passed and 5 were skipped.