@cfxlabsinc/b2b-services
    Preparing search index...
    BankTransactionReconciliationPlan:
        | { action: "ALREADY_RECONCILED"; reason: string }
        | { action: "NOT_APPLICABLE"; reason: string }
        | { action: "INBOUND_ACH_DEBIT" }
        | { action: "ACH_DEBIT_DEPOSIT" }
        | { action: "OUTBOUND_WITHDRAWAL" }
        | { action: "INBOUND_DEPOSIT" }
        | { action: "BOOK_TRANSFER" }
        | { action: "UNSUPPORTED"; reason: string }

    Which reconciliation a bank_transaction row is owed, decided from the row alone.

    A separate step from doing the work so the decision lands in workflow history: "this row was classified UNSUPPORTED because it is an RTP debit" is the question an operator asks first, and before this workflow existed the answer was a log line on a Lambda that had already returned 200.