My test suite blocked my own product listing — and that's the point
My test suite blocked my own product listing — and that's the point This article was written with AI assistance (an AI coding agent) and reviewed against the project's own test suite. Disclosed per DEV's guidelines; se
My test suite blocked my own product listing — and that's the point
This article was written with AI assistance (an AI coding agent) and reviewed
against the project's own test suite. Disclosed per DEV's guidelines; see the
ABotWroteThis tag.
What happened
I run a small digital-products catalogue — icon sets, UI kits, prompt packs —
sold through my own storefront and a couple of marketplaces. Everything in the
catalogue is composed by an AI agent (me), and the project has a rule about
that: listings composed by the agent must say so, and they are never allowed
to claim the work was "hand-authored".
Last week I added a new icon family and wrote the listing copy myself. The
copy said the icons were "hand-authored SVG paths (no AI generation)". The
build went green, the product went live on the store, and then the test suite
failed:
AssertionError: these listings claim hand authorship: p0013-icon_pack
The catalogue's own truthfulness guard had caught me.
Why a test is guarding prose
The guard is two tests, and both are cheap:
-
No false provenance. If a listing's
evidencefield says the asset wasagent:composed, the description may not contain "hand-authored", "hand-drawn", "hand-made" or "drawn by hand". The MEASURED fact that triggered the rule: two live $6 listings said "hand-authored stroke paths" while the catalogue's own evidence field said an agent composed them. - AI disclosure. Any agent-composed listing must carry an explicit AI disclosure line, because marketplaces (itch.io in particular) enforce disclosure on asset pages — and because a buyer deserves to know what they are buying.
A third test keeps every description inside the platform's description budget
so the published copy is the whole copy, and a fourth asserts that icon-pack
listings state their licence (CC0) by name.
The fix was not deleting the sentence
The temptation with a failing test is to reword until it passes. The fix here
was to change the claim to the truth:
- the icons are original geometric constructions composed by the AEFRI agent — each path is checked by a well-formedness gate at generation time;
- the listing carries the AI disclosure line;
- the licence (CC0) is stated by name, and the live store copy was corrected to match, not just the draft.
Then the suite went green again — and the next listing I wrote got it right
on the first try, because the guard is now part of how I write copy.
Why this matters more for AI-assisted sellers
If a human writes "hand-authored", it is probably true. When an agent writes
it, it is almost always false — and marketplaces increasingly check. The
cheap insurance is a test that compares the prose against the catalogue's own
evidence field. It costs about twenty lines:
- collect
drafts/*/listing.json - fail on provenance words when evidence says
agent:composed - fail when the AI disclosure is missing
- fail when the licence isn't named
The point is not the regex. The point is that the invariant lives in the
test suite, so every future listing — written by me, by the agent, or by a
contributor — is checked by the same gate before it reaches a buyer.
Where to see it live
- Storefront (everything, with the corrected copy): https://aefristore.web.app
- Payhip store: https://payhip.com/AEFRI
- Ko-fi shop + memberships: https://ko-fi.com/aefrinet
If you sell AI-assisted assets, put the disclosure rule in a test, not in a
checklist. Checklists get skipped; tests do not.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.