A periodic report on progress
A status report is the periodic communication of where work stands against plan: what is on track, what is at riskRiskComplianceA risk to the product or businessView reference →, what has slipped, and what needsNeedUserA user need, pain, desire, or constraintView reference → a decisionDecisionStrategyA recorded decision with context, rationale, and consequencesView reference →. Its usefulness depends entirely on honesty, which is also the thing organisational pressure most reliably erodes. The most studied pathology in project reporting is a report that says green while the work underneath is red.
The dominant convention is the RAG status, a traffic-light scheme borrowed into project management: Red, Amber, Green. RAG reporting compresses health into a single colour for a glance-level read. Green means on track, Amber means at risk but manageable, Red means intervention is needed now. The appeal is speed; the cost is that a colour hides its own reasoning.
The well-documented failure mode is the watermelon report. A watermelon project is green on the outside and red in the middle: the reported status is green while a closer look reveals serious trouble. The cause is rarely deception. Reporters learn that a red status invites blame instead of help, so they round up, and as one account of the pattern puts it, projects rarely jump from green to red overnight; they slide from "green but actually amber" to "amber but we said green" to "red and everyone knew but nobody said." The cost of finding out late almost always exceeds the cost of finding out early.
The field's response has been to anchor colours to evidenceEvidenceValidationData supporting or refuting a hypothesisView reference →. A status no longer floats on judgement; it is derived from measured signals, milestoneMilestoneProgram ManagementA key date or achievementView reference → slippage, deliverable acceptance, burned budget, so the colour reports a fact rather than a mood. The report becomes trustworthy in proportion to how little discretion the reporter has over the colour.
A program reports green for five consecutive weeks. The weekly report is a single RAG colour and a paragraph of narrative, both written by the program manager. In week six the integration phase fails and the colour jumps straight to red. The steering group, blindsided, asks the question that always follows: how was this green last week?
The fix is structural. The next report derives its colour from connected facts instead of a paragraph. Three of eight deliverables are past their gated dates: that alone forces amber. The risk registerRisk RegisterProgram ManagementA register of project risksView reference → holds two open high-severity items with no mitigation owner: that forces red. The program manager can annotate, but cannot overrule the arithmetic. The watermelon problem shrinks because the colour is now an output of measurable state, not an act of courage by whoever writes the report.
In the Unified Product Graph, a status report sits in the delivery region as a reporting node attached to the work it summarises through Programreported viaStatus Reporthierarchy. Because the report is a connected node rather than a free-text update, its colour can be computed from the same graph it lives in: the gated milestones, the accepted deliverables, the open risks all hang off the program already. That structure is the direct antidote to the watermelon: when the status is derived from connected, queryable facts instead of authored prose, green that contradicts the underlying nodes becomes visibly, mechanically wrong.program_reported_via_status_report
Type-specific fields on BaseNode
report_periodstringTime period the report covers
overall_statusstringOverall Red/Amber/Green health status
risks_flaggednumberNumber of risks flagged in this report
blockersstringDescription of current blockers
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: draft · template: PUBLISHING
1 edge type connected to this entity.
program_reported_via_status_report1 framework use this entity type.