Design status reports that record blockers, KPIs, provenance

A practical guide for delivery leads: fields, naming, a compact provenance schema, and a finish-and-publish workflow you can run in your existing tools, with copyable tem

By the Unblockd team, edited by Patrick SaulPublished

How do I design a status report that records blockers, KPIs and provenance and a finish/publish workflow?

The status report you design should show sponsor-facing decisions, list evidence-backed KPIs, and record provenance and approvals for every reported item so reviewers can trace claims to source records. This guide gives the fields, naming convention, a copyable provenance schema, and a finish/publish checklist you can use in your current tracker and meeting cadence.

What should a distributed team's status report include?

The status report should include an explicit sponsor summary, deliverable rows, blocker records, verifiable KPI rows, provenance fields for each claim, report control metadata, and the publication state so readers know which revision is official. (Asana)

What to do, say, and check:

  • Do: Start each report with a one-paragraph sponsor summary that names the decision or approval you need and the immediate impact on delivery. (Asana)
  • Say: "[Deliverable] status: [concise assessment]. Decision needed: [what I need from you]."
  • Check: Confirm every summary claim links to at least one evidence reference before you send the draft for review.

Fields to include (copy into your tracker):

  • Report control: [project_key], [reporting_period], [evidence_cutoff TZ], [owner], [revision_token], [publication_state], [official_location].
  • Sponsor summary: [delivery_assessment], [meaningful_change], [decision_or_help_needed], [response_deadline TZ].
  • Deliverable rows: [deliverable_id], [acceptance_condition], [progress_note], [evidence_reference], [next_step], [owner].
  • Blocker rows: [blocker_id], [impact], [action_requested], [resolution_owner], [decision_owner], [needed_by TZ], [evidence_reference], [resume_condition].
  • KPI rows: [kpi_id], [delivery_question], [definition], [scope], [current_value], [source_filter], [measurement_cutoff TZ], [verifier].

(Use Asana for the exec-summary / team-detail split as a reader-aware pattern.) (Asana)

How do you record blockers so someone can resolve them?

A blocker record should state the stopped work, its impact, the specific action requested, and the named decision owner so someone can act without chasing context. Use a separate blocker table in the report so blockers are discoverable and trackable across revisions. (Atlassian)

Steps to capture and escalate:

  1. Create the blocker entry with these fields (copy-pasteable):
blocker_id: [stable reference]
deliverable: [affected deliverable]
blocked_work: [work that cannot proceed]
impact: [effect on acceptance or dependent work]
resolution_owner: [person coordinating resolution]
decision_owner: [person authorised to decide or help]
action_needed: [specific request]
needed_by: [date, time, time zone]
evidence_reference: [source record reference]
resume_condition: [observable condition for restarting work]
next_step: [owner and action after resolution]
  1. Say in the blocker entry exactly: "Please approve [item] or provide [decision] by [needed_by TZ] so [dependent work] can resume once [resume_condition]."
  2. Check: Confirm evidence_reference resolves to an accessible ticket or record and the decision_owner can act or has delegated authority. (Atlassian)

How do you define KPIs that readers can verify?

Each KPI should answer one delivery question, include a precise selection rule or saved query, name the verifier, and show the measurement cutoff so readers can re-run the source selection and confirm the value. Put the source link and the verifier next to the KPI value. (Recapline)

Steps to create verifiable KPIs:

  • Do: For each KPI write one-line delivery question, a short definition, and the saved filter or query used as source (copy the query into the report).
  • Say: "Measured at [cutoff TZ]; verified by [name]."
  • Check: The verifier opens the source filter and confirms the metric before the draft review; record the verifier and verification timestamp in the KPI row.

Suggested KPI table columns (copy into your report):

  • [kpi_id]; [delivery_question]; [definition and unit]; [included/excluded]; [current_value]; [comparison_target]; [source_and_selection_rule]; [measurement_cutoff TZ]; [verification (name & timestamp)]; [interpretation & next step].

(Lead with risk in the sponsor summary when it changes decision needs.) (Recapline)

What provenance should you keep behind each update?

Provenance should record the source system and reference, who asserted or recorded the claim, when the observation occurred, the selection rule used, and who verified it so reviewers can trace and reproduce the value. This supports accountability and auditability for delivery decisions. (Decision Provenance: Harnessing data flow for accountable systems)

Provenance fields to attach to every reported item (copy into your report):

  • [record_id], [record_type], [source_system], [source_reference], [source_revision], [selection_rule], [observed_at TZ], [reported_by], [recorded_at TZ], [verified_by], [verified_at TZ], [verification_state], [qualification].

Why provenance matters: Decision provenance helps trace data flows and the assertions that led to decisions so audits and sponsor reviews can verify both the measurement and the assertion. (Decision Provenance: Harnessing data flow for accountable systems)

Copy-paste JSON schema example (machine-readable mapping). Inspired by the Decision Provenance paper and operational fields in TemplateRegistry. (arXiv) (TemplateRegistry)

{
  "record_id": "[string]",
  "record_type": "KPI|blocker|deliverable|decision",
  "source_system": "[string]",
  "source_reference": "[URL|ticket_id|record_id]",
  "source_revision": "[commit|snapshot|export_id]",
  "selection_rule": "[saved filter or query]",
  "observed_at": "[timestamp TZ]",
  "reported_by": "[name]",
  "recorded_at": "[timestamp TZ]",
  "verified_by": "[name]",
  "verified_at": "[timestamp TZ]",
  "verification_state": "[verified|awaiting|disputed]",
  "qualification": "[known limitation]"
}

(TemplateRegistry shows the operational habit of tying IDs and SHAs to report items; use the mapping above to include those fields.) (TemplateRegistry)

How do you collect updates across time zones?

Collect inputs to a single evidence cutoff that includes a named time zone, assign owners to deliverables and KPIs, accept asynchronous updates, and run one owner-led draft review that reconciles conflicts before publication so sponsors receive a single approved snapshot. (Asana)

"Sign-up, workspaces, projects with deliverables, activities, tasks, evidence, blockers, risks, decisions"

What to do, say, and check:

  • Do: Announce the evidence cutoff and the location where contributors update their items in the calendar invite and the draft report; use reminders in your current tools. (Asana)
  • Say in contributor requests: "Please update [assigned deliverable or KPI] in [tool] before [cutoff TZ] and include evidence_reference and observed_at."
  • Check: Mark missing updates as awaiting confirmation and preserve the prior observation with its observed_at timestamp so the audit trail remains intact.

How do you finish, approve, and publish the report?

Finish by reconciling source evidence, resolving material review comments, recording approval against the exact revision, and publishing that approved revision in the agreed official location so the sponsor and audience see a single canonical snapshot. This step closes the review loop and creates an auditable record. (TemplateRegistry)

Finish and publish steps you can use now (adapted with operational examples):

  1. Draft complete: populate required sections and label known gaps. (TemplateRegistry)
  2. In review: data owners run verification tasks against the source references and confirm or dispute values. (TemplateRegistry)
  3. Approved: named approver records approval for the stated audience and revision using explicit wording. (TemplateRegistry)
  4. Published: publisher stores the approved revision in the official location, records publication timestamp, and notifies the intended audience. (TemplateRegistry)

Preserve the approved revision platform-agnostically: use snapshots, protected revisions, or export a read-only copy and store it in the official location. (TemplateRegistry)

Use this sign-off wording verbatim when approval is recorded (recommended practice adapted from TemplateRegistry):

"Approved for publication to [audience]: [report_reference], revision [revision_token], covering [reporting_period]. Qualifications: [qualifications or none]. Approved by [name] at [timestamp TZ]. Deliverable acceptance covered by this approval: [scope or none]." (TemplateRegistry)

How should you name reports and handle later changes?

Use a single naming convention that includes a stable project key, an ISO-format cutoff date, and a revision token so readers can locate the canonical published record and any replacements quickly; state replacement rationale when you publish a correction. (recommended practice)

Naming rule (recommended practice):

  • [project_key][YYYY-MM-DD][rev_token]

Handle corrections by publishing a replacement revision with clear replacement wording: "Revision [new] replaces [previous] because [reason]. The effect on delivery or pending decisions is [impact]. Reviewed by [name] at [timestamp TZ]."

When a correction changes sponsor decisions, call an explicit sponsor review and record their response in the next approved revision. (TemplateRegistry)

How can I adopt this in one week?

A simple one-week adoption plan gets you a working report and the approval habit: pick decision-linked KPIs, map verifiers, run a draft review, and publish an approved snapshot. Follow these steps to start.

Day 1: Choose three decision-linked KPIs and map each to a source and verifier. (Asana)
Day 2: Build the report header, sponsor summary, deliverable rows, and the blocker table. (Recapline)
Day 3: Add provenance fields and the saved selection rules next to each KPI and blocker. (Atlassian)
Day 4: Run a dry draft review with data owners and verifiers; record verification stamps. (Recapline)
Day 5: Resolve material comments, record approval with the sign-off wording, and publish the approved snapshot to the official location; notify the sponsor and audience. (TemplateRegistry)

Sources used for procedural structure and examples:

Questions people ask

Should a status report include every task?

Include tasks only when they explain deliverable progress, a dependency, or an action the sponsor needs to take; keep routine task detail in the team's tracker and reference those records from the report.

Can a dashboard replace a published status report?

Use a dashboard for current visibility, but preserve a dated, approved record when readers need to know what was reviewed and approved; export an approved snapshot if the dashboard cannot capture the approved revision and provenance.

What if the sponsor does not respond before the deadline?

Record the decision as pending, state the affected work and delivery impact, follow the agreed escalation route, and ask the sponsor or delegated decision owner to confirm the next step; do not treat silence as approval unless you have an explicit agreement that permits that behaviour.

Who should verify KPI values?

Assign a named verifier for each KPI who can open the source_reference and confirm the value against the documented selection_rule; record the verifier and verification timestamp in the report.

When is a blocker closed in the report?

Close a blocker only after the resolution owner confirms the resume_condition has been met, updates the evidence_reference, and records the change in the published revision or the next approved report.

Patrick Saul · Co-founder, Unblockd

Patrick Saul is a co-founder of Unblockd, AI-native project tracking and reporting built at Conversint Consulting in Austin, Texas.

Get the sponsor ask checklist

One screen to check before you send an ask: the decision, the options, the date, and what waits on it. Then one email a week with new guides.