Lab Notes
Appendix

Appendix C — Data Dictionary

El data dictionary completo — cada field, cada type, cada constraint para las data structures que usa el lab.

Propósito

Este appendix es la referencia canónica para las data structures que usa el lab. Cada typed artifact, cada configuration file, cada log record y cada API request y response está documentado aquí.

El data dictionary es el companion de la página Artifacts y de la página External Providers → Request Journal.

Conventions

  • Los field names van en snake_case.
  • Los fields Required se marcan con R. Los opcionales con O.
  • Los Types son tipos Python Pydantic-compatibles.
  • Las Constraints se documentan cuando existen (min/max, regex, enum).

Research Framework Schemas

Task

La mission task. Producido por F0.

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

ParsedQuery

La mission query estructurada. Parte de Task.

FieldTypeRequiredConstraints
topicstringREl primary research topic.
locationstring | nullOEl target location, si hay.
periodstring | nullOEl target date range o period.
budget_maxfloat | nullOEl maximum budget, si hay.
budget_currencystringRISO 4217 currency code (default EUR).
constraintslist[string]OMission constraints adicionales.

Candidate

Un potential match para una research query. Producido por F1.

FieldTypeRequiredConstraints
idstringRUUID prefix.
namestringRDisplay name.
aliaseslist[string]OAlternative names encontrados.
categorystringRhotel, restaurant, product, etc.
source_idslist[string]RLos Source.id values.
metadataobjectOFields category-specific.
confidencefloatR0.0 a 1.0.

CandidateList

Una lista de candidates. Producida por F1.

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

Source

Una referencia a una URL con metadata. Producido por cada phase que usa un adapter.

FieldTypeRequiredConstraints
idstringRUUID prefix.
titlestringREl source title.
urlstringRLa canonical source URL.
publisherstringREl publisher o host.
phasestringRLa phase que produjo este source.
retrieved_atdatetimeRUTC.

Evidence

Una pieza de evidence que sostiene un finding. Usado a lo largo de las phases.

FieldTypeRequiredConstraints
idstringRUUID prefix.
source_idstringREl Source.id que produjo este evidence.
quotestringREl evidence text.
contextstringOEl context en el que aparece el evidence.
confidencefloatR0.0 a 1.0.

EvidenceBundle

Una colección de evidence items.

FieldTypeRequiredConstraints
mission_idstringR
created_atdatetimeRUTC.
itemslist[Evidence]R

Review

Una review individual.

FieldTypeRequiredConstraints
idstringRUUID prefix.
source_idstringREl Source.id.
authorstringOEl nombre del reviewer (si está disponible).
ratingfloatO0.0 a 5.0.
textstringREl review text.
languagestringRISO 639-1 code.
published_atdatetimeOUTC.
sentimentobjectODistribución positive, neutral, negative.

ReviewSummary

Reviews agregadas. Producidas por F2.

FieldTypeRequiredConstraints
candidate_idstringREl Candidate.id.
total_reviewsintegerRNon-negative.
average_ratingfloat | nullO0.0 a 5.0.
sentimentobjectODistribución de sentiment.
topicslist[object]OCada item: topic, count, sentiment.
sourceslist[Source]RSources usadas para el summary.

PriceSnapshot

Una price observation individual. Producida por F4.

FieldTypeRequiredConstraints
candidate_idstringREl Candidate.id.
pricefloatRPositive.
currencystringRISO 4217.
observed_atdatetimeRUTC.
providerstringREl provider (p. ej., booking.com).
urlstringOLa URL de la price observation.

PriceSeries

Una serie de price observations. Producida por F4.

FieldTypeRequiredConstraints
candidate_idstringREl Candidate.id.
snapshotslist[PriceSnapshot]R
minfloat | nullOMin price.
maxfloat | nullOMax price.
medianfloat | nullOMedian price.
trendstringOup, down, flat, unknown.
sourceslist[Source]RSources usadas para la series.

Transcript

Un video transcript. Producido por Y2.

FieldTypeRequiredConstraints
video_idstringRYouTube video ID.
urlstringRVideo URL.
languagestringRISO 639-1 code.
chunkslist[TranscriptChunk]R
full_textstringRPlain text concatenado.
sourcestringRyoutube_transcript_api o yt_dlp.

TranscriptChunk

Un chunk de un transcript.

FieldTypeRequiredConstraints
start_sfloatRStart time en segundos.
end_sfloatREnd time en segundos.
textstringRChunk text.

PhaseResult

El envelope para cada phase output.

FieldTypeRequiredConstraints
phasestringRPhase identifier (p. ej., f1_candidates).
statusPhaseStatusRLifecycle status.
started_atdatetime | nullOUTC.
ended_atdatetime | nullOUTC.
attemptsintegerODefault 1.
output_artifactslist[string]OArtifact filenames producidos.
errorslist[object]OCada item: code, message, retryable.
metadataobjectOMetadata phase-specific.

PhaseStatus Enum

ValueMeaning
pendingLa phase no ha empezado aún.
runningLa phase se está ejecutando.
succeededLa phase terminó y produjo todos los expected outputs.
succeeded_partialLa phase terminó pero faltan algunos outputs.
failed_retryableLa phase falló pero se puede reintentar.
failed_terminalLa phase falló y no se puede reintentar.
skippedLa phase fue intencionalmente no ejecutada.
blocked_missing_inputLa phase no pudo empezar porque falta un input.
staleEl input de la phase se actualizó después de que corrió.

Mission State (phase.json)

El mission state. Lo escribe el orchestrator después de cada phase.

FieldTypeRequiredConstraints
mission_idstringR
statusstringRrunning, paused, completed, failed.
current_phasestring | nullOLa phase que está corriendo o acaba de terminar.
phasesobjectRKeyed por phase name; cada value es un phase record.
created_atdatetimeRUTC.
updated_atdatetimeRUTC.

Phase Record

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

Request Journal

El request journal record.

FieldTypeRequiredConstraints
tsdatetimeRUTC, ISO 8601 con millisecond precision.
mission_idstringR
phasestringR
adapterstringRtavily, duckduckgo, google_search, youtube_transcript, yt_dlp, perplexity.
actionstringRsearch, transcript, synthesize, etc.
token_namestring | nullOEl name del token usado. Nunca el value.
requestobjectRRedacted si contiene personal data.
response_summaryobjectRstatus, items, duration_ms, etc.
resultstringRsucceeded, failed, partial.
errorstring | nullOError message si result es failed.
costobjectOtokens, usd, etc., si aplica.

Token Pool State

El token pool state record.

FieldTypeRequiredConstraints
namestringREl friendly name del token.
total_requestsintegerRCumulative.
total_errorsintegerRCumulative.
last_errorstring | nullOSanitized error message.
last_success_atdatetime | nullOUTC.
statusstringRactive, quota_exhausted, error.

Coordinator API

La HTTP API del Coordinator. La API completa está en Coordinator → User interface.

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

FieldTypeRequiredConstraints
contentstringREl message del usuario.
attachmentslist[object]OFile attachments opcionales.

Response: 200 OK

FieldTypeRequiredConstraints
request_idstringR
contentstringRLa response del Coordinator.
attachmentslist[object]OFile attachments opcionales.
agent_callslist[object]OLas agent calls que se dispatchearon.

Scout API

La HTTP API del Scout. La API completa está en Research Worker → Configuration.

Request: POST /v1/missions

FieldTypeRequiredConstraints
mission_idstringR
querystringR
configobjectOPer-mission configuration.

Response: 200 OK

FieldTypeRequiredConstraints
mission_idstringR
statusstringRaccepted, rejected.
report_pathstringOPath al report (cuando termina).

Configuration Files

openclaw.json

El 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

El token pool configuration.

FieldTypeRequiredConstraints
providersobjectRKeyed por provider name.
providers.<name>.tokenslist[object]RLos tokens para el provider.
providers.<name>.strategystringRround-robin, weighted-round-robin, least-used, failover.

tools.json

El tool registry para un proyecto.

FieldTypeRequiredConstraints
versionstringRSemantic version.
toolslist[object]RLas tool entries.
tools[].namestringR
tools[].descriptionstringR
tools[].locationstringRPath al entry point de la tool.
tools[].statusstringRready, planned, deprecated.
tools[].capabilitieslist[string]R
tools[].tagslist[string]R

See also