Skip to content

Surface the raw platform response in syndication errors; soften 403 wording - #8

Merged
DanMat merged 1 commit into
mainfrom
fix/surface-target-response
Sep 7, 2026
Merged

DanMat merged 1 commit into
mainfrom
fix/surface-target-response

Conversation

@DanMat

@DanMat DanMat commented Sep 7, 2026

Copy link
Copy Markdown
Contributor

A syndication failure previously returned only a translated hint, so a Dev.to/Hashnode 403 could not be diagnosed from the MCP surface (blog_syndicate_post returned the hint; the error record had external_id: null). And the 403 wording asserted the body/SVG as the cause, which misdirected a real diagnosis.

Changes

  • Dev.to and Hashnode now append a one-line, length-capped (300 char) slice of the platform's actual response body to the SyndicationError, so the raw Forem/Hashnode reason reaches the agent and the logs. (Hashnode's GraphQL-200-with-errors path already surfaced the message; this covers the non-2xx path too.)
  • Softened the 403 wording: "likely raw HTML/SVG in the post, or a key/permissions issue", with the raw response appended, instead of blaming the body.

Context

Read-only probes with the live key showed the SVG path is a dead end: the key is valid and can create articles, but all existing articles are drafts (published: false) and our plugin sends published: true. The real 403 is almost certainly a publish gate / rate limit, not the body. This change makes the next retry self-diagnosing.
🤖 Generated with Claude Code

…ording

A target failure previously returned only a translated hint, so a 403 could
not be diagnosed from the MCP surface (the tool returned the hint and an empty
error record). Dev.to and Hashnode now include a one-line, length-capped slice
of the platform's actual response body in the SyndicationError, so the raw
Forem/Hashnode reason reaches the agent and the logs.

The 403 wording is also softened: it no longer asserts the body/SVG as the
cause (which misdirected a real diagnosis), and now reads "likely raw HTML/SVG
in the post, or a key/permissions issue" with the raw response appended.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@DanMat
DanMat merged commit d402855 into main Sep 7, 2026
2 checks passed
@DanMat
DanMat deleted the fix/surface-target-response branch September 7, 2026 20:42
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.

1 participant