Expand description
P5 — the tool-owned ** Sync State block.
Under * GDOC_METADATA, ** Sync State holds a single s-expression (A5 — not
JSON) in a #+begin_src emacs-lisp block. It is pure machine state, fully
regenerated on every sync: the projection position map (crate::project) plus
a cache of the reviewers (collaborators) seen on pulled comments. The operator
never hand-edits it.
§Block shape
** Sync State
#+begin_src emacs-lisp
(gdoc-sync-state 1
(positions (pos "sec-intro" 1 heading) (pos "sec-intro/paragraph-1" 5 paragraph))
(collaborators (collab "alice@example.com" "Alice Smith")))
#+end_srcParsing is total (EI-4): a missing block decodes to an empty-but-valid state,
while a present-but-corrupt block surfaces a typed Error::Sexp — never a
panic.
Structs§
- Collaborator
- A reviewer cached from pulled comments, so pull can show a name for an email without re-deriving it (the position map and this cache are the only state the tool keeps between runs — DI-3).
- Posted
Reply - A reply already posted to Google, recorded so
pushdoes not post it again. - Sync
State - The decoded
** Sync Statecontents.