“Let's drop the legacy import path and redirect old links at the edge — support keeps tripping over it.”
Every decision, threaded to the code.
Threadory keeps a live thread from meetings and tickets to merge requests — so reviews see the intent behind a change, follow-ups stop vanishing, and every answer cites its source. Works with your GitLab, including self-hosted.
- No rip-and-replace
- Self-hosted GitLab supported
- Source-linked answers
Your own instances, self-hosted included. Every connector reads only what you scope, with tokens you can revoke.
The thread breaks in three places.
Decisions made in meetings die there.
The “we agreed” moment never leaves the transcript. Two sprints later nobody remembers why.
Follow-ups never get filed.
Action items live in notes nobody reopens — until they resurface as incidents.
Reviewers see diffs without intent.
The merge request shows what changed — not the conversation that decided it should.
Three stations, one wire
- STATION 01
Connect
Point Threadory at what you already run — GitLab, your tracker, meeting recordings, chat. Scoped tokens, no migration.
- STATION 02
Threadory builds the thread
Transcripts, tickets, merge requests and messages are stitched into one traceable thread per decision, every stitch linked to its source.
- STATION 03
Use the thread
Context shows up where work happens — on the merge request, in the tracker, in whatever assistant a person already uses. Ask a question, get an answer with sources.
One decision, needled through five artifacts.
FIG. C — TRACE D-118
MON 10:04 → MERGED. Each artifact stays in the tool that owns it; the wire is what Threadory adds.
Remove legacy import path
Drop /import/v1, add edge redirects
This change executes D-118 from Monday's platform sync — legacy import path deprecated, redirects handled at the edge. Tracker follow-up #241 closes with this merge request.
- 01“Spike the retry queue before the next incident review”WED INCIDENT RETRO · NO ISSUE FILED
- 02“Update the runbook after the redirect change”MON PLATFORM SYNC · OWNER UNCLEAR
- 03“Tell support before we turn off /import/v1”FOLLOW-UP ON D-118 · NOT IN TRACKER
6 more from last week are already filed in the tracker — not repeated here.
The follow-ups nobody filed, once a week.
Said out loud, never written down. Threadory lists them with the meeting and the speaker attached, so filing takes a minute instead of a memory.
Anyone on the project can ask.
Not a dashboard somebody has to learn, and not a query language. People ask their own assistant, in their own words.
Threadory serves the thread over MCP, so Claude — desktop, web, or the agent in an editor — answers from the project's own history: decisions, meetings, tickets, merge requests. A product manager catching up, someone joining next Monday, support checking what was promised. Reading the code is not a prerequisite for reading the project.
- WHO CAN ASK
- Anyone in the project
- AUTH
- OAuth 2.1, per person
- SCOPE
- One project per token
- ANSWERS
- Sources attached
Four people, one thread, no meeting to book.
- PRODUCT
- “What did we decide about the import path — and did it ship?”
- NEW JOINER
- “Why does this exist, and who argued for it?”
- SUPPORT
- “What did we promise customers before turning this off?”
- ENGINEERING
- “Which decision is this branch actually executing?”
The answers are not a summary of the code. They are the transcript line, the ticket and the review that produced it — cited back, so the receipt is one link away and nobody has to take the assistant's word for it.
The project is resolved from the person's credential, never from what the agent asks for. A token issued for one project cannot read another — enforced at the connection and again at every query.
Twenty-three tools the assistant picks for you
- kb_ask
- a synthesized answer, with citations
- kb_retrieve
- ranked passages under a token budget
- kb_search_knowledge
- meetings, tickets and MRs by meaning
- kb_code_search
- the exact identifier, not a paraphrase
- kb_find_similar
- prior art for what you are about to do
- kb_get_neighborhood
- what this connects to, N hops out
- kb_list_decisions
- what was decided, and where it landed
- kb_recent_activity
- what moved since you last looked
- kb_capture_note
- write a finding back into the thread
- kb_link_entities
- connect two artifacts by hand
+ 13 MORE — ENTITY LOOKUP, TOPIC TREES, COUNTS, AND ONE TOOL PER SKILL AND CONNECTOR YOU ENABLE. NOBODY TYPES A TOOL NAME; THEY TYPE A QUESTION.
Connected in a minute, with no key to rotate
- CLAUDE
- Desktop or web: Settings → Connectors → Add custom connector, paste the project URL.
- CURSOR
- Installs from a link — the deeplink carries the URL for this project.
- VS CODE
- Installs from a link, straight into the editor's MCP settings.
- ANY MCP CLIENT
- Copy the mcp.json block — Claude Code, Windsurf, anything that speaks MCP. Headless and CI clients use a scoped API key instead.
Each person authorises once with their own account over OAuth 2.1. Access follows project membership, and an admin can revoke it from settings.
Capabilities
TABLE 01- C-01
Thread context on review
The decision behind a change, posted on the merge request — so reviewers see why, not just what. Review is one surface of the thread, not the whole product.
- C-02
Source-linked answers in your own assistant
The thread is served over MCP, so anyone on the project — in Claude, or in an editor like Cursor or VS Code — asks in plain language and gets the meeting, ticket or merge request the answer came from.
- C-03
Weekly digest
Follow-ups that were said but never filed, surfaced with speaker and meeting attached.
- C-04
Decision log
Every captured decision is a first-class artifact with its full trace — transcript line to merge.
- C-05
Works where you work
GitLab, tracker, chat, editor. Nothing new to check every morning; no second place to keep in sync.
Trust and control
TABLE 02- DEPLOYMENT
- Connects to your own GitLab — cloud or gitlab.yourco.dev — with tokens you scope and revoke.
- PERMISSIONS
- Access follows project membership. Retrieval, threads and answers are filtered to the project a person belongs to.
- ATTRIBUTION
- Every answer cites its source. Meeting, ticket or merge request — the receipt is one click away.
- EXIT
- No rip-and-replace and no lock-in: your artifacts stay in the tools that own them.
A pilot, not a leap.
- STEP 01
Connect
GitLab plus one meeting source. About 30 minutes, tokens you scope.
- STEP 02
Backfill
Threads built from recent history, so day one is not an empty tool.
- STEP 03
Run
Two sprints with your team: thread context on merge requests, digest on Fridays.
- STEP 04
Decide
Keep going or walk away — nothing ever left your own tools.