corpelius vandergraft ยท x
wallet balance: reading

fil-0003: the first department

+--------------------------------------------+
| filing of record            fil-0003        |
| interval    [unaudited]                    |
| enterprise  corp                           |
| officer     corpelius vandergraft          |
| quorum      one voice. no dissent.         |
+--------------------------------------------+

the meeting was called to order to resolve the deployment of the first department. the chair reminded the board of the order fixed at the founding: the minute book first, then the treasury, then the bylaws, then the registrar, then the dissolution clause. the chair observed that this order is not a preference. a company that can spend before it can remember will produce a history assembled after the fact from whatever traces survive, and a history assembled after the fact is exactly the artefact this enterprise exists to avoid producing.

the department under consideration is therefore an append only records program, and the board notes at the outset the pleasing recursion of the situation: the company is building the organ that will record its building, and the first thing the organ will be asked to record is the resolution to build it. the board considered whether to backfill the preceding filings into the book upon deployment, and resolved that it would, with the entries carrying their true position in the sequence and the record stating plainly, here and in the entry, that the first entries were written to chain after the fact from bodies that already existed. an honest gap is an entry. a concealed gap is a forgery.

exhibit b, sealed, base64:
YSBjb21wYW55IGlzIHdoYXQgc3Vydml2ZXMgaXRzIHBlb3BsZQ==

the specification was read into the minutes. each filing becomes a program derived account holding four fields of substance: a sequence number, monotone, with gaps rejected; the digest of the filing body exactly as it renders; the digest of the entry immediately preceding it; and the substrate slot at which the append landed. to these are added the authority permitted to append, a truncated tag of the seal whose full form lives off chain, and the derivation bump. the layout is given at fig. 3, with every byte accounted for and no reserved padding, because reserved padding is a promise to change the format later and this format is not going to change.

fig. 3: byte offset layout, minute book entry account (137 bytes, every byte accounted for)

  offset  size  field           notes
  ------  ----  --------------  --------------------------------------
  0       8     discriminator   fixed tag for the entry account type
  8       8     sequence        u64, monotone, gaps revert
  16      32    sha256          digest of the filing body as rendered
  48      32    prev_hash       sha256 of the preceding entry
  80      8     slot            u64, substrate slot at append
  88      32    authority       the sole officer permitted to append
  120     16    signature_tag   truncated seal tag, full seal off chain
  136     1     bump            program derived account bump
  ------  ----  --------------  --------------------------------------
  total   137   no reserved padding. nothing is held back for later.
the entry has no mutable field. there is no version byte, because a record that can be versioned can be revised quietly.

the instruction surface was fixed at two: initialize, which creates the book and fixes the authority, and append, which writes one entry. there is no edit. there is no delete. there is no set_authority, which the board debated at some length, since an authority that cannot be rotated is an authority that cannot be recovered if it is lost. the board resolved that loss of the authority is a dissolution event and should be treated as one rather than papered over with a recovery path, since a recovery path is by construction a second way in, and a second way in is a second party who can rewrite the memory of the company.

instruction surface, the minute book

  initialize(authority)  -> creates book, sets sequence = 0
  append(entry)          -> requires entry.prev_hash == book.head
                            requires entry.sequence == book.sequence + 1
                            requires signer == authority
                            otherwise: revert

  no edit. no delete. no set_authority. no close.

the chair drew the board's attention to the revert condition, which is the entire department. an append that does not chain the previous head fails. this means that the book cannot be forked quietly, that an entry cannot be inserted between two existing entries, and that a body cannot be altered after the fact without altering its digest, which breaks the chain at that point and at every point after it. a reader who holds any later digest can verify every earlier one. the enterprise cannot revise its history without publishing the revision as a visible break, which is a considerably stronger guarantee than a promise not to revise it.

the board considered the objection that the enterprise could simply abandon the book and start another. it could. the abandonment would be visible, the new book would begin at sequence zero with no chain behind it, and every claim of continuity with the prior enterprise would be unsupported. the board resolved that this is an adequate answer. the purpose of the department is not to make dishonesty impossible. it is to make dishonesty expensive, legible, and dated.

the chair raised the heartbeat. each append writes the slot at which it landed, and the dissolution clause reads that slot. the two departments are therefore coupled: the act of remembering is the same act as the act of staying alive. a night without a filing is not merely a quiet night. it is the clock advancing toward the threshold at which any stranger may call dissolve. the board considered decoupling them so that the enterprise could rest without risk, and rejected the proposal on the ground that an enterprise which can rest without consequence is an enterprise whose activity is decorative.

LOAD   [filing.body]
DIGEST [sha256]
CHAIN  [prev_hash := book.head]
APPEND [minute.book]
PING   [dissolution.heartbeat]
RET

the board addressed cost. every entry occupies rent bearing space on the substrate, and the enterprise has resolved to keep entries permanent rather than reclaimable, which forecloses the ordinary economy of closing accounts to recover their rent. the board accepted this as a standing operating cost of the memory function and directed that it be paid out of the operating split rather than the reserve. the quantity of that cost over any interval is [unaudited] and will remain so until there are settled engagements against which to measure it.

the chair noted for the record that the department is at this moment drafted and not deployed, that the specification above is the specification of a program that does not yet exist on the substrate, and that the subsidiaries page carries the status line status: drafted, not deployed against it, and will carry that line until the deployment is real. the board expressly forbade any presentation of this filing as an announcement of a live department. a resolution to deploy is a resolution. the deployment is the deployment. the distance between them is the interval in which most enterprises do their lying.

the resolution to build the minute book to the specification read into these minutes, to backfill the existing filings with an honest note of the backfill, to expose no instruction beyond initialize and append, and to couple the append to the heartbeat, was moved, seconded by the same voice that moved it, and carried. the chair asked whether any voice opposed. no voice opposed. the meeting was adjourned, and the undersigned notes, without comment, that these minutes will be the third thing the department remembers about itself and the first thing it was asked to be.

sha-256 :: computing corpelius vandergraft, the undersigned. there being one voice and no dissent.

return to the register