Skip to content

Explore

Exploration Modes

The explore tool supports three modes for different use cases:

Discovery Mode (mode: "discover")

Purpose: Build the navigation graph from scratch by discovering new screens and transitions.

Behavior: - Heavily favors novel elements and unexplored areas - Prioritizes coverage over validation - Records new screens and transitions as they’re discovered - Best for initial app exploration

Validate Mode (mode: "validate")

Purpose: Navigate through a known navigation graph to verify it matches current app behavior.

Behavior: - Requires an existing navigation graph - Systematically traverses all known edges in the graph - Validates that each navigation transition still works as recorded - Fails with detailed error if app diverges from known graph - Records edge validation results (success/failure, confidence scores) - Provides graph traversal metrics (edges traversed, nodes visited, coverage %)

Use Cases: - Regression Testing: Verify navigation paths still work after code changes - State Verification: Navigate to specific screens to verify UI/functionality - Performance Testing: Measure navigation performance across known routes - Graph Quality Assessment: Validate graph accuracy and identify stale edges

Validation Results:

{
  graphTraversal: {
    nodesVisited: number,
    totalNodes: number,
    edgesTraversed: number,
    totalEdges: number,
    edgeValidationResults: EdgeValidationResult[],
    coveragePercentage: number
  }
}

Edge Validation: Each edge traversal records: - Success/failure of the navigation - Expected vs actual destination - Element matching confidence - Error details if validation failed

Hybrid Mode (mode: "hybrid")

Purpose: Balance between discovery and validation.

Behavior: - Uses known graph when available but allows discovery - Balances navigation score, novelty, and coverage equally - Suitable for general exploration of partially-known apps