FAILURE MAP
← Case archive

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

Posting period lock: soft close adjusting gate · case 02

Routine entries post into a soft-closed period.

Member previewVariant 2 · 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: soft close adjusting gate[["E0", null, "no_period"], ["E1", 63, "posted"], ["E2", 148, "posted"], ["E3", 4, "posted"]][["E0", null, "no_period"], ["E1", 63, "posted"], ["E2", 148, "posted"], ["E3", 32, "rolled"]]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 ↗