--- title: How Quelvio ranks authority across your company's knowledge slug: how-quelvio-ranks-authority category: Engineering tags: Retrieval, Authority ranking, Engineering date: 2026-05-18 read_time: 8 min read word_count: 1180 canonical: https://quelvio.com/blog/how-quelvio-ranks-authority machine_url: https://quelvio.com/ai/blog/how-quelvio-ranks-authority publisher: Quelvio ---
# How Quelvio ranks authority across your company's knowledge
Engineering · May 18, 2026 · 8 min read
A look at the freshness × authorship × cross-reference graph that decides which Slack message wins over a year-old PDF — and why our retrieval pipeline routes by expertise, not by keywords.
Two documents in a company's corpus claim the answer to the same question. One is a polished PDF from 2024 describing how the payments service handles refunds. The other is a four-message Slack thread from last week between the engineer who shipped the rewrite and the CTO, agreeing on the new behavior. A keyword-matched search returns the PDF first, because PDFs are dense, well-formatted, and rank well by every traditional retrieval signal. The Slack thread loses, because Slack threads always lose to PDFs in keyword search. The agent quoting that answer is now wrong in production.
This is the failure mode our authority graph was built to fix. The pipeline does not ask *"which document best matches the words in the query?"* — it asks *"which contributor, on this topic, in this lifecycle window, carries the most signal?"* Keywords are a starting filter. Authority is the actual ranker.
## Three signals, multiplied
The authority score for a candidate chunk is a product of three independent signals — multiplied, not summed, so that any one of them dropping toward zero collapses the score regardless of the others. The signals are **freshness**, **authorship**, and **cross-reference position**.
**Freshness** is not just "how old is the document." It is a per-domain decay curve. Architectural decisions in a stable area age slowly; a sprint plan ages in days. Quelvio learns the half-life per taxonomy domain from how often other documents in the same domain supersede or reference back to the source — domains with high churn have shorter half-lives, domains with stable canonical content have longer ones. A 2024 PDF in `engineering.payments` is treated very differently from a 2024 PDF in `legal.privacy-policy`.
**Authorship** is domain-conditional. The engineer who shipped the payments rewrite has very high authority in `engineering.payments` and approximately zero in `marketing.brand`. Their Slack message in the payments domain outweighs a CTO's offhand comment in the same domain; the same engineer's casual aside about marketing copy carries no weight. Authority is built up from contribution history — who wrote, who reviewed, who reacted, who linked to what — and the graph updates as contributors' actual ownership patterns evolve.
**Cross-reference position** is where the document sits in the graph of agreement, disagreement, and supersession. A document that is referenced approvingly by ten subsequent documents in the same domain accumulates positive position; one that has been explicitly contradicted or replaced by a newer source loses position fast. This is the signal that lets us notice that the 2024 PDF was quietly superseded by a Slack thread — even though the PDF itself was never edited.
## What this looks like at query time
When `quelvio query "how do refunds work in payments?"` arrives, the pipeline runs in four stages. First, taxonomy routing: which domains does this question touch? (Here: `engineering.payments`, possibly `customer-support.refunds`.) Second, candidate retrieval inside those domains by vector similarity. Third, authority re-ranking of the candidate set using the three signals above. Fourth, refusal-check and synthesis over whatever survives the re-rank.
```shquelvio query --mode deep "how do refunds work in payments?"
⠋ connecting...
⠙ retrieving (engineering.payments, customer-support.refunds)...
⠹ re-ranking by authority...
⠸ synthesizing...
Refunds in the payments service are issued through the new
/v2/refund endpoint, introduced in the April rewrite [1]. The
previous /v1/refund flow described in the 2024 architecture
document is no longer in use and has been marked superseded [2].
...
Sources:
[1] eng-week-2026-04-22.slack — [email protected], 4w ago
[2] payments-architecture-2024.pdf — [email protected], 18mo ago (SUPERSEDED)```Notice the lifecycle label on the older PDF. The cross-reference graph caught that a more recent, higher-authorship-weighted source in the same domain described different behavior, and that the engineer named on the older document had implicitly handed off — Quelvio sees that explicit transfer of authority in commit history, in Slack mentions, in document edit chains. We label the older source `SUPERSEDED` and demote it. We do not delete it; sometimes the historical view is what the reader actually wants, and `--include-superseded` brings it back.
## Why this isn't just "recency"
A common shortcut in retrieval systems is to bias toward recency — newer documents rank higher. This breaks on every kind of canonical content. Your security policy from two years ago is *more* authoritative than the draft a junior engineer wrote yesterday. Your architectural decision log from 2023 is the canonical version, not the speculation thread from this morning. Treating freshness as a blunt scalar fails in both directions: it boosts noise and demotes truth.
Authority ranking dissolves this. Freshness is one of three multiplicative signals, and its weight is itself learned per domain. In high-churn engineering domains, fresh content tends to also carry high authorship and high cross-reference position — the team is iterating, the canonical view is moving, and recency tracks truth. In low-churn policy or compliance domains, fresh content is usually drafts or commentary, and authorship + cross-reference graph keep the canonical document in the top rank. The system gets recency *for free*, in the places where recency is actually a signal.
## Routing by expertise, not by keywords
The other consequence of an authority graph is that the retrieval pipeline can route a question to the right *expertise* without depending on keyword overlap with the source content. Ask "who should I escalate a P0 in payments to?" and the pipeline doesn't need the words "escalate" or "P0" to appear in any document — it needs to know who has authoritative ownership in `engineering.payments` and `oncall.incident-management`, and surface their recent guidance.
This is what the homepage means when it says Quelvio routes by expertise. The taxonomy graph tells the pipeline which domains a question lives in; the authorship graph tells it whose voice carries in those domains; the cross-reference graph tells it which of that voice's contributions are currently canonical. Three graphs, one ranker, every query.
[What's next] The authority scoring service is one of the load-bearing pieces of Quelvio Brain — there is a longer technical note on the supersession detection layer coming separately. If you want to see the score for an individual chunk on a query you already ran, `quelvio source <query-id>` now prints the per-chunk authority value in v0.3.0.
Tags: Retrieval, Authority ranking, Engineering