Skip to content

SOP-074 — Wave-schedule run / milestone tracking

Guide

<!-- last-reviewed: 2026-06-01 · owner: Delivery (PMO) (Project Manager) -->

SOP-074 — Wave-schedule run / milestone tracking

SOP · owner: Delivery (PMO) (Project Manager). Layer: SOP/Runbook (docs/canon.md). How the PMO runs the documentation-program wave schedule, drives the milestone plan, and keeps tracker.md current. Links to canon; does not restate it. ID is proposed (SOP-074…076 block); confirm with Operations — the SOP-ID numbering authority (docs/sop/registry.md).

Interface Contract

  • Inputs: prioritised ready backlog ← from Product (Product Manager) · trigger: backlog ready
  • Inputs: approved gate package (to sequence) ← from <Innovation Director / CPTO> · trigger: gate package ready
  • Inputs: preserved record ← from Archivist · trigger: preservation complete
  • Outputs: coverage / status roll-up → to all agents · trigger: briefing posted
  • Outputs: approved tracker.md snapshot → to Archivist · trigger: artifact approved
  • Outputs: docs/units/delivery-pmo/ or tracker canon Index row change → to Documentarian · trigger: document changed
  • Handoff trigger (in): a wave’s work is ready to sequence/track (Product hands a ready backlog, OR a wave checkpoint is reached, OR a cadence beat falls due)
  • Handoff trigger (out): the wave’s coverage roll-up is reconciled and posted, and the tracker snapshot is approved for preservation
  • Definition of Done before handoff:
    • [ ] every in-scope agent/unit row for the wave is reconciled §2 → §3 in tracker.md
    • [ ] the roll-up counts foot to wave-schedule.md §8 (each agent counted once = 41)
    • [ ] no milestone marked Done without its master-plan §9 DoD verified
    • [ ] the manual integrity gate has a recorded green run for the wave’s edges (SOP-076)
    • [ ] one batched push per wave checkpoint (GR-7 / R9) — never per artifact
    • [ ] tracker does not restate wave-schedule.md / artifact-matrix.md (links only)
    • [ ] learnings captured to docs/knowledge/ if any (reported for indexing, SOP-024)

Trigger status: all phrases used here are registered — backlog ready (Wave-2 block), preservation complete / briefing posted / artifact approved / document changed (Wave-0/1 seed). No new trigger is needed: a recorded milestone close is an intra-unit event in tracker.md with no downstream consumer edge; the status broadcast reuses briefing posted. Any future PMO event needing a phrase is proposed to Operations, not invented inline (docs/handoff-triggers.md).

Purpose

Run the documentation-program wave schedule in dependency order and keep the live delivery record (tracker.md) true: drive each milestone to a verified finish, reconcile per-agent status into the roll-up, and gate each wave on its Definition of Done — so the org always has an accurate “what’s done, in what order, at what risk” picture and no wave proceeds on an unverified claim.

When to use

  • Product hands a prioritised, ready backlog to sequence (backlog ready).
  • A wave checkpoint is reached (the unit of batching; before the batched push).
  • A cadence beat falls due (the COO operating cadence — tracker.md §4).
  • A roster change lands mid-program (re-reconcile the affected wave’s edges, R5).

Flow

flowchart LR
  A["Open tracker.md +<br/>wave-schedule.md + matrix"] --> B["Confirm wave order<br/>(deps, critical path)"]
  B --> C["Drive: collect each<br/>agent/Lead §2 row update"]
  C --> D["Reconcile §2 → §3<br/>roll-up + counts"]
  D --> E{"Milestone DoD<br/>verified?"}
  E -->|no| F["Drive/unblock<br/>(coordinate Leads)"]
  E -->|yes| G["Run integrity gate<br/>(SOP-076) → record green"]
  F --> C
  G --> H["One batched push (GR-7)<br/>+ post coverage update"]
  H --> I["Snapshot → Archivist<br/>'artifact approved'"]
  classDef s fill:#1d4ed8,color:#fff,stroke:#1e3a8a
  classDef d fill:#0f766e,color:#fff,stroke:#134e4a
  class A,B,C,D,F,G,H,I s
  class E d

Text fallback: open tracker.md, wave-schedule.md, and artifact-matrix.md → confirm the wave order, dependencies, and critical path (tracker.md §1) → drive by collecting each agent/Lead’s §2 row update and unblocking dependencies → reconcile §2 → §3 (roll-up counts foot to wave-schedule.md §8) → check each milestone’s Definition of Done (master plan §9); if not met, keep driving/unblocking; if met, run the integrity gate (SOP-076) and confirm a recorded green run → take one batched push (GR-7) and post the coverage update → hand the approved tracker snapshot to the Archivist (artifact approved).

Steps

  1. Open the sources. tracker.md (the view I own), wave-schedule.md (the authoritative roster→wave mapping + §9.1 gate cadence), artifact-matrix.md (the authoritative per-agent obligations). The tracker links to these; it never restates them — if they disagree, those win and I correct the tracker.
  2. Confirm the wave order & critical path. Per tracker.md §1: M0→M1 serial; M2/M3/M4 parallel after M1 stable; M5 after all three green. Drive the slowest cluster (the critical path runs through it); float lives in the faster two.
  3. Drive execution. Coordinate the Leads who do the work (Leads draft before members within a wave). Track dependencies and blockers; surface cross-cutting blockers to the COO early (do not wait for the checkpoint). Do not rewrite another unit’s artifacts — plan, sequence, unblock.
  4. Collect row updates. Each agent/Lead marks its own §2 status row as work lands (Not started / In progress / Done / N/A — <reason> / Blocked — <ref>).
  5. Reconcile §2 → §3. Tally Done (an N/A — <reason> counts as covered; an empty required slot does not — artifact-matrix.md §4). Confirm the org-wide count foots to 41 (each agent once; Wave 0 pilots are not an addend — tracker.md §3).
  6. Verify milestone DoD. No milestone is Done until its master-plan §9 DoD is met and the partial register reconciles clean for that wave’s edges (wave-schedule.md §9). An asserted-done milestone is a defect — refuse it.
  7. Run the integrity gate (SOP-076). Before the batched push, run the manual gate and confirm a recorded green run for the wave’s edges in tracker.md §3. A red number blocks the wave’s “done” (route the defect to its owner — not mine to fix).
  8. Batch one push (GR-7 / R9). One push per wave checkpoint, never per artifact; then post the coverage update (briefing posted).
  9. Snapshot & archive. File any learning to docs/knowledge/ (report for indexing, SOP-024); hand the approved tracker.md snapshot to the Archivist (artifact approved). Hand canon Index changes to the Documentarian (document changed).

Roles / approvers

  • Project Manager — runs the schedule, drives the plan, reconciles the tracker, gates each wave; the only agent who updates the roll-up (§3) and records the manual gate result.
  • COO — owns the documentation program and the green stopping condition; receives wave-checkpoint status; arbitrates cross-cutting blockers. (Direct reporting line; not a registry edge.)
  • Each agent / Lead — marks its own §2 row as work lands.
  • Process Engineer (Operations) — owns the gate mechanism + the SOP-ID/registry the gate consumes (SOP-076 runs it; Operations owns it).
  • Archivist — preserves the tracker snapshot on each wave close (0 drift).

Guardrails

  • The tracker is a view, not a source — link to schedule/matrix/DoD; never restate (charter rule 3; one home per fact, CONTRIBUTING.md).
  • No milestone “done” on assertion — verify the DoD and record evidence (charter rule 1).
  • Coordinate; don’t bypass owners — never rewrite, design, or accept another unit’s work (.claude/agents/project-manager.md guardrail).
  • Batch pushes (GR-7 / R9) — one per checkpoint, never per artifact.
  • Propose, don’t edit registry/canon/IDs — route through Operations / Documentarian (charter rule 7).
  • Personal information is PA-only — never accessed here.
  • Links to policy: hr/employee-handbook.md, hr/policies/*; rules CLAUDE.md.

See also: docs/units/delivery-pmo/charter.md · SOP-075 (status reporting) · SOP-076 (manual integrity-gate run) · docs/documentation-program/tracker.md · wave-schedule.md §8/§9 · artifact-matrix.md · interface-contract-spec.md · docs/handoff-triggers.md.