Skip to content

fix(purchase): carry the no_submission proof to the root row when every account of a fan-out was refused #1844

Open

Description

@cristim

Follow-up from the review of #1842 (#682 P0).

On a multi-account run, #1842 sets NoSubmission only on a refused account's own row (executeForAccountLate, before saveAccountRow). The root row still ends one of two ways:

  • failed without NoSubmission, when every account failed: summarizeFanOut returns errAllAccountsFailed as a plain error, so saveTerminalExecution never sees the before-submission class;
  • partially_completed, when another account bought.

Effects, both in the safe direction (under-buy, or a human resolves it):

  • Ramp. ListPlanCommittedTx takes the max per identity across root and account rows, so the unflagged root keeps counting the refused account's recs.
  • Ladder. A ladder tranche's chain starts at the root execution, so a refused fan-out tranche stays fired with "failed without a no_submission proof".
  • Suppressions. The root row keeps its suppressions.

Scope if we want the proof on the root: when every account ended refused before submission, the root should carry the class through summarizeFanOut. Skipped accounts and credential-failure accounts need the same treatment, so a mix of refused and skipped accounts still counts as nothing submitted.

Part of #682.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions