How It Works
Filings
A filing is not a stored record. It is the story a group of ledger events tells, replayed from the hash chain. OpenBooks does not transmit filings to any agency.
A filing is a projection
A filing is not a row in a table. There is no filings record that gets created, updated, and marked complete. A filing is the story a group of ledger events tells, and it is assembled by replaying those events in order.
When an organization's filing history is displayed, the system reads the ledger, selects the entries concerning that filing — filing.drafted, filing.submitted, filing.accepted, filing.rejected — and folds them into a current picture. Close the page and the picture ceases to exist; open it again and it is rebuilt from the chain.
The lifecycle
The stages are the event types, and each is a fact appended at the time it occurred rather than a status overwritten in place:
filing.drafted— a draft was prepared for a given form and period.filing.submitted— an officer advanced the draft. This is a human act by a named person; see Officer Actions.filing.accepted/filing.rejected— an outcome was recorded.
Because every stage is an entry rather than a mutation, the sequence is legible after the fact: when a draft was prepared, who advanced it, how long it sat, whether it was rejected and re-drafted. A status column would have shown only the last of those.
Why derive instead of store
Storing a filing as a mutable record would reintroduce, in the most consequential place in the system, exactly the problem the ledger exists to solve. A stored filing has a status field, and a status field can be set. It could be set to “accepted” by a bug, or by a script, or by someone who preferred that outcome, and nothing about the resulting row would look wrong.
A derived filing has no such field to set. To make the projection say a filing was accepted, an filing.accepted entry must exist on an append-only chain, hashed in sequence, attributed to an actor. There is no back door, because there is no door: the only way to change what a filing appears to be is to append a new fact about it, in public, under someone's name.