Whole file

guillaumemeyer/watermarks-remover

The author described this change as fix: c2patool "No claim found" reported as a C2PA manifest (#3). It counts as a record because the check below fails on the code as it stood at 51593cc64 and passes on a107b8d10, with nothing else changed between the two runs.

Fix saved2026-08-12
Sharing licenceMIT · LICENSE
Change size+10 5

What the code was meant to do, written into the code itself as a save note

fix: c2patool "No claim found" reported as a C2PA manifest (#3)

The change

196196 timeout=30,
197197 )
198198 out = (r.stdout or "") + (r.stderr or "")
199+ low = out.lower()
200+ # Negative markers must veto every positive branch, so the
201+ # positive alternatives are parenthesised: c2patool reports a
202+ # missing manifest as "Error: No claim found", which contains
203+ # the substring "claim" and would otherwise read as a hit.
204+ no_manifest = "no claim" in low or "no jumbf" in low
199205 tools["c2patool"] = {
200206 "available": True,
201207 "returncode": r.returncode,
202208 "snippet": out[:2000],
203- "has_manifest": "claim" in out.lower()
204- or "c2pa" in out.lower()
205- or "manifest" in out.lower()
206- and "no claim" not in out.lower()
207- and "no jumbf" not in out.lower(),
209+ "has_manifest": (
210+ "claim" in low or "c2pa" in low or "manifest" in low
211+ )
212+ and not no_manifest,
208213 }
209214 except Exception as e:
210215 tools["c2patool"] = {"available": True, "error": str(e)}

The check that tells the two apart

failpass·tests/test_c2patool_report.py::test_no_claim_found_is_not_a_manifest

Check file tests/test_c2patool_report.py, taken without changes from the fix and copied onto the older code, so the exact same check runs against both versions.

Origin and history

The code before it51593cc64ca14b46a1c210f9542b24f2918c982d
Broken version dated2026-08-12
Moduleskills.remove-ai-marks.scripts.image_meta
Units changedrun_optional_tools
Fingerprintb249e80e7937da10
Checked2026-08-18 by goldset/0.1

Every field above is generated by our program. None of it is written by hand.

Other bugs found in guillaumemeyer/watermarks-remover