Observe x-web replies.create as a parent-bound CreateTweet contract - #100
Closed
0thernet wants to merge 2 commits into
Closed
Observe x-web replies.create as a parent-bound CreateTweet contract#1000thernet wants to merge 2 commits into
0thernet wants to merge 2 commits into
Conversation
…ract Graduate the reserved R3 reply route onto the reviewed CreateTweet path used by posts.publish: bind one exact parent, reject quote IDs, media, and made_with_ai, retain the response-bound reply ID, and independently read it back through TweetResultByRestId. A live Made with AI sparkle remains a failed unlabeled-copy publish, and the composer is never a fallback. Co-authored-by: ben <0thernet@users.noreply.github.com>
The replies.create observation bumped the current authenticated-web adapter to 1.14.0 and archived 1.13.0. Keep the Article draft upgrade-baseline test on that current manifest. Co-authored-by: ben <0thernet@users.noreply.github.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Member
Author
|
Closed to preserve the serialized provider → PR78 → editorial → production-control lane. This branch is preserved for later independent review. Wrench policy requires current operation-specific authorized live evidence before replies.create may move from capture-required to observed; posts.publish/CreateTweet evidence alone does not prove reply parent binding and readback. Do not replay or merge this branch into the reserved v0.16.3 candidate without that evidence, exact descendant replay, and package remeasurement. |
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.
x-web replies.create@1is now an observed R3 text-reply contract. A confirmedwrench invoke x-web replies.create --auth x-mainpublishes exact text to one exact parent without opening the X composer.This is the descendant replay after #99. Closed #94, #96, and #98 stay on their original bases. This branch starts from current
main(3a8221d, #99) and replays the two reply-contract commits.What changed
The reserved capture-required reply already sat on the same reviewed CreateTweet mutation as
posts.publish@4. This PR makes that path executable and complete:reply.in_reply_to_tweet_idto the confirmedpost_idmade_with_ai/ content-disclosure fieldsposts.publishposts.quotestays capture-required. No composer fallback.Why this is observed, not a completeness flip
posts.publishwas graduated when the code-owned CreateTweet request, response binding, durable accepted-target evidence, and fail-closed TweetResultByRestId readback were executable and covered by deterministic tests. Transaction-header bootstrap is already reviewed on that path.replies.createnow uses that same executable contract plus parent binding. The registry flip matches that standard: the operation is implemented inexecuteXWebOperation, not reserved behind the capture-required gate.A separate live reply fixture is not required to mark this observed, because the mutation, transaction header, and readback are the current
posts.publishcontract. The new work is the parent-binding variables, response/readback echo ofin_reply_to_status_id_str, and unlabeled-copy rules on that reply.Tests
post_id+body, digit parent IDs, no media, no quote IDs, nomade_with_aix-web1.14.0Adapter and package budget
Current
x-webis1.14.0.1.13.0is archived unchanged.replies.createremains contract version 1 because the input schema did not change.Remeasured on this descendant of #99 with
bun pm pack --ignore-scriptsplusscripts/package-artifact.ts:No ceiling change. #99 did not change the published package payload.
Local check notes
This environment's Node 22.14.0 fails
test:packageon the inert-root-import guard (fs.promises.readFilevia the ESM loader). That is existing environment drift, not this contract. CIRequiredis the merge gate.