Verified snapshot: 2026-04-18
This document records the public runtime wiring inventory across platform repositories and deployment projects. It is meant to answer one question quickly:
which repository, project, service, scheduler, runtime identity, selector, and secret set is wired for each platform?
This is a wiring runbook, not a record of any account's deployed strategy. It intentionally does not record mutable deployment state or account-specific allocation choices.
For the platform / strategy-domain / configurable-profile matrix, see platform_strategy_matrix.md.
QuantPlatformKitremains a shared dependency and is not deployed by itself.- GitHub Variables remain the control plane for:
- service names
- regions
- strategy selectors such as
STRATEGY_PROFILE - secret selector variables such as
*_SECRET_NAME
- Secret Manager is the runtime source of truth for sensitive values that Cloud Run services actually consume.
- The US equity Cloud Run env-sync workflows use GitHub OIDC + Workload Identity Federation.
GCP_SA_KEYis not required for those workflows. - GitHub Secrets can remain as temporary runtime fallbacks where migration is not fully finished.
| Platform | Repo | Strategy domain | Strategy selector | Runtime model | Project / backend | Runtime unit |
|---|---|---|---|---|---|---|
| IBKR | QuantStrategyLab/InteractiveBrokersPlatform |
us_equity |
STRATEGY_PROFILE=<runtime_enabled us_equity profile> |
Cloud Run | configurable | |
| Schwab | QuantStrategyLab/CharlesSchwabPlatform |
us_equity |
STRATEGY_PROFILE=<runtime_enabled us_equity profile> |
Cloud Run | charlesschwabquant |
charles-schwab-quant-service |
| LongBridge | QuantStrategyLab/LongBridgePlatform |
us_equity |
STRATEGY_PROFILE=<runtime_enabled us_equity profile> |
Cloud Run | configurable | |
| Binance | QuantStrategyLab/BinancePlatform |
crypto |
STRATEGY_PROFILE=crypto_leader_rotation |
Oracle Cloud + self-hosted runner | binancequant only for Firestore / GCP credentials |
GitHub Actions workflow_dispatch + self-hosted runner |
- Repository
QuantStrategyLab/InteractiveBrokersPlatform
- Cloud Run project
interactivebrokersquant
- Service
interactive-brokers-quant-service
- Runtime service account
ibkr-platform-runtime@interactivebrokersquant.iam.gserviceaccount.com
- Scheduler
interactive-brokers-quant-service-scheduler- region:
us-central1
- Core runtime selectors
STRATEGY_PROFILE=<runtime_enabled us_equity profile>ACCOUNT_GROUP=<account group selector>IB_ACCOUNT_GROUP_CONFIG_SECRET_NAME=<Secret Manager secret name>
- Runtime secrets
- account-group payload secret selected by
IB_ACCOUNT_GROUP_CONFIG_SECRET_NAME - runtime Telegram token secret
- account-group payload secret selected by
- Runtime notes
ACCOUNT_GROUPdecides which broker/account payload the runtime loads.- Gateway zone and IP-mode settings should live in the selected account-group payload when the migration is complete.
- Repository
QuantStrategyLab/CharlesSchwabPlatform
- Cloud Run project
charlesschwabquant
- Service
charles-schwab-quant-service
- Runtime service account
schwab-platform-runtime@charlesschwabquant.iam.gserviceaccount.com
- Scheduler
charles-schwab-quant-service-scheduler- region:
us-central1
- Core runtime selectors
STRATEGY_PROFILE=<runtime_enabled us_equity profile>- optional strategy-specific envs such as
DUAL_DRIVE_UNLEVERED_SYMBOL
- Runtime secrets
- Schwab token payload secret
- Schwab API key / app secret refs
- runtime Telegram token secret
- Runtime notes
- Runtime-sensitive envs should use Secret Manager refs, not plain Cloud Run env values.
- Strategy plugins are sidecars:
shadowlogs and notifies only;paper,advisory, andlivesemantics are governed by the plugin execution mode contract. - The token refresher lives outside this repo:
QuantStrategyLab/SchwabTokenAutoRefresher
- Repository
QuantStrategyLab/LongBridgePlatform
- Cloud Run project
longbridgequant
- Services
- HK:
longbridge-quant-hk-service - SG:
longbridge-quant-sg-service
- HK:
- Runtime service account
longbridge-platform-runtime@longbridgequant.iam.gserviceaccount.com
- Schedulers
longbridge-quant-hk-service-schedulerinasia-east2longbridge-quant-sg-service-schedulerinasia-southeast1
- Core runtime selectors
STRATEGY_PROFILE=<runtime_enabled us_equity profile>per regional serviceACCOUNT_REGION=HK|SGLONGPORT_SECRET_NAME=<region token secret>
- Runtime secrets
- Secret Manager refs for LongPort app key / app secret
- region token secrets selected by
LONGPORT_SECRET_NAME - runtime Telegram token secret
- Runtime notes
- HK and SG keep two independent Cloud Run services, two triggers, and two GitHub Environments.
- Snapshot-backed profiles require feature snapshot path / manifest envs; direct-runtime profiles do not.
- App key / secret are region-specific Secret Manager refs; Telegram token is shared inside the LongBridge project.
SERVICE_NAMEshould use the full runtime-facing service names above, not older short prefixes.
- Repository
QuantStrategyLab/BinancePlatform
- Primary runtime model
- Oracle Cloud
- self-hosted GitHub Actions runner
workflow_dispatch
- GCP project
binancequant
- What GCP is used for
- Firestore
- GCP service-account credentials consumed by the workflow / runtime
- Runtime selector
STRATEGY_PROFILE=crypto_leader_rotation
- Known Firestore backend
- database:
(default) - mode:
FIRESTORE_NATIVE - location:
nam5
- database:
- Runtime notes
- Binance is intentionally not modeled like the Cloud Run platforms.
- Any future cleanup here should keep Oracle runtime concerns separate from GCP backend concerns.
CLOUD_RUN_REGIONCLOUD_RUN_SERVICESTRATEGY_PROFILEACCOUNT_GROUPACCOUNT_REGIONLONGPORT_SECRET_NAME*_SECRET_NAME- shared low-risk settings such as:
GLOBAL_TELEGRAM_CHAT_IDNOTIFY_LANG
- temporary fallback values if a runtime migration is still in progress
- broker API keys / app secrets
- runtime Telegram tokens
- token refresh payloads
- account-group payloads
- Scheduler OIDC identity is still tied to the default compute service account in the Cloud Run projects.
- Real cross-platform strategy implementation sharing has not started yet. Only the shared strategy contract and platform-compatibility skeleton are in place.