Do not collapse four planesThe DSH Host, official Web client, desktop wrapper, and injected client code can each have a different artifact, process, and lifecycle owner.

Route the evidence by owner.

Native sampleRenderer is busy

MutationObserver::deliver proves callback delivery, not who registered it.

Registration stackScript owns the observer

Preserve module URL, digest, observed root, options, and construction call stack.

Host

Session log, API, query window, archive state.

Official Web

React projection, scrollport, renderers.

Desktop shell

WebView, preload scripts, process lifecycle.

One source boundary changes the diagnosis.

rc.2 does not include the reported Tauri shell.

The official tree contains CLI and Web apps. Tracked production sources register no first-party MutationObserver; the matching occurrences are test probes. Bundled dependencies, dynamic plugins, preload scripts, or another artifact remain candidates.

Change one plane at a time.

snapshotwhole profile
→
shell A/Bbrowser / wrapper
→
client A/Bclean / injected
→
fixturecontent / scale

Contain without erasing the trigger.

Live containmentOfficial archive RPC

Hide one Session while preserving its log and Workspace accounting.

Diagnostic isolationOffline cloned roots

Test immutable copies; never renumber, merge, or repeatedly edit the authoritative log.

Repair the feedback edge.

Narrow scope

Observe the smallest owned root and ignore owned output nodes.

Idempotent write

Compare old and desired values before changing text or attributes.

Circuit break

Cap records, scans, writes, and callback time while preserving navigation.

Sixteen gates before claiming a fix.

Primary evidence.

Find the callback before changing the Session.

The canonical runbook covers profile snapshots, observer instrumentation, wrapper/client A/B, sanitized fixture reduction, privacy, and all sixteen regression gates.

Read the complete runbook