Skip to content

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

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

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

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