Skip to content

Fail closed so X posts are never labeled Made with AI - #26

Closed
0thernet wants to merge 1 commit into
mainfrom
cursor/x-no-ai-label-4b64
Closed

Fail closed so X posts are never labeled Made with AI#26
0thernet wants to merge 1 commit into
mainfrom
cursor/x-no-ai-label-4b64

Conversation

@0thernet

Copy link
Copy Markdown
Contributor

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.md is the fail-closed procedure:

  • Never set official x made_with_ai true, and never add Made with AI or Made with Grok text.
  • Prefer a Wrench transport over the X composer.
  • If a composer fallback is used, open Content disclosure and require Made with AI OFF before Post.
  • After publish, open the live permalink. A sparkle label means the publish failed. Do not report success. Do not delete or repost unless the user asks.

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 x

posts.publish still omits made_with_ai unless the caller explicitly sets true with reviewed media. Tests cover default omit, explicit false, and explicit true.

x-web

CreateTweet still sends empty semantic_annotation_ids and no AI or content-disclosure field. The reviewed GraphQL contract has no such input, so this change does not invent one. Authorization now rejects made_with_ai, content_disclosure, ai_generated_disclosure, and nonempty annotations.

R3 preview and confirm are unchanged.

Related: #24

Open in Web Open in Cursor 

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>
@vercel

vercel Bot commented Aug 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
wrench Ready Ready Preview Aug 22, 2026 1:29am

Request Review

@0thernet
0thernet marked this pull request as ready for review August 22, 2026 02:00
@0thernet

Copy link
Copy Markdown
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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants