Mirror the external-dependency blocker gate added to the proxmox repo (scripts/verify/check-external-dependencies.sh + docs/03-deployment/EXTERNAL_DEPENDENCY_BLOCKERS.md) in the CurrenciCombo orchestrator, so startup logs and provider-switch mock-mode logs surface the sameEXT-* IDs the deployment pipeline already tracks.
Operators now get a grep-friendly 1:1 correspondence between:
check-external-dependencies.sh output (blocked: dbis_core live deployment, resolved: Chain 138 CI RPC …)
orchestrator startup logs ([ExternalBlockers] 6 active, 1 resolved with the same IDs structured)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Mirror the external-dependency blocker gate added to the proxmox repo (
scripts/verify/check-external-dependencies.sh+docs/03-deployment/EXTERNAL_DEPENDENCY_BLOCKERS.md) in the CurrenciCombo orchestrator, so startup logs and provider-switch mock-mode logs surface the sameEXT-*IDs the deployment pipeline already tracks.Operators now get a grep-friendly 1:1 correspondence between:
check-external-dependencies.shoutput (blocked: dbis_core live deployment,resolved: Chain 138 CI RPC …)[ExternalBlockers] 6 active, 1 resolvedwith the same IDs structured)[DbisCore] HTTP client (no DBIS_CORE_URL — mock mode; blocker EXT-DBIS-CORE active))Central registry
src/config/externalBlockers.ts:EXT_BLOCKER_IDSunion:EXT-DBIS-CORE,EXT-CC-PAYMENT-ADAPTERS,EXT-CC-AUDIT-LEDGER,EXT-CC-SHARED-EVENTS,EXT-CC-SHARED-SCHEMAS,EXT-FIN-GATEWAY,EXT-CHAIN138-CI-RPC.BLOCKER_DETAILS— per-id title, description, resolving env var.evaluateBlockers(env?)— returns{id, status, resolvedVia}[]; empty-string env is treated as unset.activeBlockers(env?)— same filtered tostatus === "active".logBlockerStatusAtBoot(logger)— single structured startup summary.Wired sites
src/index.tslogBlockerStatusAtBoot(logger)right aftervalidateEnv().services/dbisCore/client.tsblockerId: EXT-DBIS-CORE.services/finLink/client.tsgetFinLinkClient()logs live vs. in-process decisions; sandbox path carriesblockerId: EXT-FIN-GATEWAY.services/bank.tsconsole.logto pino; mock-mode carriesblockerId: EXT-DBIS-CORE(dbis_core is the banking back-end).services/completeCredential/identityClient.tsupstream cc-identity-core ships code but not yet deployed— distinguishes env-not-set from cc-* scaffold blockers.Tests
tests/config/externalBlockers.test.ts— 11 tests covering registry shape, evaluation across env permutations (empty env, each resolving env set, scaffold blockers remain active, empty-string treated as unset), and log emission.Verification
npx tsc --noEmitclean.npx jestunit suite: 13 suites / 167 tests passing.