-
## Objective — self-contained restatement of the task goal. A reader must understand the goal
without opening any other file. Include success criteria.
-
## Task Requirement Checklist — quote the operative task text verbatim, then list every
concrete requirement as a separate REQ-* item. For each item, state which step(s) will
satisfy it and what evidence will prove completion.
-
## Approach — technical approach grounded in research findings. Repeat the key findings that
inform the approach — do not just reference research files. Briefly note alternatives
considered and why they were rejected. Include the recommended task type(s) from
meta/task_types/ and explain how the type-specific Planning Guidelines influenced the
approach. If the task's task_types field was empty in task.json, state the recommended
types here so the orchestrator or human can update task.json.
-
## Cost Estimation — itemized dollar amounts. $0 is valid but must be stated with reasoning.
Compare against project budget.
-
## Step by Step — numbered steps. Each step must name:
-
Specific files to create or modify (e.g., code/extract.py)
-
Inputs each step reads and outputs it produces
-
Libraries to import with full import paths
-
Code to copy from prior tasks with source file paths
-
Expected observable output (what to see when it works)
-
The REQ-* items it satisfies
-
For answer-question tasks, the exact assets/answer/<answer_id>/ folders to produce and the
evidence sources each answer will cite
-
For correction tasks, the exact correction files to create, the target artifact IDs, whether
replacement assets must also be created in the current task, and how aggregator output will
confirm the correction. For complex tasks, group steps into milestones. Each milestone should
be independently verifiable — the agent can confirm that milestone is done before proceeding.
Steps should be idempotent where possible (safely re-runnable). For risky steps, include
recovery instructions.
-
For each applicable registered metric identified in Phase 1 step 7, the Step by Step section
must include a concrete measurement action: which step measures it, what raw values are
collected, and how they are written to results/metrics.json. If a metric seems applicable but
cannot be measured (e.g., inference time when predictions are backfilled from a prior task),
state this explicitly in the plan so the omission is deliberate rather than accidental. When
the plan includes writing metrics.json, specify which format to use (legacy flat or explicit
variant). If the task compares multiple conditions, use the explicit variant format. Read
arf/specifications/metrics_specification.md for the exact structure — do NOT invent a format.
-
Validation gates for expensive operations: If a step runs inference, trains a model, calls
paid APIs, or processes data at scale (more than 100 items), the step must include:
-
The trivial baseline to compare against (e.g., majority class for classification, frequency
heuristic for tagging, random for retrieval). Name the specific number.
-
A --limit setting for the initial validation run (typically 10-20 instances).
-
An explicit failure condition: "if result is at or below [baseline], STOP and debug
individual predictions — do not proceed to full scale." Use the baseline as the threshold,
not an arbitrary lower number.
-
An individual-output inspection requirement: "after the small run, read 5 individual
predictions and verify the input was correctly formatted, the model's response is reasonable,
and the scoring logic is correct for each case."
-
## Remote Machines — compute requirements or "None required" with reasoning.
-
## Assets Needed — input assets with sources (dependency tasks, external URLs).
-
## Expected Assets — output assets matching task.json expected_assets.
-
## Time Estimation — per-phase wall-clock estimates.
-
## Risks & Fallbacks — table with at least 2 rows. Use pre-mortem thinking: imagine the task
has failed, then list what went wrong and how to prevent it.
-
## Verification Criteria — at least 3 testable bullet points. Each criterion must include the
exact command to run and the expected output. "Verificator passes" is a valid criterion only if
the specific verificator command is named. Include at least one criterion that explicitly
checks requirement coverage.