Skip to content

Slack: emit classifier facets on direct-conversation links - #381

Merged
KrisBraun merged 1 commit into
mainfrom
chat-connectors-emit-facets
Aug 7, 2026
Merged

Slack: emit classifier facets on direct-conversation links#381
KrisBraun merged 1 commit into
mainfrom
chat-connectors-emit-facets

Conversation

@KrisBraun

Copy link
Copy Markdown
Contributor

Summary

Slack direct and group conversations now carry classifier facets. Channel threads have emitted facets since facet extraction landed, but the direct-conversation path assembles its links in assembleSlackDmLink, which never set link.facets — so the conversations this connector chiefly syncs (DMs, group DMs, saved messages) reached the platform with no facets at all, leaving facet-driven classification unable to see them as direct human conversations.

Behavior

Every direct or group conversation link now carries {format: "chat", automation, reach: "direct"}:

  • reach is direct by construction — a DM addresses the user.
  • format is chat — the conversation link represents an ongoing chat regardless of any one message's length.
  • automation judges the synced batch as a whole and is automated only when every message is bot-shaped (bot_id, bot_message subtype, or no user). A single human-shaped message makes the conversation human: a classifier hiding a real person's message is strictly worse than showing an automated one, so the verdict fails open toward human.

The channel-thread path is unchanged (it already emits per-message facets via slackFacets).

Testing

  • New unit tests cover the human 1:1, group DM, all-bot, and mixed-batch cases (slack-dm.test.ts); written failing-first against the unfixed assembler.
  • Full connector suite passes (254 tests), tsc --noEmit and plot lint clean.

🤖 Generated with Claude Code

https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P

Channel threads have carried classifier facets since facet extraction
landed, but the direct-conversation path assembles its links in
assembleSlackDmLink, which never set link.facets — so the conversations
this connector chiefly syncs (DMs, group DMs) reached the platform with
no facets at all.
Direct and group conversations now carry
{format: chat, automation, reach: direct}. Automation judges the batch
as a whole and is "automated" only when EVERY message is bot-shaped
(bot_id, bot_message subtype, or no user): a single human-shaped message
makes the conversation "human", because a classifier hiding a real
person's message is strictly worse than showing an automated one.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHoQc2TdA62Wp4BwUxvR6P
@KrisBraun
KrisBraun merged commit 576bee2 into mainAug 7, 2026
1 check passed
@KrisBraun
KrisBraun deleted the chat-connectors-emit-facets branch August 7, 2026 05:10
Sign up for freeto 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

@KrisBraun