Skip to content

feat(console): expose specific account-facts binding reason - #991

Merged
Pigbibi merged 1 commit into
mainfrom
feat/account-facts-binding-reason-20261031
Oct 31, 2026
Merged

Pigbibi merged 1 commit into
mainfrom
feat/account-facts-binding-reason-20261031

Conversation

@Pigbibi

@Pigbibi Pigbibi commented Oct 31, 2026

Copy link
Copy Markdown
Contributor

Summary

  • Add binding_reason (bound / unbound / duplicate_source / identity_mismatch) to the current and history account-facts read models.
  • Keep binding_status unchanged (identity_mismatch still maps to missing) so existing UI gates and consumers are unaffected.
  • accountFactsDetail prefers binding_reason when present; message text is unchanged and already localized.

Motivation: binding_status merged "never bound", "duplicate source", and "binding no longer matches configured identity" into one state, so operators could not distinguish a broken rotation from an unconfigured account (see the 2026-10-30 IBKR binding incident).

Test plan

  • node tests/account_facts_validation.mjs
  • node tests/longbridge_financing_validation.mjs
  • node tests/overview_account_metadata_validation.mjs
  • node tests/console_account_facts_ui_validation.mjs and adjacent presentation validations
  • npx tsc --noEmit (frontend)

binding_status collapsed "no binding", "duplicate source", and "binding no
longer matches the configured account identity" into the same missing state,
so operators could not tell a broken rotation from an unconfigured account.

Add binding_reason (bound/unbound/duplicate_source/identity_mismatch) to
current and history read models while keeping binding_status unchanged for
existing consumers.
@Pigbibi
Pigbibi merged commit 7fd8393 into main Oct 31, 2026
10 checks passed
@Pigbibi
Pigbibi deleted the feat/account-facts-binding-reason-20261031 branch October 31, 2026 11:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant