{"slug": "ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a", "title": "AI sucks. AI is great. I think that AI simply doesn't know its place. SYNTH tries to solve this, creating a \"novel\" system of classifying whether a project is vibe coded and _receives_ AI generated…", "summary": "A developer has proposed SYNTH, a standardized system for classifying how much AI-generated code a project contains and accepts. The system uses a 0-4 scale (SYNTH-0 for hand-made to SYNTH-4 for autonomous) plus assurance tags like REVIEWED and TESTED to indicate code quality practices.", "body_md": "**Version:** 1.0.0\n**Status:** Draft for community adoption\n\nSYNTH tries to answer one question about a repo in one line: how much of this code came from an AI and what does this project actually accept? It lives as a single file in the repo root plus a badge in the README if you want one.\n\nSYNTH is a short answer to a question people keep asking anyway: how synthetic is this codebase and what's the project's stance on that?\n\n`SYNTH-0`\n\nmeans hand-made, no AI-generated code accepted. `SYNTH-4`\n\nmeans the\nopposite end: prompt-directed, AI content welcome everywhere. Everything in between is just a declared position, and none of the levels\njudge quality, they're just an honest description of how the thing got built.\n\nEach level covers two things at once: how the code came to exist and what the project will accept going forward.\n\n| Level | Name | Provenance | Policy (what the repo accepts) |\n|---|---|---|---|\n`SYNTH-0` |\nHand-made | Written by humans. No AI-generated code has been committed. | AI-generated code isn't accepted. Contributions containing it get rejected. |\n`SYNTH-1` |\nAugmented | Humans wrote most of it; AI helped with completion, refactoring and debugging. Every line was accepted by a person. | AI assistance is fine for editing and completion, but a human has to write or accept every change. |\n`SYNTH-2` |\nWoven | AI generated standalone snippets or modules; a human chose, integrated and understood each one. | AI-generated code is fine once a human has reviewed it and understands what it's doing. |\n`SYNTH-3` |\nCo-authored | AI generated most of the code from human direction; a human reviewed it before it shipped. | AI-authored code counts as a first-class contribution, as long as a human reviews it before commit. |\n`SYNTH-4` |\nAutonomous | Code was produced and committed from prompts, with little to no human review. | AI-generated content is accepted throughout, including unreviewed. Treat the repo accordingly. |\n\nThis runs independently of the level above and it always has to be stated. If nothing was checked, say so, that's still useful information.\n\n| Tag | Meaning |\n|---|---|\n`REVIEWED` |\nA human read the diff before it shipped. |\n`TESTED` |\nPassing automated tests cover the code. |\n`SECURITY-REVIEWED` |\nA human did a security pass over it. |\n`DOCS-REVIEWED` |\nPublic-facing docs were checked for accuracy. |\n`UNREVIEWED` |\nNo meaningful human review happened. |\n`EXPERIMENTAL` |\nPrototype or toy code, not meant for production. |\n\nA declaration is just a level plus one or more assurance tags.\n\n`SYNTH-1 · REVIEWED · TESTED`\n\n— light AI help, well vetted. High trust.`SYNTH-3 · REVIEWED · TESTED`\n\n— mostly AI-authored, but reviewed and tested. Moderate trust.`SYNTH-4 · UNREVIEWED`\n\n— prompt-driven and unreviewed. Proceed carefully.\n\nNote that `SYNTH-3 · REVIEWED · TESTED`\n\nis more trustworthy than\n`SYNTH-1 · UNREVIEWED`\n\n. More synthetic doesn't automatically mean less\ntrustworthy, assurance is what actually separates them.\n\nColors run green to red across the levels (cause who doesn't like a cool badge?). Assurance is shown as text not color, since it's a separate axis and shouldn't be flattened into the same scale.\n\n| Level | Badge |\n|---|---|\n`SYNTH-0` |\n|\n`SYNTH-1` |\n|\n`SYNTH-2` |\n|\n`SYNTH-3` |\n|\n`SYNTH-4` |\n\n```\n![synth](https://img.shields.io/badge/synth-SYNTH--3%20Co--authored-orange)\n![assurance](https://img.shields.io/badge/assurance-REVIEWED%20%C2%B7%20TESTED-blue)\n## AI disclosure\n\n[![synth](https://img.shields.io/badge/synth-SYNTH--3%20Co--authored-orange)](./SYNTH)\n[![assurance](https://img.shields.io/badge/assurance-REVIEWED%20%C2%B7%20TESTED-blue)](./SYNTH)\n\nSee the [SYNTH](./SYNTH) file for this project's AI-content policy and provenance.\n```\n\nThis is the one thing a maintainer actually has to write and it's one line.\nDrop a file named `SYNTH`\n\n(no extension) in the repo root, formatted like this:\n\n```\n<level> · <assurance tag> · <assurance tag> ...\nSYNTH-3 · REVIEWED · TESTED\n```\n\nThat's really all it takes. The level itself functions as the repo's AI-content policy (see the table in §2) and the tags say what's been checked, so anyone landing on the repo gets both the stance and the trust signal in a single glance.\n\nIf you want to note the tooling used or leave a short comment, add a second\nline starting with `#`\n\n:\n\n```\nSYNTH-3 · REVIEWED · TESTED\n# agent-authored; integration tests added by hand\n```\n\nThe first line is the declaration and the only required part.\n\nA repo doesn't have to be uniform. The root `SYNTH`\n\nfile states the dominant\nlevel and anything that deviates from it can be flagged with a one-line marker\nat the top of a file, or its own `SYNTH`\n\nfile in a subdirectory.\n\n```\n# synth: SYNTH-4 / UNREVIEWED\n// synth: SYNTH-1 / REVIEWED\n// synth: SYNTH-2 / TESTED\n```\n\nDropping a `SYNTH`\n\nfile into a subdirectory overrides the root declaration but\nonly for that subtree. Useful for something like a `prototypes/`\n\nfolder marked\n`SYNTH-4 · EXPERIMENTAL`\n\nwhile the rest of the repo stays at `SYNTH-1 · REVIEWED`\n\n.\n\nA SYNTH declaration is a statement about provenance. It isn't a guarantee of safety or fitness for any particular purpose.\n\n**User responsibility:** it's on the people using or consuming a repo to actually look at the declared level and assurance tags before they build on it or run it. A higher synthetic level (`SYNTH-4`\n\n, say) or a missing assurance tag (`UNREVIEWED`\n\n,`EXPERIMENTAL`\n\n) is a signal of real risk, and if you choose to run or deploy the code anyway, that's on you.**Maintainer disclaimers:** SYNTH doesn't override the usual open-source license disclaimers. An MIT license, for instance, still hands you the code \"AS IS,\" no warranty attached. Maintainers use SYNTH for transparency, not to take on legal liability for whatever an AI generated or however the code behaves.**Model providers:** the tools and model providers used to generate code aren't responsible for how that code gets declared, merged or used afterward, that responsibility stays with the repo.\n\nA declaration states a fact from the contributor, it doesn't guarantee quality.\n\n- You typed it yourself and AI only answered conceptual questions →\n**SYNTH-0** - You wrote it, AI filled in completions and refactors you accepted line by line →\n**SYNTH-1** - AI wrote some functions or modules and you read them and wired them in →\n**SYNTH-2** - An agent wrote most of it from your direction and you reviewed the diff →\n**SYNTH-3** - You prompted it, it committed, and you didn't really read it →\n**SYNTH-4**\n\nIf you're not sure which way to round, disclose more synthetic involvement\nrather than less, and reach for `UNREVIEWED`\n\nor `EXPERIMENTAL`\n\ninstead of\noverclaiming assurance you don't actually have.\n\nThis spec follows semver. What each level means stays stable within a major version. The spec version (currently 1.0.0) lives in this document, not the one-line repo file, that way the repo's own declaration stays short.", "url": "https://wpnews.pro/news/ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a", "canonical_source": "https://gist.github.com/loeclos/e1ab4347acd9c80e7ef7d53cbc8f2e7a", "published_at": "2026-07-23 20:13:02+00:00", "updated_at": "2026-07-23 21:28:37.619033+00:00", "lang": "en", "topics": ["artificial-intelligence", "developer-tools", "ai-ethics"], "entities": ["SYNTH"], "alternates": {"html": "https://wpnews.pro/news/ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a", "markdown": "https://wpnews.pro/news/ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a.md", "text": "https://wpnews.pro/news/ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a.txt", "jsonld": "https://wpnews.pro/news/ai-sucks-ai-is-great-i-think-that-ai-simply-doesn-t-know-its-place-synth-tries-a.jsonld"}}