Notion platform
The sync, in six figures
lib/diagrams.ts, exported to PNG by scripts/export-diagrams.mjs, and footed with the files it was measured against, so a claim that stops being true can be caught by reading the figure next to the code.How to read them
- happens on every sync, no condition
- conditional: offline, or a platform refusal
- ordering and containment, not transport
- Arena, and the widget's own write
- landed in the workspace
- waiting outside Notion
- the platform refused it
Every identifier in a figure is a real one: notion-arena.habit-grid.v1 is the key public/widgets/habit-grid.html writes, 1500 ms is the stream poll in app/api/sync/instances/[id]/stream/route.ts, and 450 ms is the debounce in lib/bridge/client.js. Nothing here is a placeholder rounded for looks.
The six
Figure 01
PNG, lightFigure 02
PNG, lightFigure 03
PNG, lightFigure 04
PNG, lightFigure 05
PNG, lightFigure 06
PNG, lightWhere these come from
The figures are code, not drawings that drift. lib/diagrams.ts holds them as SVG strings built from measured text, and it is imported by this page as a module: what you are reading and what the exporter writes to public/diagrams/ are the same characters. The export resolves var(--token) through app/globals.css and fails loudly on a token that does not exist, so a colour that stops being part of the design system breaks the build rather than the picture.
docs/SYNC_PLAN.md are still open.The argument they support, with citations, is in two-way data sync; the platform limits are quoted line by line in API limits, cited.