Repository navigation
Report where a published draft lives; live smoke cleans up - #36
Conversation
The first live smoke run showed that Micro.blog moves a draft to a new URL when it is published, and post_publish then reported the dead draft URL, so a following edit or delete found nothing. Keep the URL the publish response reports when it is on the selected blog, and add draft_url with the old one. Live smoke now deletes the URL publish reports, falls back to finding its post by marker text, prints what Micro.blog returned, and sweeps any marker posts an earlier failed run left behind. Co-Authored-By: Claude Opus 5.5 <[email protected]>
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ad91d8c0b3
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| "post_edit": _WRITE, | ||
| "post_delete": _WRITE, | ||
| "post_publish": _WRITE, | ||
| "post_publish": _obj({}, {"url": _STR, "id": _STR, "draft_url": _STR}), |
There was a problem hiding this comment.
Teach both guides to follow the published URL
This changes the public post_publish contract so that publishing can retire the draft identifier and callers must use the returned data.url, but neither src/mb/guidance/mcp.md nor src/mb/commands/guide.py explains that behavior; both still tell agents only to read back the result. An agent following the shipped guidance can therefore reuse the dead draft URL for read/edit/delete and reproduce the failure this change fixes. Update both guides with the moved-URL workflow as required for command changes.
AGENTS.md reference: AGENTS.md:L373-L373
Useful? React with 👍 / 👎.
What the first live smoke run found
Sign-in, CLI reads, doctor, every MCP read, and the draft create and edit all passed against POAPChallenge. After
post_publish, though, the draft URL no longer resolved:post_getandpost_deletereturned "The post with the requested URL was not found." So the test post was left published on the test blog.Cause:
_dispatch_claimedoverwrote every edit, publish and delete result'surlwith the URL it was called with. For publish, that's the draft URL, which micro.blog retires on publish.Fix
post_publishkeeps the URL micro.blog's response reports, if it differs from the draft URL and_owns_urlconfirms it's on the selected blog. The old URL is returned asdraft_url. Otherwise the result is unchanged.post_publishoutput schema addsdraft_url, anddocs/mcp-schemas.jsonis regenerated.Live smoke
operation_statuson the create operation, which is always recorded.We still don't know whether micro.blog's publish response includes the new URL at all. The next run prints it. If it doesn't, mb needs its own way to find the moved post, and that would be a follow-up.
Verification
569 tests pass; ruff, format and mypy are clean.
🤖 Generated with Claude Code