Lab Notes

Research Mission DAG

The directed acyclic graph of phases governing Research Agent mission execution — dependencies, parallelism, and what each phase produces.

Purpose

This page documents the current phase dependency graph (DAG) for research missions. The DAG is the Research Agent's domain-specific execution graph, operating inside the broader OpenClaw mission runtime — it defines the concrete research phases that run within each OpenClaw mission step. The DAG defines which phases must complete before others can start, which phases can run concurrently, and what each phase produces.

Status: Implemented (current DAG operational)

Phase dependency graph

Loading diagram…
Research Agent mission DAG — blue nodes form the parallel group after F1

Phase descriptions

F0: Init

Depends on: nothing (entry point)

Sets up the mission run directory, reads the task definition from task.json, validates the input, and initializes state.json to track progress. No external requests are made at this phase.

F1: Candidates

Depends on: F0

Performs the primary discovery search. Given the task definition, queries configured search adapters and produces a list of candidate items stored as candidates.json. All subsequent phases depend on its output — this is the bottleneck phase.

F2: Reviews (parallel group)

Depends on: F1

Retrieves user reviews, ratings, and critical assessments for each candidate. Results are written as reviews.jsonl — one entry per candidate.

F4: Price Analysis (parallel group)

Depends on: F1

Queries pricing and availability information for each candidate. Results are written as price_analysis.json.

Y1: YouTube URLs (parallel group)

Depends on: F1

Discovers relevant YouTube content (trailers, reviews, coverage) for each candidate. Only collects URLs at this stage — no downloading or transcription.

Y2: Transcript Extract

Depends on: Y1

Retrieves transcripts for the YouTube URLs discovered in Y1. Results are written as youtube_transcripts.json. Sequential because it depends on Y1's output.

F6: Final Report

Depends on: F2, F4, Y2

Aggregates all available artifacts from the parallel group and Y2 into a structured Markdown report (final_report.md). If any upstream phase failed partially, F6 reports on what is available and notes any gaps.

Parallelism

F2, F4, and Y1 are independent of each other and can execute concurrently after F1 completes. The current implementation treats them as a parallel group. Y2 must wait for Y1; F6 must wait for F2, F4, and Y2.

Dependency summary

PhaseDepends onProduces
F0—state.json initialized
F1F0candidates.json
F2F1reviews.jsonl
F4F1price_analysis.json
Y1F1YouTube URLs (tracked in state)
Y2Y1youtube_transcripts.json
F6F2, F4, Y2final_report.md

A current limitation

The current DAG is designed for structured discovery research (candidates, reviews, pricing, transcripts). It does not yet support research domains requiring different phase structures — academic literature review, technical documentation scraping, structured database queries, or multi-hop reasoning chains. Extending the DAG to support configurable domain-specific phase graphs is planned.

→ OpenClaw Framework Overview — the mission runtime this DAG runs inside
→ Research Framework — full pipeline and component overview → Research Artifacts — artifact files and lifecycle → Research Agent — agent overview