Quiltยท
App 3 of 5

A versioned config in 70 lines

Every change to the config is an event in the journal. The journal is the source of truth. Roll back to any past state. The substrate's job is time travel.

01Current config

No config keys yet. Add one below.

02Add or change

03History (every change is recorded)

Click any past event to roll back to that state. The config cells will return to their values at that point in time.

#TimeOpKeyValueAction

04Take it with you

05The pattern

The journal IS the config history. There's no separate "audit log" โ€” every BIND, every EFFECT, every TICK is in the journal. To roll back, replay the journal up to a point. The substrate does the rest.

Compare to Git: Git's commit log is a journal. Git's checkout is replay-to-a-point. Git's diff is journal-segmentation. The substrate is Git for application state, with the journal always in memory.