Contact
Sequence

History

The activity log — what is recorded, what a recorded author is actually worth, the filters and CSV export, row restore, and what is not built.

Every change is recorded with its old value, its new value, who made it and when. An audit or a claim needs a log that is filterable and exportable, and that is what this is for.

What is recorded#

Kind
Cell changesOld value → new value
Rows added
Rows deletedOne event, not thirty cleared cells
Sheet and permissionsColumns added or retyped, rules changed, baselines taken, calendars edited, permissions changed

⚠ Derived values are never recorded. Dates, float and criticality are recomputed, never stored, so a recalculation cannot flood the log with dates nobody typed.

⚠ A deleted row is one event. Thirty cleared cells and a deleted row are different events with different meanings, and a log that reported the second as the first is unreadable at exactly the moment somebody needs to read it.

⚠ An absent cell and an explicit blank are the same value, so clearing a cell reads as one change rather than two.

What "who" is worth#

⚠⚠ The author is a declared name, not proof. On a self-hosted deployment it is whatever the client says it is, and a solo user's history has no identity behind it at all.

A history that presents a claim as an audited fact is worse than no history, because it invites being relied on in the one situation — a claim — where being wrong is expensive. Every surface showing an author says what it is worth, and the model makes that hard to forget rather than merely documented.

Filters and export#

Filter by kind, by author, and by date range. Export the filtered result as CSV.

The panel and the exporter share one filtering implementation. Two would eventually disagree about what a filter means, and the disagreement would show up in an export somebody had already sent.

Row restore#

A row's own Activity section — in its detail panel, beside the row it acts on — offers restore points: the states that row has passed through, and the ability to put it back to one. Deleted rows are recoverable from the same place.

These are on the row rather than in the History panel deliberately. A restore is an action on one row; the log is a record of the sheet.

Not built#

⚠ A retention window. Nothing prunes the log yet, and nothing lets you choose how long it is kept.

Where history is kept#

History travels in the schedule file.

⚠ The synchronisation operation log is a different thing and could never have served this purpose: it is pruned every time a room saves, because its job is letting a reconnecting client catch up. A history built on it would truncate at an interval nobody chose, and would look complete while doing it.

  • Comments — deleted comments leave a tombstone here.
  • Permissions — permission changes are logged.