Methodology

How we calculate your scores.

Glia Quest produces two metrics: a Navigation Coverage Score and a Quality Rating. Both are deterministic. Both are reproducible. This page documents exactly how each is calculated — every input, every rule, every threshold.

We believe testing metrics should be verifiable, not proprietary. If you disagree with a rule or a threshold, you should be able to point to the specific definition and explain why.

Navigation Coverage Score (0–100%)

What it measures

The percentage of your application's declared pages that are reachable through normal navigation.

How it works

The score has two inputs:

Your sitemap is the declaration. Glia Quest fetches your robots.txt, follows sitemap directives, and collects every URL your application declares. URLs are filtered to same-origin HTML pages — images, PDFs, XML feeds, and API endpoints are excluded. This produces the denominator.

The AI agent is the test. Starting from your entry URL, the agent navigates your application by clicking links, expanding menus, following navigation items, and interacting with the UI exactly as a user would. Every page it reaches is recorded. This produces the numerator.

The score is: (pages reached by navigation ÷ pages declared in sitemap) × 100.

Score interpretation

  • 100% — every page your sitemap declares is reachable through normal navigation.
  • 80–99% — most pages are reachable; a small number have no inbound navigation path.
  • 60–79% — significant portions of your application are invisible to normal navigation.
  • Below 60% — a majority of your declared pages cannot be reached by clicking.

What if there is no sitemap?

If no sitemap is found, the score falls back to discovery-only mode. The denominator becomes the total pages discovered by the AI agent during the crawl. The report notes that no sitemap was detected and recommends adding one for the most accurate measurement.

What about authenticated pages?

When you provide a credential profile, the agent logs in before beginning the crawl. The sitemap is fetched separately (with credentials if required). The score measures reachability within the authenticated session — what can a logged-in user reach?

Quality Rating (A–F)

What it measures

The percentage of reachable pages that pass all five automated quality checks.

Grade thresholds

  • A — 90% or more of reachable pages pass all checks.
  • B — 75% to 89%.
  • C — 60% to 74%.
  • D — 40% to 59%.
  • F — below 40%.

The five checks

Each check is deterministic — no AI interpretation, no subjective judgement. A page either passes or fails each check.

Check 1: Page completeness

Rule: the page must have a non-empty document.title that is not a generic default ('React App', 'Untitled', 'Home', or a title that exactly matches the URL path).

Detection: DOM read of document.title after page load.

Why: a page with no title or a default title is an incomplete deployment. The route was created but the page was never finished.

Check 2: Sensitive data exposure

Rule: the rendered page text and selected attribute values must not contain patterns matching API keys (sk_, pk_, api_, key_ prefixes), JWT tokens (eyJ... pattern), or UUIDs adjacent to credential labels ('token:', 'key:', 'secret:', 'api-').

Detection: regex scan of visible text nodes and selected attributes, with context filtering to exclude React component keys, CSS-in-JS class hashes, and data table row IDs.

Why: credentials and secrets visible in the rendered DOM are a security concern regardless of authentication state.

Check 3: Non-production domain references

Rule: the rendered page text must not contain references to domains on the customer's blocklist (e.g., localhost, staging.example.com, *.local).

Detection: string matching against a customer-provided blocklist. If no blocklist is provided, this check is skipped.

Why: environment-specific strings leaking into production are common in multi-environment deployments and invisible to functional tests.

Check 4: Navigation component integrity

Rule: the page must contain at least one navigation landmark (nav element with aria-label, role='navigation', or a configurable selector).

Detection: accessibility tree inspection — the agent already reads the accessibility tree for navigation discovery, so this check validates existing data.

Why: a page that renders with no navigation component is technically reachable but functionally broken for onward discovery.

Check 5: Cross-locale script mismatch

Rule: when the page URL contains a locale segment (e.g., /en/, /zh/), the rendered text must not contain characters from an unexpected script — CJK characters on a Latin-locale page, or Latin-only text on a CJK-locale page.

Detection: Unicode range regex per locale URL segment.

Why: wrong-language text on a locale-designated page indicates a translation pipeline or locale routing failure.

How pages are classified

Every scan produces four lists. The classification is deterministic.

Reachable

Definition: in the sitemap AND reached by the AI agent through navigation.

Navigation Map colour: green.

Interpretation: this page is discoverable by your users through normal clicking.

Reachable-by-URL-only

Definition: in the sitemap, NOT reached by navigation, AND responds with HTTP 200 when fetched directly.

Navigation Map colour: amber/grey.

Interpretation: this page exists and works, but no navigation path leads to it. Your users will never find it by clicking.

Dead routes

Definition: in the sitemap, NOT reached by navigation, AND responds with HTTP 404 or 5xx when fetched directly.

Navigation Map indicator: crossed-out node.

Interpretation: your sitemap declares this page exists, but it does not. The sitemap entry is stale.

Undeclared routes

Definition: reached by navigation, NOT in the sitemap.

Navigation Map indicator: dotted outline.

Interpretation: the AI agent found this page by clicking, but your sitemap does not list it. This is an orphan page, a forgotten admin route, or a dynamic path your sitemap generator missed.

Methodology version

This methodology is version 1.0, effective April 2026. When rules, thresholds, or check definitions change, the version number increments and this page is updated with the changes.

Run a scan against your application.

Free preview. No credit card. We email you the report when Glia Quest goes live.

Preview audits use shared infrastructure · 50 pages max · results in ~60s