The private-channel flow is the hardest part of the product. Here is every edge case, with screenshots.
The hardest technical problem in Threadseam isn't capture. It isn't search. It isn't even deduplication. It's the private-channel consent flow — the dance between "this looks like a decision worth saving" and "nobody in this room has to agree."
The requirement
A workspace admin can add Threadseam to a private channel. But adding it does not grant it the right to publish anything from that channel to the knowledge base. For that, every participant in the specific thread has to approve.
What that looks like in practice
When our capture signal fires on a thread in a private channel, Threadseam DMs each participant separately. The DM contains the exact proposed entry text (never the raw thread), who else is being asked, and three buttons: Approve, Edit, or Reject with a reason.
- If anyone rejects, nothing gets published, and the other participants are told it was rejected but not by whom.
- If anyone edits, the edit goes back to everyone else as a re-request. Three rounds max before the system gives up quietly.
- If anyone just doesn't respond within 48 hours, nothing happens. No nagging, no fallback, no "silence equals consent."
Edge cases that cost us weeks
The nasty one: someone leaves the company between "candidate detected" and "consent complete." We handle this by hard-expiring the proposal 24 hours after any participant status changes. We looked at auto-rejecting, but the right behavior turned out to be: start over.
The other nasty one: a channel is private but the thread participants are a subset of channel members. We ask only the participants. We considered asking the whole channel; it made approvals impossibly slow and no one's threat model was actually improved by it.
What we still don't handle well
Threads where someone changes their mind mid-thread. The capture model assumes a thread converges on a single decision. If it diverges and reconverges, we often pick the wrong one, and the humans in the review queue catch it. We think this needs a different model altogether — something that captures the arc of a decision rather than its endpoint.
If you're building anything similar: budget twice as long for the consent flow as you think. Then double it again.