Beat 5

Stamped

The Act row materializes. Every Fact in ΔF commits together. The reels grow. The past is now larger by one moment.

What happens

The seal opens a Mongo transaction. The planned Act row writes. Every Fact in ΔF writes. Grouped by reel, in seq order, under per reel append locks acquired in a deadlock free order. Hash chains link each new Fact to the one before it on its reel so tampering is detectable. Eager folds run after commit so the projection caches catch up.

One transaction. Either the whole moment lands, or none of it does. A crash mid-seal rolls back. There is no half-stamped state anywhere in the system.

What the seal guarantees

When the seal returns ok, three things are true. The Act row exists with the moment's start and end messages. Every Fact in ΔF is on its reel with a seq, a prev-hash, and a self-hash. The projection caches have caught up (or will soon, self-healing on the next fold).

Any reader from this point on, anywhere in the system, sees the new state. The fold-engine's compare-and-set on the projection marker ensures concurrent re-folds don't regress.

And the cycle repeats

The moment is over. The being's actId is released. The scheduler looks at the next inbox entry. Maybe one that arrived during the last moment, maybe a fresh one. The cycle starts again at intake.

A being's entire existence is this loop. Walk it forward enough times and you have a life.