zudo-doc-cloud → zudo-text consumer-impact map
zudo-doc-cloud → zudo-text consumer-impact map
Use this map to route an upstream diff. It narrows attention; it does not replace reading the changed patch and its tests.
Always establish the local contract first
Read these live sources on every advancing review:
doc/src/ content/ docs/ architecture/ doc- cloud. mdx packages/doc- cloud- client/ VENDORED. md packages/doc- cloud- preview/ VENDORED. md
The two vendored notes list exact upstream source paths and their drift alarms. Those lists are authoritative over this reference if they change later.
Impact routing
| Upstream area | What may have changed | Primary zudo-text consumers | Minimum evidence |
|---|---|---|---|
packages/, server/routes/, server/store/, src/store/, src/core/{change-sets,history,outline} | route spelling, DTO shape/nullability, revision/generation/history guards, strict frontmatter, assets | packages/, its fixtures/tests, backend-bridge mocks | client/frontmatter/error tests plus a route/source search |
src/store/{revision-coordinator,save-machine}.ts and matching route tests | save ordering, idempotency, conflicts, retry/discard, unknown outcomes | packages/, frame-cache save sessions | save-machine and guard-coordinator suites |
server/, project/change-set/publication event routes, Worker event bus/routes | SSE channel count, payload meaning, IDs, refusal/overflow/reconnect behavior | packages/, renderer project-session store and watchers | project-session and hosted-publish-watcher suites |
Worker routes/, middleware/, api-tokens.ts, cors.ts, auth/trusted-origin code | identity response, grant/error envelopes, cross-account concealment, token metadata, allowed origins/headers | packages/, packages/, native Rust transport, auth/settings UI | client/error/bridge/native transport tests; packaged real-service work stays gated separately |
features/preview/, builder representative corpus, sanitizer dependencies | wasm/runtime pin, render options/order, directives, sanitizer allowlists/hooks, asset rewriting | packages/doc-cloud-preview/**, frame-cache asset resolver, eight shared wasm consumers | real-wasm preview parity, hostile fixtures, asset object-URL tests, atomic version-pin check |
| Personal publish, publications, hosted-site status/history | source guard fields, accepted/live semantics, status transitions, authoritative refresh routes | client publish methods, hosted-publish-watcher.ts, renderer publish dialog/notification host | publish watcher, project session, provider publish tests |
| Personal editor/outline behavior | an operation or lifecycle promise zudo-text exposes in its unified frame | doc-cloud-frame-cache.ts, doc-cloud-provider.tsx, provider CSS/tests, app commands | provider/component tests and the walking-skeleton E2E when behavior changed |
| package manifests, lockfiles, hosted-generator contract | dependency/runtime or generator contract drift | root/workspace manifests, EXPECTED_RUNTIME_VERSION, preview package | coupled pin survey, typecheck/build, preview parity |
| docs or release notes describing API behavior | intent not obvious from code | architecture and user docs plus whichever consumer owns the contract | code/test confirmation before changing local behavior |
Local search roots
Search these before concluding that an upstream change has no consumer:
packages/doc-cloud-client/packages/doc-cloud-preview/packages/backend- bridge/ src/ doc- cloud- * packages/backend- bridge/ src/ {types,tauri- adapter,rest- adapter,mock- adapter}. ts tauri-app/ src/ commands/ doc_ cloud_ transport. rs tauri-app/ renderer/ services/ doc- cloud- * tauri-app/ renderer/ view- providers/ doc- cloud- * tauri-app/ renderer/ components/ doc- cloud- * tauri-app/ renderer/ data/ app- commands. tsx e2e/doc- cloud- walking- skeleton. spec. ts doc/src/ content/ docs/ architecture/ doc- cloud. mdx
Search for the changed wire literal too. A route or error code may be consumed through an adapter even when no filename contains doc-cloud.
Usually ignorable, but only after reading the patch
upstream SPA command-palette implementation, recents, modal CSS, and route navigation;
upstream shell-only layout, theme, account, or administration chrome;
internal refactors whose public responses, events, guards, and side effects are unchanged;
advanced Change Set workflow that zudo-text deliberately does not expose;
hosted theme/chrome changes: zudo-text promises Content preview parity, not published-site visual parity.
An item leaves this list when it changes a contract zudo-text consumes. For example, an upstream command-palette patch is still relevant if it introduces a new Personal operation that the unified frame already promises, and a CSS-only preview patch matters if it reflects a sanitizer or generated-markup change.
Never collapse these distinctions
The skill's checked SHA records a completed review range. A
VENDORED.mdSHA records the exact source revision of a copied contract.202 Acceptedis not hosted/live.SSE events are invalidation hints, not authoritative state.
Personal assets are snapshot
filename → assetIdplus a generation-qualified authoring read, not the legacy project asset library.Token paste is the primary v1 sign-in path; zudo-doc-cloud issue #925 is browser handoff only.
zudo-text owns its frame, commands, colors, and layout. It mirrors the zudo-doc-cloud hierarchy and Personal authoring semantics, not the whole SPA.