Journey JSON and Tester Profiles
Journey authoring is split between tester profiles and user journeys.
Tester Profiles
A tester profile defines the perspective the agent should use. It includes:
id,name,role, andperspective;- optional
permissions,goals,constraints, andnotes.
Profiles should describe realistic user permissions and constraints rather than implementation knowledge. Starter profiles generated by the CLI instruct the tester to use only the normal app UI.
User Journeys
A user journey defines:
id,title, optionaltags, and optionalquarantined;app.name,app.baseUrl, and optionalapp.allowedOrigins;testerProfile;objective, optionalpreconditions, and optional data;- one or more
tasks; - one or more
passCriteria; - one or more
failCriteria; - optional
blockerCriteria; - optional evidence requirements, browser environment, data lifecycle, and
riskLevel.
riskLevel defaults to read-only and can also be writes-test-data or destructive. Destructive journeys need explicit disposable-data and cleanup guidance so the agent can stop before unsafe work.
Criteria and Evidence
Pass, fail, and blocker criteria are explicit statements with stable ids. Criteria can require evidence such as video timestamps, screenshots, snapshots, URLs, agent observations, console captures, network captures, or UI-change timelines.
Agents finish by returning criteria assessments. Each assessment says whether a criterion was met, not-met, blocked, or not-observed, and can attach evidence references.
Authoring Commands
Use journeytest init for a starter tree. Use journeytest new for one profile or journey at a time. Use journeytest draft journey when structured flags or a local JSON draft should be normalized into schema-valid journey JSON. Use journeytest schema, journeytest lint, and journeytest validate before running authored journeys.
Companion Skill
The package includes skills/journeytest-author so agents can create higher quality tester profiles and journey files using the same schema vocabulary as the CLI. See Agent Skills for installation and sync commands.