# Glean answers are stale on engineering questions. What alternatives are grounded in current code?


URL: https://getunblocked.com/answers/glean-answers-stale-on-engineering-questions/
Published: 2026-11-09T14:00:00Z
Updated: 2026-11-08T16:32:40Z
Author: Dennis Pilarinos
Categories: Comparisons, Context Engine

**Short answer:** Stale answers usually come from the index, not the model. Glean refreshes each connector on its own schedule, indexes code from the default branch, and ranks by what you and your colleagues open. A context engine such as Unblocked treats today's code as the strongest evidence and checks docs, PRs and chat against it. Test any tool on a change merged this week.

---
Glean stale answers on engineering questions usually trace back to the index, not the model. Each connector refreshes on its own schedule. Code is indexed from one branch. Ranking favors the documents people open most, and on an engineering team those are often wiki pages written before the last refactor. The alternative is a tool that starts from the code as it is today and checks every other source against it. **Grounded in current code** means the answer is built from the code that runs now, and any doc, ticket or thread that disagrees with that code is marked as older or flagged as a conflict. Unblocked is built that way. This page covers freshness only. For the full comparison, see [Glean vs Unblocked for engineering teams](https://getunblocked.com/answers/glean-vs-unblocked-for-engineering-teams/) and [is Glean good enough for codebase questions](https://getunblocked.com/answers/is-glean-good-enough-for-codebase-and-engineering-questions/).

## Why Glean answers go stale

**Enterprise search** is a product that indexes every app a company uses and returns ranked, permission-filtered matches. **Index lag** is the time between a change in a source system and the moment that search can return it. Every index has some, and Glean is open about its own. Its refresh table lists these defaults ([Glean connector refresh rates](https://docs.glean.com/connectors/crawling-refresh-rates), updated Nov 5, 2026).

| Source | Default incremental crawl | Default full crawl |
| --- | --- | --- |
| Confluence | 1 hour (main content) | 30 days on cloud |
| Slack | 3 hours (periodic API mode) | 28 days |
| Jira | 6 hours (API issue crawl) | 28 days |
| GitHub | 1 day (pull requests and issues) | 28 days |


Webhooks speed this up, and the GitHub connector page adds incremental crawls every 10 minutes. But the refresh page warns that "Event notifications don't guarantee immediate search visibility" and that "An incremental crawl can take longer than its configured interval."

Some content waits much longer. On Confluence Cloud, "New or updated comments are primarily indexed during full crawls," which "typically run every 30 days" ([Glean Confluence docs](https://docs.glean.com/connectors/native/confluence)). A comment that says "this page is out of date, see PR 4120" can sit outside the index for weeks. That comment is exactly the signal an engineer needs.

Webhooks can also fail without anyone noticing. GitHub's own docs say "GitHub does not automatically redeliver failed deliveries" ([GitHub docs](https://docs.github.com/en/webhooks/using-webhooks/handling-failed-webhook-deliveries)). Glean's refresh page says connectors also use "scheduled crawls or activity polling to detect changes, including changes missed by webhooks," which is sensible. But the gap between a missed webhook and the next scheduled crawl is a window where the answer is older than the code.

## Why the code loses to the docs

The second cause is what gets indexed and how it ranks. For code, such as a service's retry logic, Glean says it "indexes code files from each repository's default branch". It also notes that "Changes must be crawled, processed, and indexed before they appear in the UI" ([Glean GitHub docs](https://docs.glean.com/connectors/native/github/about), updated Sep 30, 2026). That covers a merged change once the crawl lands, and other branches are fetched on demand.

Ranking also leans toward what people read. Documents you open often, or that involve colleagues you work with, "are more likely to appear in your results" ([Glean docs](https://docs.glean.com/user-guide/assistant/how-glean-accesses-info)). On an engineering team the most-opened pages are the onboarding guide, the architecture doc and the runbook. Those are also the pages most likely to describe last year's system, and they keep their reading history long after the code moves on. What Glean does when a doc and the code disagree is covered in [is Glean good enough for codebase questions](https://getunblocked.com/answers/is-glean-good-enough-for-codebase-and-engineering-questions/).

For example, take a made-up case. A design doc says the payments service retries three times. A PR merged on Tuesday changed it to five, and the reason sits in an incident thread. Ask on Wednesday and a search tool may well return the design doc first, because it is the most-read page on the topic and Tuesday's PR may not be indexed yet.

Stale text can be worse than no answer. A September 2026 study found that "outdated retrieval flips 30% of Llama and 37% of Qwen answers even without instructions to trust the document" ([Ahmed et al.](https://arxiv.org/abs/2609.31342), 2026). The model knew better and was talked out of it by an old page.

## What "grounded in current code" looks like

A tool grounded in current code works the other way round. It starts from the code and treats documents as claims to check. Consider the retry case again. A tool built this way reads the merged code first, finds five retries, follows the PR and incident thread behind the change, and marks the design doc as older. Unblocked's context engine ranks sources "using recency, authority, the expert graph" and treats code as "the strongest ground truth for how the system behaves right now." Documents "often describe a future state," so they are read as intent, not fact. When signals really conflict, "the engine says so rather than picking a side and hiding the disagreement" ([inside the Unblocked context engine](https://getunblocked.com/blog/inside-the-unblocked-context-engine/)).

Unblocked reasons across code, PRs, issues, docs, Slack and Teams, incident channels, and tools such as Sentry and Datadog. Its MCP tool `context_research` "returns a synthesized answer with citations" ([Unblocked docs](https://docs.getunblocked.com/unblocked-mcp/mcp-overview.md)). The answer reaches Claude Code, Cursor, GitHub Copilot, VS Code, JetBrains, Slack and the web, and permissions mirror the source systems. James Ford, Principal Engineer for Developer Experience at Compare the Market, put the result this way: "Unblocked is game-changing for information availability. Most AI tools are siloed. This one connects all of our documentation across the disparate systems to give answers we trust."

Trust is the point. In the 2026 Stack Overflow survey, 93 percent of developers said that to trust what the AI gives "requires source attribution" ([Stack Overflow](https://stackoverflow.blog/2026/10/06/the-results-of-the-2026-developer-survey-are-here/)). A citation only helps if it points at the current code and the PR that changed it, not at a page from before the change. The wider argument is in [context engine vs enterprise search](https://getunblocked.com/blog/context-engine-vs-enterprise-search/).

## How to test freshness on your own repo

Do not take any vendor's word for it, ours included. Run this in an afternoon.

- Pick three changes merged in the last 48 hours where the code now disagrees with a wiki page or README.
- Ask each tool what the current behavior is, from the same coding agent if you can.
- Check whether the answer names the new value, cites the merging PR, and calls the old doc out of date.
- Ask again about a Confluence comment or Slack thread posted today and note how long it takes to show up.
- Repeat a week later to see whether the stale answer has cleared.

If Glean passes on your repos, keep it. If it keeps citing the wiki over Tuesday's PR, keep Glean for company search and add a tool grounded in current code for engineering. For other options, see the [Glean alternatives for engineering teams](https://getunblocked.com/blog/glean-alternatives/) roundup.

## Read more

- [Context Engine vs Enterprise Search: Glean, Elasticsearch, and the Limits of Search](https://getunblocked.com/blog/context-engine-vs-enterprise-search/)
- [Is Glean Good Enough for Engineering Questions? An Honest Assessment](https://getunblocked.com/blog/is-glean-good-enough/)

## Related answers

- [Is an LLM-maintained wiki in git a better fix than a context tool for engineering knowledge?](https://getunblocked.com/answers/llm-maintained-wiki-vs-context-tool/)
- [How do we drive adoption of an AI coding tool from a third of engineering to everyone?](https://getunblocked.com/answers/drive-ai-coding-tool-adoption-across-engineering/)
- [How do I make sure Claude actually calls the context MCP without every engineer editing their CLAUDE.md?](https://getunblocked.com/answers/make-claude-call-context-mcp-without-editing-claude-md/)
- [Atlassian Rovo MCP versus a dedicated context tool for Confluence, Jira and code?](https://getunblocked.com/answers/atlassian-rovo-mcp-vs-context-tool/)
