Skip to content

Local-Private Happy Path

Use this flow when the task starts as a local record under flow/state/tasks/.

Terminal window
wap-flow install-hooks
wap-flow task local init --key <task-key> --title "<title>" --spec <path> --objective "<objective>" --scope-in "<in>" --scope-out "<out>" --acceptance "<criterion>" --validation "<command or evidence>"
wap-flow start --task local:<task-key> --spec <path>
wap-flow plan record --summary "<summary>" --step "<step>" --step "<step>"
wap-flow check
wap-flow inspect issue
wap-flow complete --evidence "<what passed>"

task local init creates the authoritative local record and switches onto the expected task-<task-key>_... branch automatically.

Local-private tasks can be accepted and finalized without promotion. Use --surface local for purely local findings or --surface issue when you want issue-style findings and resolution state to stay local-private.

Terminal window
wap-flow accept init --preset manual --profile local --surface <local|issue>
wap-flow accept manual --by <name> --result pass --evidence "<what was reviewed>"
wap-flow accept finalize

This records local accepted/finalized state under flow/state/acceptance/. It does not open or close any GitHub issue, and it does not use the pr lifecycle. surface: issue is a real local-private path, not a promotion shim.

Promote only when the task needs GitHub-backed PR lifecycle or GitHub-visible issue closure:

Terminal window
wap-flow task local promote --task local:<task-key> --repo <owner/name> --parent <number>
wap-flow start --task github:<owner/name>#<issue> --spec <path>

After promotion, the local task record is frozen and the GitHub-backed issue becomes authoritative.

  • Local tasks still need a canonical spec and a bound branch.
  • accept does operate on local-private authority in v1.
  • pr does not operate on local-private authority in v1.
  • Recreate old local task records instead of trying to keep unsupported historical schemas alive.