The model is the smallest part.
Retrieval-augmented generation that settles who may see a passage, which version wins, and what it joins to, before any model runs.
| Candidate chunk | Dense | Sparse | Recency | Authority | Final |
|---|---|---|---|---|---|
| QX-4400 Service Bulletin SB-118 §3.2 · approved · Mar 2026 | 0.81 | 0.74 | 0.96 | 1.00 | 0.94 |
| Ticket #48221 · resolution · verified fix · Feb 2026 | 0.79 | 0.68 | 0.91 | 0.80 | 0.86 |
| QX-4400 Manual r4 · superseded · 2023 | 0.88 | 0.71 | 0.10 | 0.20 | 0.31 |
Similarity is not judgment.
A vector index finds text that looks like the question. It does not know who is asking, what is current, or what it means in your business.
Basic RAG: a contractor gets a paragraph they cannot open.
DataGOL: permissions enforced inside the query.
Basic RAG: a 2023 manual ranks beside this quarter's revision.
DataGOL: recency and authority outrank similarity.
Basic RAG: quotes the contract, cannot name the account.
DataGOL: documents and warehouse answer together.
Gate, then rank, then ground. Basic RAG only embeds.
Everything expensive happens once, at ingest. Every question runs against the surface this caller may reach.
The document brings its permissions with it.
Source ACLs are written onto every chunk and enforced inside the query. A restricted chunk is never a candidate.
Retrieve first, filter after. The top-k is half empty and nobody can tell why.
A sentence in the prompt is not a control. It cannot be audited.
The restricted chunk is never a candidate. Nothing to leak.
| Document class | Strategy | Window |
|---|---|---|
| Policies and manuals | Semantic | ~700 tok |
| Spec sheets | Layout aware | per table |
| Contracts | Clause split | per clause |
| Support tickets | Whole record | 1 per ticket |
| Call transcripts | Speaker turn | ~400 tok |
Chunked the way each document is read.
One window for every document is a decision too, and usually the wrong one. Each class gets its own strategy.
The highest similarity score loses.
Hybrid recall finds meaning and exact strings. Recency and authority then rank on what a vector cannot know.
Every claim traces to a chunk.
Citations point to the passage, not the file. A demoted source is named, never averaged away.
The clause and the record, in one table.
Entities resolved at ingest join a contract clause to the account, its ARR and its open tickets.
| Account | Renewal | ARR | Auto-renew | Open P1 | Contract source |
|---|---|---|---|---|---|
| Acme Industrial | 14 Oct 2026 | $412,000 | Yes · 60 days | 9 | MSA_2024.pdf · §11.3 |
| Northwind Logistics | 02 Nov 2026 | $286,500 | Yes · 90 days | 7 | Northwind_MSA.pdf · §9.1 |
| Halcyon Foods | 28 Nov 2026 | $198,000 | Yes · 30 days | 6 | Halcyon_Order_Form.pdf · §4 |
| Cobalt Systems | 19 Dec 2026 | $540,000 | No | 11 | excluded by clause filter |
Built in, not bolted on.
Four weeks to an answer you would put in front of a customer.
What takes time is not the index. It is agreeing what is authoritative.
Who may see what, and which version wins.
Permissions and authority on every chunk.
One team, one workflow, their tool.
Golden set scored, next corpus queued.
You see the retrieval trace on every answer from week one.
The model is the smallest part.
Retrieval-augmented generation that settles who may see a passage, which version wins, and what it joins to, before any model runs.
| Candidate chunk | Dense | Sparse | Recency | Authority | Final |
|---|---|---|---|---|---|
| QX-4400 Service Bulletin SB-118 §3.2 · approved · Mar 2026 | 0.81 | 0.74 | 0.96 | 1.00 | 0.94 |
| Ticket #48221 · resolution · verified fix · Feb 2026 | 0.79 | 0.68 | 0.91 | 0.80 | 0.86 |
| QX-4400 Manual r4 · superseded · 2023 | 0.88 | 0.71 | 0.10 | 0.20 | 0.31 |
Similarity is not judgment.
A vector index finds text that looks like the question. It does not know who is asking, what is current, or what it means in your business.
Basic RAG: a contractor gets a paragraph they cannot open.
DataGOL: permissions enforced inside the query.
Basic RAG: a 2023 manual ranks beside this quarter's revision.
DataGOL: recency and authority outrank similarity.
Basic RAG: quotes the contract, cannot name the account.
DataGOL: documents and warehouse answer together.
Gate, then rank, then ground. Basic RAG only embeds.
Everything expensive happens once, at ingest. Every question runs against the surface this caller may reach.
The document brings its permissions with it.
Source ACLs are written onto every chunk and enforced inside the query. A restricted chunk is never a candidate.
Retrieve first, filter after. The top-k is half empty and nobody can tell why.
A sentence in the prompt is not a control. It cannot be audited.
The restricted chunk is never a candidate. Nothing to leak.
| Document class | Strategy | Window |
|---|---|---|
| Policies and manuals | Semantic | ~700 tok |
| Spec sheets | Layout aware | per table |
| Contracts | Clause split | per clause |
| Support tickets | Whole record | 1 per ticket |
| Call transcripts | Speaker turn | ~400 tok |
Chunked the way each document is read.
One window for every document is a decision too, and usually the wrong one. Each class gets its own strategy.
The highest similarity score loses.
Hybrid recall finds meaning and exact strings. Recency and authority then rank on what a vector cannot know.
Every claim traces to a chunk.
Citations point to the passage, not the file. A demoted source is named, never averaged away.
The clause and the record, in one table.
Entities resolved at ingest join a contract clause to the account, its ARR and its open tickets.
| Account | Renewal | ARR | Auto-renew | Open P1 | Contract source |
|---|---|---|---|---|---|
| Acme Industrial | 14 Oct 2026 | $412,000 | Yes · 60 days | 9 | MSA_2024.pdf · §11.3 |
| Northwind Logistics | 02 Nov 2026 | $286,500 | Yes · 90 days | 7 | Northwind_MSA.pdf · §9.1 |
| Halcyon Foods | 28 Nov 2026 | $198,000 | Yes · 30 days | 6 | Halcyon_Order_Form.pdf · §4 |
| Cobalt Systems | 19 Dec 2026 | $540,000 | No | 11 | excluded by clause filter |
Built in, not bolted on.
Four weeks to an answer you would put in front of a customer.
What takes time is not the index. It is agreeing what is authoritative.
Who may see what, and which version wins.
Permissions and authority on every chunk.
One team, one workflow, their tool.
Golden set scored, next corpus queued.
You see the retrieval trace on every answer from week one.
The model is the smallest part.
Retrieval-augmented generation that settles who may see a passage, which version wins, and what it joins to, before any model runs.
| Candidate chunk | Dense | Sparse | Recency | Authority | Final |
|---|---|---|---|---|---|
| QX-4400 Service Bulletin SB-118 §3.2 · approved · Mar 2026 | 0.81 | 0.74 | 0.96 | 1.00 | 0.94 |
| Ticket #48221 · resolution · verified fix · Feb 2026 | 0.79 | 0.68 | 0.91 | 0.80 | 0.86 |
| QX-4400 Manual r4 · superseded · 2023 | 0.88 | 0.71 | 0.10 | 0.20 | 0.31 |
Similarity is not judgment.
A vector index finds text that looks like the question. It does not know who is asking, what is current, or what it means in your business.
Basic RAG: a contractor gets a paragraph they cannot open.
DataGOL: permissions enforced inside the query.
Basic RAG: a 2023 manual ranks beside this quarter's revision.
DataGOL: recency and authority outrank similarity.
Basic RAG: quotes the contract, cannot name the account.
DataGOL: documents and warehouse answer together.
Gate, then rank, then ground. Basic RAG only embeds.
Everything expensive happens once, at ingest. Every question runs against the surface this caller may reach.
The document brings its permissions with it.
Source ACLs are written onto every chunk and enforced inside the query. A restricted chunk is never a candidate.
Retrieve first, filter after. The top-k is half empty and nobody can tell why.
A sentence in the prompt is not a control. It cannot be audited.
The restricted chunk is never a candidate. Nothing to leak.
| Document class | Strategy | Window |
|---|---|---|
| Policies and manuals | Semantic | ~700 tok |
| Spec sheets | Layout aware | per table |
| Contracts | Clause split | per clause |
| Support tickets | Whole record | 1 per ticket |
| Call transcripts | Speaker turn | ~400 tok |
Chunked the way each document is read.
One window for every document is a decision too, and usually the wrong one. Each class gets its own strategy.
The highest similarity score loses.
Hybrid recall finds meaning and exact strings. Recency and authority then rank on what a vector cannot know.
Every claim traces to a chunk.
Citations point to the passage, not the file. A demoted source is named, never averaged away.
The clause and the record, in one table.
Entities resolved at ingest join a contract clause to the account, its ARR and its open tickets.
| Account | Renewal | ARR | Auto-renew | Open P1 | Contract source |
|---|---|---|---|---|---|
| Acme Industrial | 14 Oct 2026 | $412,000 | Yes · 60 days | 9 | MSA_2024.pdf · §11.3 |
| Northwind Logistics | 02 Nov 2026 | $286,500 | Yes · 90 days | 7 | Northwind_MSA.pdf · §9.1 |
| Halcyon Foods | 28 Nov 2026 | $198,000 | Yes · 30 days | 6 | Halcyon_Order_Form.pdf · §4 |
| Cobalt Systems | 19 Dec 2026 | $540,000 | No | 11 | excluded by clause filter |
Built in, not bolted on.
Four weeks to an answer you would put in front of a customer.
What takes time is not the index. It is agreeing what is authoritative.
Who may see what, and which version wins.
Permissions and authority on every chunk.
One team, one workflow, their tool.
Golden set scored, next corpus queued.
You see the retrieval trace on every answer from week one.