A canonical, named operating process: the repeatable loop a kind of work runs from intent to outcome.
An operating lifecycle is the canonical, repeatable loop by which a kind of work moves from intent to outcomeOutcomeStrategyA desired business or user outcomeView reference → and back. It is the backbone a domain’s real journeys hang from: a named process (Plan, Create, Distribute, Analyze, Extend) that exists once and is implemented many times. Products do not own an operating lifecycle; they run instances of it.
The idea predates software. Manufacturing has described its work as a defined, repeatable process since the assembly line, and Deming’s Plan-Do-Check-Act loop made the cycle itself the unit of improvement. Lean named the end-to-end flow a value streamValue StreamStrategyAn end-to-end flow delivering value to the customerView reference → and insisted it be mapped as one shared thing rather than re-derived by each team.
In modern product organisations the same pattern reappears wherever a process spans more than one surface. A content operation, an incidentIncidentDevOps & PlatformA production incidentView reference → response, a releaseReleaseProduct SpecificationA shipped version of the productView reference → train, a sales motionSales MotionGo-To-MarketA repeatable sales motionView reference →: each is a loop with named stages that several tools and teams each touch a slice of. The recurring failure is that every tool models its own copy of the phases, so the organisation can describe each surface but never the process as a whole.
What distinguishes an operating lifecycle in UPG from a single product’s workflow is governance and reuse. A workflow is something one product team owns and changes on its roadmapRoadmapProduct SpecificationA strategic plan of features and milestonesView reference →. An operating lifecycle is a contract many products conform to: it is defined by a SpecificationFoundationsA specification entityView reference →, it has no owner, and changing it is a process separate from any one product’s release cycle.specification
A platform ships three surfaces (a CMS, a CDN automation layer, and an analytics dashboardDashboardData & AnalyticsAn analytics dashboardView reference →) that each touch the content process. Without a canonical lifecycle, each surface carries its own phase model: the CMS calls a step "Publish", the automation layer calls the same moment "Release", the dashboard calls it "Go-live". A question like "what is happening across the whole content process at the distribute stage?" has no answer, because there is no single node to ask about.
With an operating lifecycle, the team defines one canonical loop, Plan & Govern → Create & Manage → Distribute & Automate → Analyze & Optimize → Extend & Integrate, and marks it cyclic: true so the final stage wraps to the first. Each surface’s journey phasesJourney PhaseExperience DesignA named phase in a user journey that groups a sequence of actions the user performs to reach a milestone.View reference → realise the relevant canonical stage. The distribute question now resolves across all three surfaces, and the Analyze stage’s metricsMetricStrategyA unified metric that measures progress, health, or behaviour across the productView reference → close the loop back to outcomes.
In the Unified Product Graph an operating lifecycle is a registry-hostable canonical entity in the Foundations region. Its stages attach via Operating LifecyclecontainsOperating Stagehierarchy, the ordered spine of the loop. It is anchored to its governing rulebook by operating_lifecycle_contains_operating_stagespecification_defines_operating_lifecycle, so a lifecycle without a defining spec is an ungoverned root. The cyclic flag plus each stage’s order express the sequence and the wrap. Real product phases reach in from the Experience region via Journey PhaserealisesOperating Stagecross-domain, which is what lets siloed per-surface journeys roll up into one cross-surface process view.journey_phase_realises_operating_stage
Type-specific fields on BaseNode
cyclicbooleanTrue if the process loops (e.g. Analyze → Extend → Plan). The sequence is expressed by the stages' stage_order; cyclic adds the wrap from last stage back to first.
sourcestringOrigin of the canonical model (e.g. "Sanity official content-ops lifecycle"). Optional provenance; promote to an edge if it names a real specification/document.
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
2 edge types connected to this entity.
operating_lifecycle_contains_operating_stageoperating_lifecycle_defined_by_specification