CLAUDE WATERMARK REMOVER · DESTINATION TEST
What happens when two export entries use the same cleaned field name?
The later CD value wins; the resulting text property contains CD.
What the test establishes
The callback first produces a field name. Two destination entries intentionally use that exact same name with different values. Converting them to an object retains the later value at that property, so the entry list is the evidence needed to diagnose the lost earlier record. Validate uniqueness before choosing an object representation if repeated fields are meaningful in the export schema. This fixture does not attribute duplication to generated text or claim that every cleaning operation creates collisions. It isolates the destination conversion rule using a deliberately repeated key.
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.
{
"entries": [
[
"text",
"AB"
],
[
"text",
"CD"
]
],
"record": {
"text": "CD"
}
}Capability boundary
A repeated string key is tested. Symbols, inherited names and streaming entry validation are outside scope.
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.