Skip to content

SOP-075 — Delivery status reporting

Guide

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

SOP-075 — Delivery status reporting

SOP · owner: Delivery (PMO) (Project Manager). Layer: SOP/Runbook (docs/canon.md). How the PMO turns the live tracker into a crisp status surface — what’s done · next · at risk — reported to the COO/Principal and broadcast to the org. Links to canon; does not restate it. ID is proposed (SOP-074…076 block); confirm with Operations (docs/sop/registry.md).

Interface Contract

  • Inputs: reconciled coverage roll-up ← from self (SOP-074) · trigger: briefing posted
  • Inputs: preserved record ← from Archivist · trigger: preservation complete
  • Inputs: binding arbitration call ← from <COO / Principal> · trigger: arbitration decided
  • Outputs: delivery status report (done · next · at risk) → to all agents · trigger: briefing posted
  • Outputs: approved status report → to Archivist · trigger: artifact approved
  • Handoff trigger (in): a cadence beat or a wave checkpoint falls due, OR a blocker/risk crosses the early-surface threshold
  • Handoff trigger (out): the status report is posted (to the COO/Principal and the org) and approved for preservation if it is a standing report
  • Definition of Done before handoff:
    • [ ] the report states what’s done · what’s next · what’s at risk — no padding
    • [ ] every “at risk” item names the dependency, the owning Lead, and the ask
    • [ ] figures are falsifiable (the exact green/red number, coverage %, the count) — no “on track” mood music
    • [ ] cross-cutting High items reference the COO cross-cutting log (not re-litigated here)
    • [ ] the report links to tracker.md / wave-schedule.md; it does not restate them
    • [ ] learnings captured to docs/knowledge/ if any (reported for indexing, SOP-024)

Trigger status: all phrases are registered — briefing posted (Wave-0/1 seed; the canonical “a report has been posted” broadcast), preservation complete, artifact approved. Status reporting is the consumer and producer of briefing posted (a fan-out broadcast — interface-contract-spec.md §3.1 R4); no new trigger is needed. A novel reporting event is proposed to Operations, not invented inline (docs/handoff-triggers.md).

Purpose

Make delivery status legible at a glance and surface risk early: convert the reconciled tracker into a short, falsifiable report — done / next / at risk — so the COO and Principal can steer without reading the full tracker, and so blockers reach the escalation path before they bite. Status is a view of the tracker, never a parallel record.

When to use

  • At each cadence beat (the COO operating cadence — tracker.md §4) and each wave checkpoint.
  • When a blocker / dependency slip / queue overrun (R12) crosses the early-surface threshold — do not wait for the next beat (Communication policy; charter rule 8).
  • When the COO or Principal requests a status read.

Flow

flowchart LR
  A["Pull reconciled roll-up<br/>(tracker.md §3)"] --> B["Frame: done · next · at risk"]
  B --> C["For each risk: name<br/>dependency + owner + ask"]
  C --> D{"Cross-cutting High?"}
  D -->|yes| E["Reference COO<br/>cross-cutting log"]
  D -->|no| F["Compose report<br/>(falsifiable figures)"]
  E --> F
  F --> G["Post → COO/Principal + org<br/>'briefing posted'"]
  G --> H["If standing report:<br/>→ Archivist 'artifact approved'"]
  classDef s fill:#1d4ed8,color:#fff,stroke:#1e3a8a
  classDef d fill:#0f766e,color:#fff,stroke:#134e4a
  class A,B,C,E,F,G,H s
  class D d

Text fallback: pull the reconciled roll-up from tracker.md §3 → frame it as done · next · at risk → for each at-risk item, name the dependency, the owning Lead, and the specific ask → route cross-cutting High items to the COO cross-cutting log (don’t re-litigate them in the report) → compose the report with falsifiable figures (the exact gate number, coverage %, counts) → post it to the COO/Principal and broadcast to the org (briefing posted) → if it is a standing report in reports/, hand it to the Archivist (artifact approved).

Steps

  1. Pull the reconciled roll-up. From tracker.md §3 (refreshed by SOP-074). Do not compose status from memory or from a stale tracker — reconcile first.
  2. Frame done / next / at risk.
    • Done: milestones/waves whose §9 DoD is verified (not asserted) since the last report, with the recorded gate result.
    • Next: the milestone(s) the critical path now runs through (drive the slowest).
    • At risk: blockers, dependency slips, queue overruns (R12), deploy-budget pressure (R9). Each names the dependency, the owning Lead, and the ask.
  3. Route cross-cutting items. A High item that affects another unit’s domain references the COO cross-cutting log (reports/phase0-reviews/coo-cross-cutting-log.md) — surfaced, not re-litigated, in the report (R8: overlaps go to canon RACI / the COO, not peer prose).
  4. Make it falsifiable. Use the exact numbers: the green/red gate count, coverage %, the per-wave counts, the edge-set version/date. Strike “on track”, “looking good”, “nearly done” — give the number or the named blocker.
  5. Keep it short and linked. The report links to tracker.md / wave-schedule.md for detail; it does not restate them (one home per fact). Lean delivery — the smallest report that lets the COO steer.
  6. Post & escalate. Broadcast to the org and the COO/Principal (briefing posted). For an early-surface blocker, escalate directly to the COO without waiting for the next beat.
  7. Capture & archive. File any learning to docs/knowledge/ (SOP-024); if the report is a standing reports/ artifact, hand it to the Archivist (artifact approved).

Roles / approvers

  • Project Manager — composes and posts the report; owns the done/next/at-risk surface; the only agent who reports delivery status up.
  • COO — primary recipient and escalation path; arbitrates cross-cutting blockers; carries status to the Principal alongside the program owner’s view.
  • PA / Documentarian — consume status for the briefing/dashboard surface.
  • Archivist — preserves standing status reports (0 drift).

Guardrails

  • Falsifiable over mood music — exact figures and named blockers, not adjectives (charter quality bar; master plan §1.3 test 3).
  • Surface risk early — escalate a real blocker to the COO before the next beat (charter rule 8; Communication policy).
  • Link, don’t restate — the report is a view over the tracker (charter rule 3).
  • Cross-cutting overlaps → COO / canon RACI, never peer-negotiated in a report (R8).
  • Personal information is PA-only — never reported here.
  • Links to policy: hr/employee-handbook.md, hr/policies/* (Communication); rules CLAUDE.md.

See also: docs/units/delivery-pmo/charter.md · SOP-074 (wave-schedule run) · SOP-076 (manual integrity-gate run) · docs/documentation-program/tracker.md §3 · reports/phase0-reviews/coo-cross-cutting-log.md · interface-contract-spec.md · docs/handoff-triggers.md.