Repository navigation
fix: Prepare short IBKR Cloud Run service names - #982
Conversation
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 Please review exact head |
|
Codex Review: Didn't find any major issues. Keep them coming! 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
Codex, GPT-6.1 Sol. Independent exact-head review is requested separately with @codex; no independent acceptance is preclaimed.
What changed
Prepare account-free short IBKR Cloud Run names in the checked-in example configuration. Replace the four long <PROJECT_ID> live service names with short demo names, update manifest/matrix expectations, and test the existing shared tag allocator against each example. Document the protected inventory fields and staged replacement/consumer migration contract.
The exact four private old-to-new pairs were resolved from a fresh read-only protected inventory lookup and remain in restricted operational authority metadata (S07-C01..S07-C04), outside this public repository. All originals are length 48; the four proposed private destinations are length 26, so a 13-character candidate tag gives 39 <= 46. Public demo names are length 30 (combined 43); they are not production bindings. All five example targets remain disabled, with the shadow target unchanged.
How verified
Why
S07 owner authority t1318s7682 authorizes Draft-only preparation for the four IBKR TAG_IMPOSSIBLE services. Historical coordinator-verified inventory has 10 services: four impossible and six OK. A service name of 48 cannot fit a nonempty tag within 46; helper adoption alone (#976 source-only merge) cannot fix that budget. Cloud inventory is historical, not a fresh runtime observation.
The production service map is protected configuration, not tracked source. This PR updates source configuration examples and the migration contract; it does not write that protected map or rename/create a deployed service. Existing callers already consume explicit service names and reject identity mismatches through tag preflight. No runtime helper or workflow change is needed for the source-only preparation.
Risk
Configuration/example and test changes only; no execution or lifecycle implementation changed. A real service replacement changes runtime identity and requires continuity/release revalidation, destination ownership checks and coordinated consumer migration. Old claims or fingerprints cannot be copied forward as proof. These are future operational gates, not verified by this Draft.
Engineering disposition under owner t1298=C and S07 t1318s7682: ready-for-review, agent-approved clearing label and ordinary merge are authorized only after current exact-head CLEAN review and all required checks pass. This supersedes the initial Draft-only publication stage. The result is MERGED_NO_DEPLOY only. No deploy, service rename, traffic, Environment approval, protected configuration write, IAM, Secret, Scheduler, PAPER, live, Kelly, stop-loss or Mac action is authorized. LB #707 is excluded. Migration/deployment requires a separate owner card bound to the exact mapping and merged revision.
Publication scan
Central checker
publication-check/2.0-advisory, build83d9d1130377, advisory completed, exit 0. Full tracked-tree findings: 2570; matching lines: 2445. Changed-artifact follow-up findings: 6, matching lines: 6. Counts include existing repository material and fake fixtures, not a credential determination. No new raw binding or credential is included in the patch.First 20 shared-masked observations:
.env.example:11:IB_GATEWAY_HOST=<PROJECT_ID>.env.example:19:TELEGRAM_TOKEN=<<HOST>>.<PROJECT_ID>/CODEOWNERS:9:/.env.example @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:10:/.github/CODEOWNERS @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:11:/application/account_new_risk_gate_support.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:12:/application/execution_kernel_adapter.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:13:/application/execution_receipt_adapter.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:14:/application/execution_service.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:15:/application/ibkr_order_execution.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:16:/application/paper_execution_admission.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:17:/application/paper_execution_command_consumer.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:18:/application/portfolio_risk_diagnostics.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:19:/application/relative_risk_preview.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:20:/application/tqqq_offline_risk.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:21:/runtime_execution_policy.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:22:/scripts/deploy_notification_only.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:23:/scripts/deploy_pilot_no_traffic.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:24:/scripts/execution_report_heartbeat.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:25:/scripts/ibkr_deployment_audit.py @<PROJECT_ID>.<PROJECT_ID>/CODEOWNERS:26:/scripts/summarize_execution_ledger_cloud.py @<PROJECT_ID>