Fail closed so X posts are never labeled Made with AI - #26
Closed
0thernet wants to merge 1 commit into
Closed
Conversation
Keep the packaged skill from treating a sparkle-labeled post as success, omit official x made_with_ai unless the caller explicitly sets true, and keep x-web CreateTweet free of AI or content-disclosure fields. Co-authored-by: ben <0thernet@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
0thernet
marked this pull request as ready for review
August 22, 2026 02:00
Contributor
Author
|
Superseded and delivered by #39, merged to main as 8014faf. The recovery ports the X user-copy disclosure policy onto current main, rejects unreviewed x-web disclosure fields and nonempty semantic annotations, verifies the live-permalink fallback rule, and preserves explicitly authorized official-X AI-media labeling outside the cross-post workflow. This stale conflicting branch is retained for history. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Composer fallback labeled https://x.com/hraness/status/2090959210389385452 as Made with AI even though the operator thought disclosure was off. Ben left that post as-is and asked that Wrench never apply this label again.
This keeps the unlabeled-copy rule from #24 and makes it hard to miss in the packaged skill and in the X publish paths.
Skill
skills/wrench/references/x-ai-disclosure.mdis the fail-closed procedure:xmade_with_aitrue, and never add Made with AI or Made with Grok text.SKILL.md, cross-posting, and routing now point at that reference. Package smoke and a skill test refuse a packaged skill that drops the rule.Official
xposts.publishstill omitsmade_with_aiunless the caller explicitly setstruewith reviewed media. Tests cover default omit, explicitfalse, and explicittrue.x-webCreateTweet still sends empty
semantic_annotation_idsand no AI or content-disclosure field. The reviewed GraphQL contract has no such input, so this change does not invent one. Authorization now rejectsmade_with_ai,content_disclosure,ai_generated_disclosure, and nonempty annotations.R3 preview and confirm are unchanged.
Related: #24