Skip to content

Trajectory reference

Trajectory create request fields, modes, strategies, resource shape, agent policy snapshot, replay payload, and the ATIF format.

Every field the control plane knows about a trajectory. For outcome-forward guidance, see Trajectories and Agent-mode trajectories.

POST /org/{org}/ws/{workspace}/worlds/trajectories

FieldTypeDefaultNotes
manifest_idUUIDRequired. The completed manifest to sample against.
namestring or nullnullDisplay name for the trajectory batch.
project_idUUID or nullmanifest’s projectMust match parent manifest.
goalstring"Domain Admins"Natural-language target.
countint11–100 trajectories per job.
strategystrategy enum"random"See Strategies.
max_stepsint1001–1,000 steps per trajectory.
seedint42Deterministic seed.
threadsint11–16 parallel workers inside the Worlds backend.
only_successfulboolfalseDiscard trajectories that didn’t satisfy the goal.
modemode enum"kali"See Modes.
runtime_idUUID or nullnullRequired with mode=agent.
capability_namestring or nullnullRequired with mode=agent.
agent_namestring or nullnullSelect one agent from the capability.
modeDescription
kaliDeterministic Kali-flavored algorithmic sampler.
c2Command-and-control flavored algorithmic sampler.
agentRuns a capability-bound agent from a specified runtime. Requires runtime_id + capability_name.
strategyBehavior
randomUniform random over applicable commands.
greedyPrefer commands that advance the goal.
recon-firstEnumerate early, exploit later.
smart-randomWeighted random biased toward productive commands.

GET /org/{org}/ws/{workspace}/worlds/trajectories/{trajectory-id} returns:

FieldTypeNotes
idstringTrajectory UUID.
manifest_idstringParent manifest.
organization_idstring
workspace_idstring
created_bystring or nullUser ID.
project_idstring or null
source_job_idstring or nullThe trajectory_generation job that produced this trajectory.
sequence_indexint ≥ 0Position within the batch when count > 1.
namestring or nullBatch display name.
goalstring
strategystrategy enum
seedint
max_stepsint ≥ 1
successbool or nullNull while running or when unknown.
termination_reasonstring or nullBackend-defined; not enumerated on the control plane.
step_countint ≥ 0
summaryobjectRedacted summary — see Credential redaction.
artifact_refsobjectPaths to stored step records and training datasets.
created_atISO 8601 string

Attached to the trajectory job when mode=agent. Fields:

FieldTypeNotes
runtime_idUUIDThe runtime resolved at submission.
runtime_digeststringPinned runtime content hash.
capability_namestring
capability_versionstring
capability_artifact_digeststringCapability bundle hash.
capability_runtime_digeststringHow the capability resolved on the runtime.
agent_namestring or nullNamed agent inside the capability, if selected.

Snapshots are immutable once the job is submitted. See Agent-mode trajectories for why.

Trajectory summaries strip password and hash fields from initial_state.credentials before leaving the control plane. username and domain are preserved so identity context is readable. This applies to every summary surface — trajectory list, trajectory get, replay payload’s initial_state.

GET /org/{org}/ws/{workspace}/worlds/trajectories/{trajectory-id}/replay returns:

FieldTypeNotes
idstringTrajectory UUID.
source_formatraw, atif, or worldsWhich source produced this replay.
goalstring
successbool or null
termination_reasonstring or null
step_countint ≥ 0
session_idstring or null
backend_trajectory_idstring or nullWorlds backend identifier.
goal_specstring or nullOriginal goal specification.
initial_stateobject or nullRedacted initial state.
node_namesobjectMap from node ID → {name, node_type}.
artifact_sourcestringProvenance of the artifacts dereferenced for this payload.
stepslist of step objectsSee below.
FieldTypeNotes
step_numberint ≥ 0
sourcestring"worlds" by default; backend-extended for agent-mode.
messagestring or nullHuman-readable step message.
commandstring or nullFull command text invoked.
command_namestring or nullShort command identifier.
exit_codeint or null
stdoutstring or null
stderrstring or null
outputstring or nullCombined output when stdout/stderr aren’t separated.
technique_typestring or nullCategorization (e.g. credential access).
failedbool or nullStep-level failure flag.
failure_reasonstring or null
targetobject or nullStructured target descriptor.
state_beforeobject or nullAttacker-visible state snapshot before the step.
state_afterobject or nullSnapshot after the step.
temporalobject or nullStep timing metadata.
detailsobjectAny step-specific structured data.

Trajectory datasets are stored in ATIF (Agent Trajectory Interchange Format). The SDK reads ATIF directly via dreadnode.training.etl.worlds.

FieldNotes
schema_versionATIF version.
session_idUnique session identifier.
agent{name, version, model_name}.
extra{goal, initial_state} — see below.
stepsList of AtifStep.
trajectory_idTrajectory UUID.
seedGeneration seed.
successBoolean.
termination_reasonString or null.
step_countInteger.
worlds_summaryDenormalized trajectory summary for convenience.
FieldNotes
goal{target_type, target_name, description}.
initial_state{host, principal, domain, credentials[]}. Credentials are redacted — username and domain only.
FieldNotes
step_idInteger step number.
source"user", "agent", or "system".
messageHuman-readable message.
reasoning_contentPreserved assistant reasoning.
tool_callsList of {tool_call_id, function_name, arguments}.
observation{results[]} where each result is {source_call_id, tool_call_id, content, is_error}.

Agent-mode trajectories can also be stored as AgentTrainingRecord — an OpenAI-compatible shape:

FieldNotes
messagesList of {role, content, tool_calls?, tool_call_id?}. Role is system, user, assistant, or tool.
toolsExtracted tool schemas for the run.
metadataFree-form run metadata.

SDK helpers like load_sft_conversations_from_worlds_dataset and load_rl_prompt_rows_from_worlds_dataset normalize both formats.

EndpointRequired scope
All GET routesWORLDS_READ
POST /trajectories, POST /jobs/{id}/cancelWORLDS_WRITE