Explore
Namespace: E2E
public static class ExploreAn exploration: a run whose one test is a goal. The config is loaded as a test run loads it, the exploration body runs as the run’s only test, and within that test alone the explorer takes the place of the agent the run uses. The exploration’s progress reaches OnProgress, and its record is Explore.
Inheritance: object
Fields
Section titled “Fields”DefaultGoal
Section titled “DefaultGoal”public const string DefaultGoal = "Explore the app and find bugs"The goal when none is given.
Value: string
MaxGoalChars
Section titled “MaxGoalChars”public const int MaxGoalChars = 2000The most characters a goal may have once its secret values are redacted.
Value: int
Properties
Section titled “Properties”StepBounds
Section titled “StepBounds”public static ExploreBounds<int> StepBounds { get; }Exploration steps per run: breadth first, and diminishing returns come fast.
Value: ExploreBounds<int>
TimeoutBounds
Section titled “TimeoutBounds”public static ExploreBounds<TimeSpan> TimeoutBounds { get; }The run’s wall clock: three to fifteen minutes.
Value: ExploreBounds<TimeSpan>
Methods
Section titled “Methods”ExploreAsync(ExploreOptions, CancellationToken)
Section titled “ExploreAsync(ExploreOptions, CancellationToken)”public static Task<ExploreOutcome> ExploreAsync(ExploreOptions options, CancellationToken cancellationToken = default)Runs one exploration and returns the outcome with the exploration record. The config is resolved once here, with the agent
Agent names, so the target, the agent the explorer is built from, and the credential inventory are
what the run uses; a config that does not resolve, an unknown agent, or an unknown target is an error before anything starts,
as a bad flag is. A step the app or the model fails is not thrown: it ends the run, and the outcome carries the error. A failure of closing the attempt (the engine’s finish hook) is not thrown either: it joins the outcome as a cleanup error, and its exit code (3 for an engine failure) outranks a verdict’s 1, as a run’s run errors do.
A cancelled <code class=“paramref”>cancellationToken</code> throws OperationCanceledException; the run’s own timeout ends it as an outcome whose error is CANCELLED.
Parameters
| Name | Type | Description |
|---|---|---|
options |
ExploreOptions | |
cancellationToken |
CancellationToken |
Returns: Task<ExploreOutcome>