Duplicates & merging
Suggestions while people type, and lossless merging when duplicates slip through.
Suggestions while typing
When someone writes a new post, Feedgent searches existing feedback as they type — semantically, not just by keywords ("night theme" finds "Dark mode"). Likely matches appear under the title field with an Upvote instead button. One click casts their vote and subscribes them; no duplicate post, no lost signal. They can always post anyway — we suggest, never block.
The same hybrid search powers the portal search box and the
GET /v1/workspaces/{slug}/posts/search endpoint.
Merging duplicates
When duplicates slip through, merge them from Dashboard → Inbox (the merge icon on any row): search for the canonical post, confirm, done. After a merge:
- Votes combine, people don't double-count. Someone who voted on both posts counts once.
- Comments combine under the canonical post, labeled with where they came from.
- The duplicate becomes a tombstone — its page stays up with a banner linking to the canonical post, but no longer accepts votes or comments.
Unmerge is always safe
Merging never moves or deletes data — it's a link. Unmerge restores the duplicate exactly as it was: same votes, same comments. There is no "merge gone wrong" scenario you can't back out of.
For agents
This is why agents can triage duplicates confidently: run
find_duplicates on a post, then merge_post — and if a human disagrees,
unmerge_post reverses it losslessly. See Triage like a
teammate.