FAILURE MAP
← Case archive

FA-58059 / Double-entry ledger accounting / Member archive

Posting period lock: period ordering · case 04

Roll-forward destinations depend on the order periods were configured.

Member previewVariant 4 · 3 implementations · 7 checks per implementation

Case contract

x = {'periods': [[start_day, end_day, 'open'|'soft'|'closed']] (non-overlapping, any order), 'policy': 'reject'|'roll', 'entries': [[id, day, adjusting]]}. The period containing the day (start and end inclusive) is found; none gives [id, None, 'no_period']. Soft periods accept adjusting entries only. Open acceptance gives [id, day, 'posted']. Otherwise under 'roll' the entry posts on the start day of the earliest later open period ([id, start, 'rolled']) and with none, or under 'reject', gives [id, None, 'closed'].

Why this case matters

Ledger software must keep debits equal to credits and apply normal-balance, period and cutoff rules exactly; small sign or boundary slips silently misstate financial statements.

One recorded failure

Sample boundary fixture

This sample comes from the broken implementation of a controlled reproducer.

Boundary fixtureActualExpectedOutcome
regression: period ordering[["E0", 29, "posted"], ["E1", 29, "posted"], ["E2", 65, "rolled"], ["E3", 59, "posted"]][["E0", 29, "posted"], ["E1", 29, "posted"], ["E2", 29, "rolled"], ["E3", 59, "posted"]]Failed

MEMBER ARCHIVE

The complete case is available to members.

This record includes three runnable implementations, regression fixtures, execution results, and source hashes.

Member access is invitation-based. Sign in with your invited account to inspect the sources.

Sign in to the archive ↗