What We Refuse To Build
Most product ethics pages are promises. This one is a set of structural refusals — four things this product cannot do because of how it is built, not because we pinky-swear not to. Each refusal cites the file that enforces it.
A refusal you can verify in the source is worth more than a value you have to take on faith.
The principle
A promise is a posture; a refusal built into the architecture is a fact. An engagement-feed company can publish a values page and still ship a recommender the next quarter, because nothing structural stops it. The four refusals below are different: each is load-bearing in the codebase, and removing it would mean ripping out working code, not editing a mission statement.
That is the test we hold each one to: could a competitor optimizing for time-on-app or virality structurally NOT make this same refusal? If yes, it belongs here. If it’s just a nice intention, it doesn’t.
The four refusals
No engagement feed, recommender, or time-on-app objective
There is no recommender, no “for you” surface, no infinite scroll, and no metric anywhere that optimizes for time-on-app. The product does one thing: it forges a song when you ask, then stops. The only timeline in the codebase is your own private dashboard history (auth-gated, not a ranked discovery feed). Nothing here is built to keep you scrolling — because there is nothing to scroll.
src/app/ (route map — no /feed, /foryou, /discover, /explore)No audio cloning and no voice synthesis
Every generation call goes to one place: the Anthropic Claude API. The output is words on a page— lyrics, structure tags, a style string you carry to whatever audio tool you choose. We do not run, train, or call any audio-generation or voice-cloning model. No recording is ingested, no singer is synthesized, no voice is cloned. The audio layer is yours; we never touch it.
src/lib/claude-core/client.ts (the only model client is the Anthropic SDK)No artist-identity forgery
Named artists appear only as internal craft references the writing room writes alongside — never named in delivered output. A display-time scrubber (scrubArtistNames) strips “in the style of [artist]” framing from public song surfaces before delivery. Names live in the prompt, never in the artifact (Sacred Accident #15).
src/lib/artist-name-scrubber.tsA scorer built to under-praise, not flatter
An engagement product flatters you to keep you coming back. Our evaluator does the opposite. Every metric defaults to 50 — the professional median, and points must be earned upward against explicit anti-inflation rules (Gravity Rule, Burden of Proof, Antagonist Ceiling, Historical Context Anchor). The Crucible goes further: a lyric faces eight adversarial voices and only earns a “survived” verdict when the panel finds no fatal flaws — a bar built to be hard, not kind. We would rather tell you a line is fake than keep you happy.
src/skills/lyric-evaluator.md + src/lib/crucible/run.tsWhy this is a standard, not a promise
- ✓Each refusal names a file you can read. The claim and the code are the same artifact.
- ✓Each is structural — built into how the product works, not bolted on as policy. Reversing one means deleting working code.
- ✓Each passes the competitor test: a product optimizing for time-on-app or virality structurally could not make the same refusal without changing what it is.
CC BY 4.0
Fork these refusals
This page is licensed under CC BY 4.0. If you build a creative-AI product and you want to commit to the same structural refusals — and prove them in your own source — you’re welcome to fork the pattern. Attribution with a link back is appreciated.
Companion open artifacts under the same license: Lyric Scoring Standard and the Banned Clichés List.
What this means if you’re a buyer
You are a customer, not an engagement target. The product has no incentive to keep you on the page; it has an incentive to get you a song you’re proud of and out the door.
Your song is text you own. No audio model touched it, no artist’s identity was used to make it.
The score you get is honest. A tool built to under-praise is a tool whose praise, when it comes, means something.