Priority
High — must be addressed in current sprint
User story / Problem statement
fulfill_epoch refuses unless the vault covers the epoch's redemptions in full, so one large
redeemer blocks every small one in the same epoch, and an epoch stays unpriced until enough capital
has come back. The design pays claims as cash arrives, in order, without walking a queue.
Expected outcome
An epoch prices whether or not the cash is there. Claims pay in order of cumulative position as the
reserve covers them.
Acceptance criteria
Technical notes
The ordering is by cumulative position, which needs a running total of liabilities struck and a
running total paid. The test that matters is an epoch that strikes more than the vault holds: the
first claimant is paid, the second waits, and the vault does not attempt a transfer it cannot make.
Depends on #72, which is what makes committed liabilities legible.
Refs: ARCHITECTURE §4.3 · invariants: I11, I12, I13
Priority
High — must be addressed in current sprint
User story / Problem statement
fulfill_epochrefuses unless the vault covers the epoch's redemptions in full, so one largeredeemer blocks every small one in the same epoch, and an epoch stays unpriced until enough capital
has come back. The design pays claims as cash arrives, in order, without walking a queue.
Expected outcome
An epoch prices whether or not the cash is there. Claims pay in order of cumulative position as the
reserve covers them.
Acceptance criteria
error that says so.
payment is attempted against money that is not there.
Technical notes
The ordering is by cumulative position, which needs a running total of liabilities struck and a
running total paid. The test that matters is an epoch that strikes more than the vault holds: the
first claimant is paid, the second waits, and the vault does not attempt a transfer it cannot make.
Depends on #72, which is what makes committed liabilities legible.
Refs: ARCHITECTURE §4.3 · invariants: I11, I12, I13