CLAUDE WATERMARK REMOVER · DESTINATION TEST
Why does my cloned cleaned record no longer have its custom method?
The text field survives, but the custom prototype method does not.
What the test establishes
The source is an instance of a small application-defined class. The clone retains its text property but fails the class identity check and lacks the prototype method. A preview that only shows field values could miss this change until a later method call. A destination should reconstruct its domain type explicitly when methods are required, or operate on a documented plain-data schema. The callback supplies a string and has no knowledge of the Review class. Its successful character removal therefore cannot guarantee behavior of a class snapshot. Keeping the type checks beside the text value makes this boundary reproducible.
Reproduce the observation
Save tested-app.js and reproduce.cjs together, then run node reproduce.cjs. Compare its output with the recorded observation. The harness executes the actual homepage callback in a minimal DOM and records its resulting field values and method calls. Destination operations run in Node.js; the homepage DOM is a controlled substitute. Runtime: v24.22.1. No submitted text or genuine Claude output is used.
{
"text": "AB",
"sourceMethod": "function",
"cloneMethod": "undefined",
"instance": false
}Capability boundary
One custom class with one prototype method is measured. Built-in Date and Map types have separate behavior.
This Claude watermark remover edits a small selected character set. These callback observations do not establish authorship, detector scores, statistical-watermark removal or end-to-end browser behavior. For real work, keep the original and compare the exact result at its destination.
Primary material and next step
The tested first-party source snapshot and complete harness are the primary material for this page. For broader scope, read invisible Unicode versus AI watermarks, or return to the cleaner.