Astell Search

Understand how Astell provides actionable context through Astell Search

Astell Search is best understood as a permission-aware context layer, not “semantic search across tools.” Instead of live-fetching across silos on every question, Astell ingests and indexes your workspace so it can retrieve sources quickly, rank them with context, and keep results consistent.

The goal is simple: when you ask a question, Astell should return the right sources with the right context—without you needing to remember where something lives, who wrote it, or what version is current.

What Astell Search is optimized for

Most teams don't struggle with “search.” They struggle with fragmentation and context reconstruction:

  • The answer is often spread across Slack/Teams threads, docs, tickets, and PR discussions.
  • Even if you find a match, you still need to figure out whether it's the latest version, which team owns it, and what it's related to.
  • The same term can mean different things across systems unless entities are normalized.

Astell Search is built to solve these by treating your workspace like one system: it retrieves across tools, enforces permissions, and uses context signals to rank what's most likely to be the real answer.

How Astell Search works

Astell Search is a pipeline:

  1. Ingest + normalize your workspace data
  2. Index it for fast retrieval (multiple retrieval methods, not just one)
  3. Route and rerank results using context
  4. Return sources that are permission-valid and time-relevant

This is why Astell can be fast and consistent: it's not rebuilding context from scratch on every query.

The ingestion layer (how data becomes searchable)

Before search can work well, the data has to be shaped into something searchable.

Astell ingests content from connected tools and normalizes it into a consistent internal structure. Practically, that involves:

  • Content extraction
    Pulling relevant text and metadata (author, timestamps, location, type) from each system.

  • Chunking and structuring
    Long documents and threads are split into chunks so retrieval can be precise instead of “all or nothing.”

  • Entity recognition and normalization
    Mapping common workspace objects into stable identities: people, teams, projects, customers, tickets, repos, docs.
    This reduces cases where “the same thing” appears under slightly different names across tools.

  • Time-aware versioning signals
    Capturing update timestamps and change history so search can prioritize the most current or most relevant historical version, depending on the question.

This ingestion layer is why Astell search tends to be less fragile than “query-time crawling” systems.

The retrieval layer (how Astell finds candidates)

Astell uses a hybrid retrieval because no single technique works for every query.

  • Keyword / lexical retrieval This is best when you know exact identifiers or phrases:
  • ticket IDs, repo names, error codes
  • exact project/customer names
  • precise terms that must match
  • Semantic retrieval This is best when you know the idea but not the exact wording:
  • “the doc where we decided the migration approach”
  • “the thread about the outage root cause”
  • “the plan for onboarding enterprise customers”

Semantic retrieval is how you get relevant results even when the query and the source don't share many exact words.

Astell combines both approaches to build a set of candidate results that are broad enough to catch the right answer, but still high-quality.

Ranking and relevance (how Astell decides what goes on top)

Retrieval finds candidates. Ranking decides what's most useful.

Astell ranks results using context signals such as:

  • Source system (Slack vs doc vs repo vs ticketing)
  • Author / ownership (who created it, who last touched it)
  • Recency and change history (latest version vs older context)
  • Relationships (what it's linked to: threads, tickets, PRs, documents)
  • Content type (doc vs message vs file vs issue)
  • Query intent (searching for a decision, a status, an action item, etc.)

The practical point: Astell is not just “finding matches.” It's trying to answer:
Which of these sources is most likely to be the correct entry point for what the user is asking?”**

Permission enforcement

Astell Search is permission-aware, meaning it only returns results the user is allowed to access based on the underlying system permissions. This is what makes cross-tool search usable in real organizations: you can search broadly without accidentally leaking restricted content to the wrong person.

In live-fetch systems, each query triggers an agent to crawl multiple apps in real time. That tends to create three problems:

  • Latency: it's slower because every query requires round trips to multiple systems.
  • Variance: results can shift depending on what the agent happens to fetch or miss.
  • Cost: repeated retrieval workflows often trigger repeated model calls.

Astell avoids that by keeping workspace data indexed and context-ready, so search is retrieval-first, not crawling-first.