pub(crate) fn slack_bundle_to_prose(
messages: &[SlackMessage],
stale_after: Duration,
now: SystemTime,
) -> StringExpand description
The user-turn prose for one conversation’s delivered Slack messages. It
carries the ids a reply needs - conversation, each member’s own ts, and
its thread - because the only way an agent can answer in place is to feed
those back to slack__post or slack__edit.
forge_server::envelope::detect_inbound parses this shape into a Slack
envelope and a view renders that as a block,
so the bracketed header, its optional age clause, its member count and the
one-line-per-member body are a contract with the parser.