Draft: StartChat and SendChatMessage do not declare their result¶
Status: filed 2026-10-05 as finos/FDC3#2270, using the repository's Minor Issue template.
This is finding 15 in ../upstream-findings.md. A search of the
FDC3 issue tracker for "StartChat result" and "SendChatMessage output" found nothing covering
it, and the pages on main read the same as at v2.2.3.
Title: Docs: StartChat and SendChatMessage return a ChatRoom in their examples but declare no result
What the docs say¶
The intent reference pages for StartChat and SendChatMessage
(website/docs/intents/ref/) each show an app reading a chat room from the intent result:
// StartChat.md
const resolution = fdc3.raiseIntent('StartChat', initSettings);
// Return a reference to the room
const chatRoom = await resolution.getResult();
// SendChatMessage.md
// Start a chat and retrieve a reference to the chat room created
const intentResolution = await fdc3.raiseIntent("StartChat", context);
const chatRoom = intentResolution.getResult();
Neither page says, outside the example, that the intent returns anything. Other intents in the same directory do:
ViewChat.mdhas an## Outputsection: "if the chat gets created, return its ChatRoom context".CreateInteraction.mdandCreateOrUpdateProfile.mdlist the result under "SHOULD return context as a result".
Why it matters¶
An implementer of a chat app reading StartChat.md cannot tell whether returning a
fdc3.chat.room context is expected, optional or incidental to the example. An app that
raises StartChat and then calls getResult(), as the SendChatMessage example does, relies
on behaviour the specification text never states.
It also affects anything that reads these pages mechanically. I maintain a small read-only
MCP server over the FDC3 context schemas and intent docs
(vardhjain/finos-mcp, not affiliated with FINOS). It
builds an intent-to-context table from these pages and reports no result type for StartChat
or SendChatMessage, because none is declared. ViewChat correctly reports fdc3.chat.room.
Suggested change¶
If these intents are meant to return a chat room, add the same kind of statement ViewChat
has, for example on StartChat.md:
## Output
This intent SHOULD return a [ChatRoom](../../context/ref/ChatRoom) context identifying the
chat that was started.
and, if SendChatMessage returns nothing, say so, since its example only shows the result of
the earlier StartChat.
If the result is deliberately optional, a sentence saying so would settle it.
I am happy to open a pull request with whichever wording the maintainers prefer.
Before filing¶
- Check the FDC3 contribution guide for whether documentation issues need a template or a Standard Working Group discussion first.
- The two example snippets differ in a second way:
StartChat.mdawaitsgetResult()but notraiseIntent(), andSendChatMessage.mddoes the reverse. Both lines need both awaits to run. That is a separate, smaller fix and could go in the same pull request.