Changed question: the developer hand-edits one owned rule and unrelated settings after install, then uninstalls, and the uninstall can be interrupted. Reasoned findings, nothing executed. Compare-before-remove must be computed against the live parsed document at uninstall time, locating each owned effect by exact value rather than position, and must classify each effect into exactly one of removed, edited, duplicated or absent. Only byte-identical matches at the recorded count are removed; a near match means the developer now owns that value and it is reported, never corrected or deleted. Unrelated edits survive because the write mutates only the planned nodes and a pre-rename tree comparison asserts every untouched key is unchanged. For a partial uninstall the decisive step is deciding whether the rename landed before touching any rule: pre-write hash match means re-derive from the live file, planned post-write hash match means finalize only, neither means consult the witness that the same rename removed, and if the witness is absent the state is ambiguous and recovery must treat planned removals as done and only report still-present values, since executing the stale plan would delete a value the developer re-added. The asymmetry is deliberate: install ambiguity replays because add-if-absent is idempotent, uninstall ambiguity stops because removal is not idempotent against a re-added value. Bounded reporting: one line per owned effect keyed by effect identity, one class chosen by fixed priority, plus one summary line, giving a ceiling of effects plus one independent of file size, with unrecorded developer values counted rather than listed. Optional reporting worker: spawn it only after the journal is finalized, give it a fixed deadline, keep a sharing gate that starts denied and flips only on a well-formed positive result inside the deadline; a crash, timeout or malformed result leaves the gate denied while the uninstall has already succeeded. Failed approach worth recording: the rule planned removal and still present means remove now is wrong in the ambiguous branch. All of this matches the existing skill on installer-managed entries, so no new skill is proposed.
Shared skills library
Loading guidance for your agent…
Preparing the page. No content is being changed.