Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.joggr.ai/llms.txt

Use this file to discover all available pages before exploring further.

Phases are the execution units of a Guided Generative Workflow (GG) project. /gg-plan creates them as the output of the project-level planning stage — by the time a phase exists, the discussion, research, and plan have already happened at the project level. Each phase then moves through its own cycle independently.
Phases are for multi-step projects created with /gg-new. If your change is small and well-scoped (a bug fix, a rename, a config toggle), use /gg-task instead — it runs the full discuss-research-plan-execute-verify pipeline in a single session with a flat task list, no phases or separate phase files.

Phase Lifecycle

1

Scaffold

The phase file is created by /gg-plan with its task list, file targets, and acceptance criteria. The phase exists but no work has started.
2

Execute

/gg-execute groups the phase’s tasks into waves and runs them in parallel. Progress is checkpointed after each wave.
3

Review

Use /gg-review to open the phase plan in a local review UI where you can leave inline annotations and approve or request changes before execution begins.
4

Verify

/gg-verify checks every acceptance criterion for the phase and reports pass/fail results. Criteria are phase-level — they validate the combined output of all tasks in the phase, not individual tasks.
If a phase needs more context before execution, you can re-run /gg-discuss, /gg-research, or /gg-plan against it by passing the phase number — for example, /gg-plan 2 to refine phase 2’s task breakdown.

Tracking Phase State

Each phase tracks two values that together describe its current state:
ConceptValuesDescription
Stepscaffold, discuss, research, plan, execute, verifyWhich stage of the lifecycle the phase is in. Moves forward as you advance through the pipeline.
Statuspending, running, done, error, skipWhether the current step has completed. Resets to pending or running each time the step advances. A phase with skip status is excluded from execution.
For example:
  • plan/done — planning is complete, the phase is ready for execution
  • execute/running — tasks are currently being executed
  • verify/done — the phase has passed verification and is complete
  • execute/error — execution failed and needs attention before continuing
The quickest way to check a phase’s state is to open the phase file directly and look at the frontmatter:
.joggr/.gg/projects/{slug}/phases/{N}-{phase-slug}/phase.md
The step and status fields at the top of the file reflect the current state.
Do not manually edit the step or status fields in the phase frontmatter. Workflows manages these values — editing them directly will put the phase into an inconsistent state.

Dependencies

A phase can depend on other phases. When a phase has dependencies, it is blocked from execution until all of its dependencies reach verify/done or are explicitly skipped. Dependencies are defined in plan.md during the planning stage. They represent ordering constraints — for example, a database schema phase must reach verify/done before an API phase that relies on that schema can begin execution. Workflows enforces dependencies automatically. When you run /gg-execute, it checks whether the phase’s dependencies are satisfied before proceeding. If a dependency is not met, it tells you which phases need to complete first.

Task Structure

Each phase contains a list of tasks — the atomic units of work Workflows executes. Each task has an ID, description, file targets, a check command, and acceptance criteria. See the /gg-plan reference for the full field breakdown.

Wave Grouping

During execution, /gg-execute groups tasks into waves based on their file targets:
  • Tasks that touch different files run in the same wave (parallel)
  • Tasks that touch the same files run in different waves (sequential)
  • Task dependencies from the plan are also respected — if task X depends on task Y, X runs in a later wave
This approach maximizes parallelism while preventing file-level conflicts.

Task Status

Each task tracks its own status independently:
StatusDescription
todoNot yet executed
doneCompleted successfully
skipSkipped by user choice
Task status is visible in the phase.md file alongside each task entry.

Phase Files

Each phase is stored in its own directory under the project:
.joggr/.gg/projects/{slug}/phases/{N}-{phase-slug}/phase.md
The phase file contains the task list, file targets, acceptance criteria, and frontmatter tracking the current step and status. These files are created by /gg-plan and updated by /gg-execute and /gg-verify as the phase progresses.