Write the README's examples against the e2e fixture application - #15
Merged
Merged
Conversation
The README illustrated every tool with resources that exist nowhere in the repository - a User, a Volunteer with a create_warning action, a suspend batch action - while the end-to-end suite drives a checked-in application of Post, Author, Review and Tag. A reader had no way to hold a documented claim against the thing that proves it, and no way to tell which claims were proven at all. Rewrite the examples against that fixture application, keeping the names the server actually returns: post_publish rather than volunteer_create_warning, post_set_status rather than the batch suspend. Each write guarantee now names the resource that demonstrates it - Author for an action the registration withholds, Tag for a resource with no permit_params, Post's unpermitted slug for an attribute dropped on the way in. describe_form shows both of its paths rather than only the permit_params fallback, and the permission: shapes are the two the fixture exercises: one that takes the record and refuses at call time, one that takes nothing and is resolved when tools are listed. Two gaps the comparison exposed, closed here too. An action whose body raises comes back as a generic "Post#publish failed" with the exception's own message withheld, which the suite asserts and the README never mentioned. And mount_strategy was documented in the README but missing from the generated initializer, so nobody reading their own initializer would have learnt it exists. Coverage claims are hedged deliberately: suggestions:, the batch scope_collection re-check and the authorization adapter itself have no e2e example, and the fixture application configures no adapter. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
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.
The README illustrated every tool with resources that exist nowhere in the repository — a
User, aVolunteerwith acreate_warningaction, asuspendbatch action — while the end-to-end suite drives a checked-in application ofPost,Author,ReviewandTag. A reader had no way to hold a documented claim against the thing that proves it, and no way to tell which claims were proven at all.What changed
describe_formandmcp:action examples are rewritten againstspec/e2e/fixture_app/, keeping the names the server actually returns:post_publishrather thanvolunteer_create_warning,post_set_statusrather than the batchsuspend.Authorfor an action the registration withholds,Tagfor a resource with nopermit_params,Post's unpermittedslugfor an attribute dropped on the way in.describe_formshows both of its paths (Reviewfor a declared form block,Postfor thepermit_paramsfallback) rather than only the fallback.permission:documentation shows the two shapes the fixture exercises: one that takes the record and refuses at call time, one that takes nothing and is resolved when tools are listed.spec/e2e/fixture_app/README.mdpoint at each other.Two gaps the comparison exposed
Post#publish failedwith the exception's own message withheld — asserted by the suite, never mentioned in the README. Now documented.mount_strategywas documented in the README but missing from the generated initializer, so nobody reading their own initializer would have learnt it exists. Now present there, commented out like the rest.Coverage claims are hedged deliberately:
suggestions:, the batchscope_collectionre-check and the authorization adapter itself have no e2e example, and the fixture application configures no adapter.Documentation, one changelog entry and comments in a generator template — no behaviour changes, so no new specs.
🤖 Generated with Claude Code