Skip to content

Runtime V2: task with zero parseable '### Step' headings is falsely marked succeeded (lane-runner writes .DONE, skips worker) #614

Description

@HenryLach

Summary

A task whose PROMPT.md has zero parseable ### Step headings is silently marked succeeded: the lane-runner writes a .DONE and skips the worker entirely, producing a false completion. With integration: auto, this false success then auto-integrated an empty change into the target branch.

Severity

P0 — data-integrity / correctness. "Succeeding" work that never ran is the worst failure mode; it corrupts the task ledger and (with auto-integration) contaminates the base branch.

Repro

  1. Create a task whose PROMPT.md uses ## Step N: (h2) headings instead of ### Step N: (h3). The step parser keys off ### Step (h3), so it finds no steps.
  2. taskplane doctor passes (see companion issue on the doctor gap).
  3. /orch <that-task>.

Observed

  • Batch reports 1/1 succeeded in ~26ms; costUsd: 0, toolCalls: 0, worker elapsedMs: 0; no worker agent runtime dir is ever created.
  • STATUS.md untouched (0/N checkboxes, "Not Started"), yet Status: ✅ Complete and a .DONE are written.
  • Engine stderr (verbatim):
lane-1/<TASK>: committed task artifacts to lane branch (... checkpoint: <TASK> task artifacts (.DONE, STATUS.md))
monitor/ALL: poll #1: 1/1 done, 0 failed, 0 active lane(s)
  • Diagnostic event: "exitReason": ".DONE file created by lane-runner", "durationSec": 0.

Expected

A task with zero parseable executable steps must hard-fail (or refuse to launch), never be marked complete. The lane-runner should not fabricate a .DONE when the worker never ran / no steps were parsed.

Impact amplifier

Because the false lane completion is counted as succeeded, integration: auto fast-forwarded the (empty) result into develop. Two consecutive runs each contaminated the base branch; recovery required a manual git reset --hard.

Environment

Taskplane 0.30.4, Runtime V2 backend, Windows, Pi 0.80.x. Real incident: Penster batches 20260719T113031 and 20260719T113450 (task TP-208, PROMPT authored with ## Step headings).

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions