CellContent
Purpose
What a cell carries inside its seal — one chunk of a Payload, and just enough to put it back in
place. A payload from the layer above is split into fixed-size chunks so every cell is the same size;
each chunk travels as the sealed content of one cell. The reassembly id groups the chunks of one
payload, and the index and count say where this chunk sits and how many there are — all of it inside
the seal, so an observer sees only same-size opaque cells and cannot tell which belong together, while
the recipient, once a cell is unsealed, can gather a payload's chunks and reassemble them in order.
Attributes
- reassembly id: is
Textthat identifies the grouping of one payload's chunks, such as "ra-01" — minted fresh per payload, meaningful only to a recipient who can unseal - chunk index: where this chunk sits in the payload, a count starting at 0
- chunk count: how many chunks the payload was split into, a count
- chunk: is
Textthat carries this chunk's bytes — a slice of the payload, opaque
Invariants
- The chunk index is below the chunk count — a chunk sits within the payload it belongs to.
Operations
seal
Renders this content into a cell's sealed payload under a given SealKey — by handing this content
to that key's own sealing, the codec's one home; an opaque text carrying no readable trace of the
chunk, its grouping, or its place, recoverable only through the same key.
Result: the sealed payload as Text
Scenarios
A chunk knows its place in the payload
Given: reassembly id "ra-01", chunk index 0, chunk count 3, and a chunk When: a CellContent is created Then: it is accepted as the first of three chunks of payload "ra-01"
A chunk index outside the count is rejected
Given: reassembly id "ra-01", chunk index 3, chunk count 3, and a chunk When: a CellContent is created Then: the creation is rejected because the chunk index is not below the chunk count