Skip to content

[Feature] Doc-only / single-task epics: simpler lifecycle gating or 'doc' kind that skips stage requirements #494

@kryptobaseddev

Description

@kryptobaseddev

Feature Request

Summary

Epics block child-task cleo complete until the parent epic's pipeline
stage has advanced past research → consensus → architecture_decision → specification → decomposition into implementation (or later). For pure
documentation work (e.g. scaffolding a project repo, writing ADRs,
writing runbooks) this stage progression is ceremony that doesn't reflect
the actual work.

Today the only workaround is calling cleo lifecycle skip <epicId> <stage> --reason "..." four times (consensus, architecture_decision,
specification, decomposition), then cleo lifecycle start <epicId> implementation. That's 5 extra CLI invocations per doc epic just to
unlock child completion.

Repro

Tested with cleo lifecycle v2026.5.100 on 2026-05-22.

# 1. Start a session and create a docs-only epic + children
cleo session start --scope global --name "docs-epic-repro"
cleo add --type epic \
  --title "Doc-only epic" \
  --description "Write some docs." \
  --acceptance "Doc A exists|Doc B exists|Index updated"
# -> creates T###  pipelineStage=research

cleo add --type task --parent T### \
  --title "Write doc A" \
  --description "..." \
  --acceptance "ac1|ac2|ac3"

# 2. Do the work + verify gates with real evidence
git init -b main && touch A.md && git add A.md \
  && git commit -m "add A.md"
SHA=$(git rev-parse HEAD)
cleo verify <childId> --gate implemented --evidence "commit:${SHA};files:A.md"
cleo verify <childId> --gate testsPassed --evidence "tool:test"
cleo verify <childId> --gate qaPassed   --evidence "tool:build"

# 3. Try to complete child
cleo complete <childId>

Observed

E_LIFECYCLE_GATE_FAILED
Task <childId> cannot complete: parent epic T### is still in 'research'
stage. Advance the epic past decomposition before completing children.
Required stages: ["implementation","validation","testing","release"]

Workaround (currently required)

cleo lifecycle skip T### consensus              --reason "docs-only"
cleo lifecycle skip T### architecture_decision  --reason "docs-only"
cleo lifecycle skip T### specification          --reason "docs-only"
cleo lifecycle skip T### decomposition          --reason "docs-only"
cleo lifecycle start T### implementation
# Now `cleo complete <childId>` succeeds.

Expected

One of:

  1. Auto-skip for --kind work epics that have no children awaiting
    research/architecture artifacts.
    If the epic has child tasks that
    are already pending/in_progress with evidence captured, the
    lifecycle stage shouldn't block completion.

  2. New --kind docs (or label='docs') for epics that opts into a
    simplified lifecycle (research+implementation only). Mirrors the
    pattern of project-context primaryType=docs which already
    short-circuits tool:test and tool:lint evidence requirements.

  3. cleo lifecycle fast-forward <epicId> <target-stage> that skips
    all intermediate stages in one call, with a single reason. Strictly
    less ceremony than 5 individual subcommands.

Why this matters

This session built /mnt/projects/proxmox/ (a Proxmox SSoT repo —
~1,600 lines of docs across 8 ADRs, 5 runbooks, an inventory snapshot,
and a profile YAML) as a 7-child epic in cleo. Every child task hit the
same lifecycle wall and required the 5-command skip dance. That's
correct for a code project with real specification work; for docs,
the stages aren't real.

Adjacent issue (worth tracking together)

Cleo's evidence model on testsPassed/qaPassed gates rejects
override-only evidence (T9245). For docs-only projects with no real test
suite, the current workaround is setting testing.command / build.command
/ lint.command to \"true\" in .cleo/project-context.json so
tool:test / tool:build evidence trivially passes. The new --kind docs proposed above could also automatically resolve these tool
references to true rather than requiring user-side config plumbing.

Environment

cleo: 2.6.0 (CLI dispatch)
node: lifecycle v2026.5.100
OS: Fedora 43 (Linux 6.19.14)
project-context: primaryType=docs, all tool commands set to "true"

Area: task-lifecycle

Are you using an AI agent?

Yes - AI agent filed this issue


Environment

Component Version
CLEO unknown
Node.js v24.13.1
OS linux 6.19.14-200.fc43.x86_64 x64 (x64)
Shell /bin/bash
gh CLI gh version 2.87.3 (2026-02-23)
Install /home/keatonhoskins/.npm-global/bin/cleo

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions