v2026.05.31.1 — twitter_post truthfulness + Premium char limit
Patch release on top of v2026.05.31, fixing two twitter_post bugs the v2026.05.31 release announcement surfaced.
Bug 1 — tool no longer lies about success
The agent attempted to post the v2026.05.31 announcement; nothing appeared on the timeline. Root cause: when X silently drops a post (rate limit, anti-automation block, account flag) the composer clears but X never redirects to /status/<tweet_id>. The old code returned success=True with tweet_url="(posted — check X for URL)" — a literal placeholder string masquerading as a real URL.
Fix:
- Poll
window.location.hreffor up to ~10s waiting for the/status/redirect (was a single 4s check). - If still no
/status/URL AND the composer cleared →success=Falsewith a diagnostic error listing what to check (rate limit, anti-automation, account flag, indexing lag) and an explicit "don't re-post on indexing lag" warning. - The
(posted — check X for URL)placeholder is gone — the tool either returns a real/status/URL or admits the post may not have shipped.
Bug 2 — Premium/Premium+ character limit
The hardcoded _MAX_TWEET_CHARS = 280 rejected long Premium drafts that X would have accepted. Multi-feature release announcements immediately hit the gate.
Fix:
- New
TwitterConfigdataclass withmax_chars: int = 280(free-tier safe default). - Loaded from
config.yamlundertwitter.max_chars. - Agent injects into
twitter_post._max_chars; tool description, input schema, and length check all read from the instance attribute. - Error message points users to bump the limit if hit on Premium.
To enable on your account, add to config.yaml:
twitter:
max_chars: 4000 # Free=280, Premium=4000, Premium+=25000Upgrading
./update.sh
./start.sh --web
Free-tier installs continue to work unchanged (default 280). Premium / Premium+ accounts set twitter.max_chars per the example above.
Everything in v2026.05.31 (autonomous activity feed + skill telemetry + knowledge_search cascade + role-gate fix) is included.
Full diff: v2026.05.31...v2026.05.31.1