MessageWeave/docs
anonsaber e2d52d3b3b docs: make opengaps.md say what the operator must do
Every blocker now states the concrete action required, the owner, and the
expected result, instead of only explaining why it is blocked. The file
was answering 'what is broken'; nobody could tell from it what to run.

- new 你要做的事 table up front: 6 rows splitting each item between
  operator action and my action, so the reader sees at a glance which two
  items need a curl, which one needs an answer, which needs a downtime
  window, and which need nothing
- item 1 Telegram: setWebhook + getWebhookInfo commands, allowed_updates
  narrowed to message to match the only field the service parses
  (message.text), and the rotation trap spelled out -- changing the SPA
  secret without re-running setWebhook leaves Telegram holding the old
  value, so real callbacks start failing with 401 silently, no error
  and no alert
- item 2 PushSubscription: POST /api/push/register command plus the
  split of responsibility. Registration is performed by this service
  against JMAP, not in the Stalwart admin UI, and the verification code
  comes back over the callback and is verified automatically, so the
  operator never needs to obtain a code. Also documents the observable,
  the failure-code decode table, and the disable endpoint
- item 3 rewritten: the operator action collapses to a single question
  (which component does the public mapping), because no Worker is in
  front of this deployment. The five TTL keys moved into a table with
  exact keys, purposes, TTLs and line anchors, and the pending 900s /
  verified 300s statuses are documented where they are set
- item 4 spelled out as a concrete downtime window: stop the service
  while mail is still arriving, longer than Stalwart's delta retention,
  without running POST /reconcile during it, then I reconcile and check
  the cursor re-baselines instead of erroring
- corrected getWebhookInfo field: it returns last_error_date, not
  last_error_time
- anchor audit caught two of my own bad anchors on the first run -- the
  SPA-verification comment is at notify.rs:1163 and the callback URL
  validation at :1174, I had guessed :1151 and :1163, both off by 12.
  ANCHOR is now 272 refs / 0 errors, PATH 393
- GATE-DOCS 6/6 pass
2026-09-29 19:48:40 +08:00
..
charter.md docs: close the Redis TLS blocker, confirmed live 2026-09-29 19:44:05 +08:00
deployment.md docs: rename roadmap.md to opengaps.md and drop completed items 2026-09-29 19:38:38 +08:00
design.md docs: rename roadmap.md to opengaps.md and drop completed items 2026-09-29 19:38:38 +08:00
opengaps.md docs: make opengaps.md say what the operator must do 2026-09-29 19:48:40 +08:00
reference.md config: persist business config regardless of client build, add preflight probe 2026-09-29 18:25:56 +08:00
retired.md docs: rename roadmap.md to opengaps.md and drop completed items 2026-09-29 19:38:38 +08:00