feature: "message_series" turns a brief into a sequence of short connected posts.
Behaviour
- Requires roughly a sentence or two of draft (there is a 10-word gate; under it returns
422 invalid_input).
/suggest returns a message_series artifact — the planned posts, for review.
/generate then either:
- creates a list of the planned rows (default), or
- with
scheduleImmediately: true, creates individual scheduled posts spaced a few minutes apart → {scheduledMessageIds, firstScheduledAt, lastScheduledAt}.
crossPost may be passed on /generate (crossPostToBluesky, selectedMastodonIds, crossPostToLinkedIn, selectedLinkedInTargets, crossPostToTwitter, linkedInLinkAsFirstComment). It is sanitized server-side against the caller's connected accounts, and the tightest selected service's character limit caps generation.
Acceptance criteria
feature: "message_series"turns a brief into a sequence of short connected posts.Behaviour
422 invalid_input)./suggestreturns amessage_seriesartifact — the planned posts, for review./generatethen either:scheduleImmediately: true, creates individual scheduled posts spaced a few minutes apart →{scheduledMessageIds, firstScheduledAt, lastScheduledAt}.crossPostmay be passed on/generate(crossPostToBluesky,selectedMastodonIds,crossPostToLinkedIn,selectedLinkedInTargets,crossPostToTwitter,linkedInLinkAsFirstComment). It is sanitized server-side against the caller's connected accounts, and the tightest selected service's character limit caps generation.Acceptance criteria
scheduleImmediately.crossPost.scheduleImmediately, the existing scheduled-posts view reflects the new posts.