When Confluence Says Yes and GitHub Says No

Published 2026-08-03 · Radha Parikh

Deck: Three tools, three versions of the same feature. One of them is wrong. The deal is waiting.

What this article solves: RAG (retrieval-augmented generation) and source-linked documentation fix the accuracy gap that appears when docs drift from code. By grounding every doc in the actual PRs, tickets, and threads that produced it, teams can trace any claim back to its source and trust what they share externally.

Who this is for: Account executives, sales engineers, and tech leads who have been burned by internal docs that no longer match the product.


It was 4:47 PM on a Thursday when Maya, a senior AE, pasted a Confluence link into the customer thread.

The prospect had asked a direct question: did the platform still support the Salesforce connector they had demoed six months ago? Maya had checked the integration page that morning. It said yes, with a note about bidirectional sync. She sent it with confidence.

Forty minutes later, her SE pinged her in #deal-review. "That connector was deprecated in Q3. There's a Linear ticket for it. LIN-2041. The Confluence page was never updated." Maya pulled up GitHub. The last commit touching that integration was a removal, merged in October. The Confluence page still showed the original launch copy from March.

Three sources. Three different stories. The prospect had already forwarded the doc to their procurement team.


The version problem is a source problem

Documentation accuracy fails for a specific reason: docs are written once, stored in a silo, and never told when the underlying system changes.

The Confluence page Maya sent was accurate the day someone wrote it. But the code moved, the Linear ticket tracked the deprecation, and the Slack thread in #eng-platform captured the decision to remove the connector entirely. None of that reached the wiki. The wiki just sat there, confident and wrong.

This is not a discipline problem. Engineers are not forgetting to update docs out of laziness. The update requires them to context-switch from a merged PR into a separate tool, find the right page, and rewrite prose that may have been authored by someone else entirely. That step gets skipped. Every team, every time.

The result is a documentation dead zone: pages that look authoritative but reflect a system that no longer exists.


What RAG actually does for documentation

RAG (retrieval-augmented generation) is the architectural pattern behind documentation that stays accurate. Instead of generating text from a static training snapshot, a RAG system retrieves current source material at generation time and grounds its output in that material.

For engineering documentation, the sources that matter are: merged PRs, code review comments, Linear or Jira tickets, and Slack threads where decisions were made. These are the places where the system actually changed and where the reasoning behind the change was recorded.

A RAG-based doc system pulls from those sources when it writes or updates a doc. The output is not a guess. It is a synthesis of what the code, the ticket, and the discussion actually say, with links back to each one.

The practical effect: when the Salesforce connector is removed in a PR, the integration doc can be updated from that event. The deprecation note in LIN-2041 becomes part of the doc's evidence chain. The Slack thread in #eng-platform becomes a traceable citation, not a lost conversation.


Source-linking is the accountability layer

RAG handles generation. Source-linking handles trust.

A source-linked doc does not just tell you what the system does. It shows you where that claim came from. PR #847. LIN-2041. The #eng-platform thread from October 14th. You can click through and verify. You can see when the source was last touched. You can tell whether the doc is current or whether it is citing a commit from eight months ago.

This matters most in two situations. The first is customer-facing: when an AE or SE needs to quote product behavior to a prospect, they need to know the doc they are reading reflects the live system, not the launch-day system. The second is internal review: when a tech lead is onboarding a new engineer or preparing for an incident postmortem, they need to know the runbook they are handing over has not silently drifted from the services it describes.

ScopeDocs connects directly to GitHub, Slack, and Linear, and generates docs that are grounded in those sources from the moment they are created, so the answer a sales engineer quotes on a call traces back to the PR that shipped the feature, not to a wiki page nobody has touched since March.

That traceability is what makes a doc trustworthy rather than just readable.


In practice

Consider a sales engineer preparing for a technical discovery call on a Tuesday morning. She opens the product's authentication doc to verify whether the platform supports SCIM provisioning for enterprise SSO. The doc says yes. But she notices the source link: it points to PR #612, merged eleven months ago.

She clicks through. The PR introduced SCIM support. But there is a linked ticket, LIN-3308, tagged "scope change," closed two months later. She checks the follow-up PR referenced in that ticket. SCIM was scoped down to read-only provisioning in the current release, with full write support pushed to the next quarter.

The doc had not caught up. The source link had.

She updates her call notes before the meeting. The prospect asks about SCIM. She answers accurately, sets the right expectation, and the deal moves forward without a correction email two days later.


Before your next customer-facing doc review

  • Identify which integration or capability pages are most frequently cited in sales cycles
  • Check when each page was last updated against the last relevant PR or ticket
  • Flag any page whose source is older than one major release cycle
  • Confirm deprecated features are marked as deprecated, not just absent
  • Establish a review trigger: any merged PR that touches a customer-facing capability should prompt a doc update
  • Connect your doc tooling to the repositories and ticket systems where changes actually happen
  • Assign ownership for source-linked review before the next QBR, not after a deal stalls

The problem Maya ran into is not rare. It happens whenever docs live in one place and decisions live somewhere else. The fix is not more documentation discipline. It is documentation that knows where the truth is kept, links to it, and updates when it changes.

That is what source-linked, RAG-grounded docs do. Capture the answer once, tie it to its source, and keep it current as the system moves. See how ScopeDocs approaches this.


← All ScopeDocs blog posts