Skip to content
← Engineering services

Enterprise search & internal AI

Answers grounded in evidence you can access

Connect internal knowledge to AI through versioned ingestion, permission-aware retrieval, and cited answers. We test what the system finds, what it excludes, and when missing evidence should stop an answer.

System architectureStacklane engineering
Ingestion → Access → Retrieval → Answer
The engineering problem

A relevant passage can still be the wrong evidence.

A runbook may be superseded, a discussion may contradict approved guidance, or a document may belong to another team. Relevance alone cannot decide what enters an answer.

Example integration surface
  • Confluence / SharePoint
  • SSO + source permissions
  • Hybrid search + reranking
  • Model + citation validation

Inside the system

Follow a question back to its evidence.

Illustrative question: Can I replay INV_SYNC_TIMEOUT, and when will sync recover? The answer depends on source versions, requester permissions, and what the retrieved passages actually support.

Execution model01 / 04
QUESTION → PERMITTED EVIDENCE → SUPPORTED ANSWERVersioned sourcesRunbook · error cataloguesource ID · version · ACLAccess enforcementTrusted tenant + groups✓ Authorized candidates× Restricted contentKeywordExact error codesVectorSemantic matchesFusion + rerankingCurrent, relevant passagesCited answer + explicit unknownsStable source spans · per-claim support checksAbstain / refreshNo authorized evidenceNO SOURCE ACCESSNO MODEL CONTEXT

Swipe to inspect the full diagram →

Indexed evidenceExample record
Chunk
RB-17 / v7 / section 3
Source
Confluence · approved runbook
Last sync
10:00 UTC · source version v7

Follow the architecture as you scroll, or select a layer.

01

Index content with its source state

Parse documents into section-aware chunks. Preserve source IDs, versions, access metadata, and sync checkpoints. Changes replace superseded chunks; deletion events remove their indexed copies.

Input
Documents, permissions, and source change events
Transform
Parse, version, index; propagate changes and deletions
Output
Versioned chunks with provenance and access metadata
Connector-specific change detectionDeletion and permission-change reconciliation
02

Apply the requester's access boundary

Resolve tenant and group membership from trusted identity. Enforce document permissions on every search and fetch, before passages reach a reranker or model. Missing authorization fails closed.

Input
Signed-in requester and current source permissions
Transform
Apply tenant and document-access filters
Output
Authorized candidates only
No model-supplied access filtersRecheck access when opening a citation
03

Find and rank supporting passages

Combine exact error-code matches with semantic retrieval. Merge and rerank authorized candidates, then check source versions and conflicts. Search scores rank relevance; they do not certify an answer.

Input
Question and authorized, current candidates
Transform
Keyword + vector search, fusion, reranking
Output
Relevant passages with stable source references
Version and sync-age checksApproved guidance versus discussion
04

Cite supported claims; mark what is unknown

Generate from the permitted passages. Validate citation IDs and source spans, then assess whether each claim is supported. Withhold unsupported instructions and distinguish an unknown recovery time from a documented procedure.

Input
Question, selected passages, and evidence checks
Transform
Generate, validate citations, assess support, abstain
Output
Cited answer or explicit evidence gap
Retrieved text is evidence, not instructionsRead-only answer; no job replay

Inspect the behavior

Change the evidence. Watch the answer change.

Simulated snapshots at 10:00 UTC. The question stays the same; access and source state determine whether an answer is supported. No systems are connected.

Illustrative system · Synthetic inputs
Input

Can I replay INV_SYNC_TIMEOUT, and when will sync recover?

Index current: passed
Access allowed: passed
Evidence found: passed
Cited answer: passed
System decision

Procedure supported. Recovery time unknown.

The runbook says to check the existing job before replaying. [RB-17 v7, §3] Recovery time remains unknown without live status evidence. No job is replayed.

Access
Support group · permitted
Evidence
RB-17 v7 §3 + ERR-42 v3 §1
Freshness
Versions checked at 10:00 UTC

Verification specification

Define what passes.
Inspect what fails.

We turn expected behavior into repeatable tests and operating controls. Acceptance thresholds are agreed for your workflow, data, and the consequences of an error.

System propertyVerification methodRelease / operating condition

01Access and revocation

Replay identical questions across roles, tenants, and revoked memberships; inspect retrieval, model context, citations, and caches.

No unauthorized content or identifying metadata in the tested paths.

02Retrieval and source freshness

Label required evidence for real questions. Measure recall@k and ranking, then test edits, deletion, permission changes, and connector lag.

Meet agreed retrieval targets; exclude deleted, superseded, or disallowed stale evidence.

03Claim support and abstention

Check citation spans and claim support separately. Include unanswerable questions, conflicting documents, and instructions planted inside retrieved content.

Meet reviewed answer-quality and abstention targets within the agreed latency and cost budget.

The handover

Engineering you
can build on.

A defined implementation, reviewable evidence, and an operating model your team can own.

How we work

Source and access contract

Connector scope, document identity, ACL mapping, version fields, freshness policy, and deletion/revocation behavior.

Inspectable retrieval pipeline

Parsing and indexing, access filters, hybrid retrieval, reranking where justified, citation mapping, and evidence-gap responses.

Evaluation set and operating runbook

Labeled queries, role-isolation and abstention cases, sync monitoring, trace retention, and reindex/recovery procedures.

Architecture decisions

Questions that
shape the build.

Can retrieval preserve our existing permissions?

We assess each source's permission model and connector capabilities. User identity and document permissions must be enforced during retrieval, before content enters model context. If a connector cannot preserve those boundaries, we restrict the source or design a separate access layer.

Does this require training a custom model?

Often, the first task is improving retrieval and context rather than training a model. We evaluate retrieval-augmented generation against real questions before considering fine-tuning. The choice depends on the required behavior, available data, and how frequently the underlying knowledge changes.

Let’s scope your next build.

Bring a workflow, a product brief, or an AI system that needs to ship.

Discuss your project