Lab Notes
Appendix

Appendix C — Data Dictionary

The complete data dictionary — every field, every type, every constraint for the data structures used in the lab.

Purpose

This appendix is the canonical reference for the data structures used in the lab. Every typed artifact, every configuration file, every log record, and every API request and response is documented here.

The data dictionary is the companion to the Artifacts page and the External Providers → Request Journal page.

Conventions

  • Field names are in snake_case.
  • Required fields are marked with R. Optional fields are marked with O.
  • Types are Pydantic-compatible Python types.
  • Constraints are documented when they exist (min/max, regex, enum).

Research Framework Schemas

Task

The mission task. Produced by F0.

FieldTypeRequiredConstraints
mission_idstringRUUID prefix or stable identifier.
raw_querystringRThe original user query, verbatim.
parsedParsedQueryR
created_atdatetimeRUTC.
configobjectOPer-mission configuration.

ParsedQuery

The structured mission query. Part of Task.

FieldTypeRequiredConstraints
topicstringRThe primary research topic.
locationstring | nullOThe target location, if any.
periodstring | nullOThe target date range or period.
budget_maxfloat | nullOThe maximum budget, if any.
budget_currencystringRISO 4217 currency code (default EUR).
constraintslist[string]OAdditional mission constraints.

Candidate

A potential match for a research query. Produced by F1.

FieldTypeRequiredConstraints
idstringRUUID prefix.
namestringRDisplay name.
aliaseslist[string]OAlternative names found.
categorystringRhotel, restaurant, product, etc.
source_idslist[string]RThe Source.id values.
metadataobjectOCategory-specific fields.
confidencefloatR0.0 to 1.0.

CandidateList

A list of candidates. Produced by F1.

FieldTypeRequiredConstraints
mission_idstringR
created_atdatetimeRUTC.
candidateslist[Candidate]R
sourceslist[Source]R

Source

A reference to a URL with metadata. Produced by every phase that uses an adapter.

FieldTypeRequiredConstraints
idstringRUUID prefix.
titlestringRThe source title.
urlstringRThe canonical source URL.
publisherstringRThe publisher or host.
phasestringRThe phase that produced this source.
retrieved_atdatetimeRUTC.

Evidence

A piece of evidence supporting a finding. Used across phases.

FieldTypeRequiredConstraints
idstringRUUID prefix.
source_idstringRThe Source.id that produced this evidence.
quotestringRThe evidence text.
contextstringOThe context in which the evidence appears.
confidencefloatR0.0 to 1.0.

EvidenceBundle

A collection of evidence items.

FieldTypeRequiredConstraints
mission_idstringR
created_atdatetimeRUTC.
itemslist[Evidence]R

Review

A single review.

FieldTypeRequiredConstraints
idstringRUUID prefix.
source_idstringRThe Source.id.
authorstringOThe reviewer's name (if available).
ratingfloatO0.0 to 5.0.
textstringRThe review text.
languagestringRISO 639-1 code.
published_atdatetimeOUTC.
sentimentobjectOpositive, neutral, negative distribution.

ReviewSummary

Aggregated reviews. Produced by F2.

FieldTypeRequiredConstraints
candidate_idstringRThe Candidate.id.
total_reviewsintegerRNon-negative.
average_ratingfloat | nullO0.0 to 5.0.
sentimentobjectOSentiment distribution.
topicslist[object]OEach item: topic, count, sentiment.
sourceslist[Source]RSources used for the summary.

PriceSnapshot

A single price observation. Produced by F4.

FieldTypeRequiredConstraints
candidate_idstringRThe Candidate.id.
pricefloatRPositive.
currencystringRISO 4217.
observed_atdatetimeRUTC.
providerstringRThe provider (e.g., booking.com).
urlstringOThe URL of the price observation.

PriceSeries

A series of price observations. Produced by F4.

FieldTypeRequiredConstraints
candidate_idstringRThe Candidate.id.
snapshotslist[PriceSnapshot]R
minfloat | nullOMin price.
maxfloat | nullOMax price.
medianfloat | nullOMedian price.
trendstringOup, down, flat, unknown.
sourceslist[Source]RSources used for the series.

Transcript

A video transcript. Produced by Y2.

FieldTypeRequiredConstraints
video_idstringRYouTube video ID.
urlstringRVideo URL.
languagestringRISO 639-1 code.
chunkslist[TranscriptChunk]R
full_textstringRConcatenated plain text.
sourcestringRyoutube_transcript_api or yt_dlp.

TranscriptChunk

A chunk of a transcript.

FieldTypeRequiredConstraints
start_sfloatRStart time in seconds.
end_sfloatREnd time in seconds.
textstringRChunk text.

PhaseResult

The envelope for every phase output.

FieldTypeRequiredConstraints
phasestringRPhase identifier (e.g., f1_candidates).
statusPhaseStatusRLifecycle status.
started_atdatetime | nullOUTC.
ended_atdatetime | nullOUTC.
attemptsintegerODefault 1.
output_artifactslist[string]OArtifact filenames produced.
errorslist[object]OEach item: code, message, retryable.
metadataobjectOPhase-specific metadata.

PhaseStatus Enum

ValueMeaning
pendingThe phase has not started yet.
runningThe phase is currently executing.
succeededThe phase completed and produced all expected outputs.
succeeded_partialThe phase completed but some outputs are missing.
failed_retryableThe phase failed but can be retried.
failed_terminalThe phase failed and cannot be retried.
skippedThe phase was intentionally not executed.
blocked_missing_inputThe phase could not start because an input is missing.
staleThe phase's input was updated after the phase ran.

Mission State (phase.json)

The mission state. Written by the orchestrator after every phase.

FieldTypeRequiredConstraints
mission_idstringR
statusstringRrunning, paused, completed, failed.
current_phasestring | nullOThe phase that is running or just completed.
phasesobjectRKeyed by phase name; each value is a phase record.
created_atdatetimeRUTC.
updated_atdatetimeRUTC.

Phase Record

FieldTypeRequiredConstraints
statusPhaseStatusR
started_atdatetime | nullOUTC.
ended_atdatetime | nullOUTC.
attemptsintegerODefault 1.
output_artifactslist[string]OArtifact filenames produced.
errorobjectOcode, message, retryable.

Request Journal

The request journal record.

FieldTypeRequiredConstraints
tsdatetimeRUTC, ISO 8601 with millisecond precision.
mission_idstringR
phasestringR
adapterstringRtavily, duckduckgo, google_search, youtube_transcript, yt_dlp, perplexity.
actionstringRsearch, transcript, synthesize, etc.
token_namestring | nullOThe name of the token used. Never the value.
requestobjectRRedacted if it contains personal data.
response_summaryobjectRstatus, items, duration_ms, etc.
resultstringRsucceeded, failed, partial.
errorstring | nullOError message if result is failed.
costobjectOtokens, usd, etc., if applicable.

Token Pool State

The token pool state record.

FieldTypeRequiredConstraints
namestringRThe token's friendly name.
total_requestsintegerRCumulative.
total_errorsintegerRCumulative.
last_errorstring | nullOSanitized error message.
last_success_atdatetime | nullOUTC.
statusstringRactive, quota_exhausted, error.

Coordinator API

The Coordinator's HTTP API. The full API is in Coordinator → User interface.

Request: POST /v1/session/<id>/message

FieldTypeRequiredConstraints
contentstringRThe user's message.
attachmentslist[object]OOptional file attachments.

Response: 200 OK

FieldTypeRequiredConstraints
request_idstringR
contentstringRThe Coordinator's response.
attachmentslist[object]OOptional file attachments.
agent_callslist[object]OThe agent calls that were dispatched.

Scout API

The Scout's HTTP API. The full API is in Research Worker → Configuration.

Request: POST /v1/missions

FieldTypeRequiredConstraints
mission_idstringR
querystringR
configobjectOPer-mission configuration.

Response: 200 OK

FieldTypeRequiredConstraints
mission_idstringR
statusstringRaccepted, rejected.
report_pathstringOPath to the report (when complete).

Configuration Files

openclaw.json

The main configuration file. Sanitized example:

{
  "agents": {
    "defaults": {
      "workspace": "{workspace-root}",
      "model": {
        "primary": "minimax-portal/MiniMax-M3"
      },
      "heartbeat": {
        "every": "30m",
        "timeoutSeconds": 120,
        "lightContext": true,
        "isolatedSession": true
      }
    },
    "list": [
      {
        "id": "main",
        "workspace": "{workspace-root}",
        "model": {
          "primary": "minimax-portal/MiniMax-M3"
        }
      },
      {
        "id": "scout",
        "workspace": "{workspace-root-scout}",
        "model": {
          "primary": "minimax-portal/MiniMax-M3"
        }
      }
    ]
  }
}

token_pool_config.json

The token pool configuration.

FieldTypeRequiredConstraints
providersobjectRKeyed by provider name.
providers.<name>.tokenslist[object]RThe tokens for the provider.
providers.<name>.strategystringRround-robin, weighted-round-robin, least-used, failover.

tools.json

The tool registry for a project.

FieldTypeRequiredConstraints
versionstringRSemantic version.
toolslist[object]RThe tool entries.
tools[].namestringR
tools[].descriptionstringR
tools[].locationstringRPath to the tool's entry point.
tools[].statusstringRready, planned, deprecated.
tools[].capabilitieslist[string]R
tools[].tagslist[string]R

See also