Skip to content

Program Project Handoff

Rowan Brad Quni edited this page May 24, 2026 · 1 revision

Program-Project Handoff Protocol

State Machine

Program Agent: INITIATED
       ↓
Projects Agent: IN-PROGRESS
       ↓
    ┌─ COMPLETE ──→ Program Agent review
    ├─ REJECTED ──→ Program Agent re-open
    └─ BLOCKED  ──→ Escalate to user

Initiation (Program Agent → Project Agent)

  1. Complete Project Initiation Protocol (§0.9.1)
  2. Create project directory + scaffolding docs via fill_prompt_template
  3. Create handoff via fill_prompt_template("HANDOFF") with type Program→Project
  4. Create GitHub Issue for project tasks: gh issue create --repo QNFO/qwav
  5. Update PROJECT STATE.md: STATUS: DELEGATED TO PROJECTS | HANDOFF: path/to/handoff.md
  6. PAUSE — wait for Projects agent to complete

Execution (Projects Agent)

  1. Read handoff document
  2. Follow research trail (Archive, releases, active projects)
  3. Execute Phases 0-5 per DEFAULT.md §5
  4. Place deliverables in Obsidian/releases/YYYY/MM/
  5. Update PROJECT STATE.md: STATUS: COMPLETE | DELIVERABLE: path
  6. Close GitHub Issue: gh issue close <num> --reason completed --comment "Deliverable at path"

Review (Program Agent)

  1. Read PROJECT STATE.md — confirm STATUS: COMPLETE
  2. Review deliverable in Obsidian/releases/
  3. Quality check against DEFINITION-OF-DONE.md gates
  4. PASS → Update program documentation, plan next steps, archive project
  5. FAIL → Re-open GitHub Issue with feedback, create new handoff
  6. Extract cross-project learning → GitHub Wiki or Discussions

Handoff Template

## HANDOFF: [Project Name]
**Type:** Program→Project
**Date:** YYYY-MM-DD
**Scope:** [specific deliverable description]
**Success Criteria:** [measurable acceptance gates]
**Constraints:** [budget, time, technology, domain rules]
**Research Trail:** [files/directories to explore for context]
**Return Protocol:** [where deliverables go]

GitHub Integration

State GitHub Action
INITIATED gh issue create with project label
IN-PROGRESS gh issue edit --add-label "in-progress"
COMPLETE gh issue close --reason completed
REJECTED gh issue reopen + comment with feedback
BLOCKED gh issue edit --add-label "blocked" + comment

Clone this wiki locally