Lifecycle Maps
A Lifecycle Map is a declarative, multi-diagram model of an organisation’s SDLC - or any business process that moves work through governed stages. It is the top-level view of “how does work get from idea to customer?”
Why it exists
A single pipeline cannot capture an entire SDLC. Pipelines are linear or branching execution graphs - they start, run, and finish. A Lifecycle Map is a state machine that describes how a unit of work (a task, a ticket, a PR, a deploy) moves through logically ordered stages over hours, days, or weeks.
The pipeline is the execution primitive. The Lifecycle Map is the orchestration primitive.
Core philosophy
The Lifecycle Map is a semantic model, not a workflow engine. It says “tasks should flow through these stages in this order” without prescribing how each transition happens.
Structure
Each stage in the map is a node; each handoff between stages is a transition edge.
Stages can be:
- Linked to executable Modulo pipelines (clickable - shows the pipeline graph)
- Marked as external (documented but not managed by Modulo)
- Left as manual (human process with no automation)
Stage node types
| Type | Border | Behavior |
|---|---|---|
modulo |
Solid | Clickable to the pipeline graph. This stage is a Modulo pipeline |
external |
Dashed | Clickable to an external URL. This stage runs in an external system (CircleCI, GitHub Actions, PagerDuty). Modulo does not own execution |
manual |
Dotted | No click-through. A human process with no automation |
placeholder |
Ghost/faded | Planned but not yet implemented. Represents a gap |
Transition edges
Transition edges carry trigger metadata:
| Field | Description |
|---|---|
trigger_type |
pipeline_completed | webhook | cron | manual | external |
description |
Human-readable description |
trigger_id |
Optional link to a Modulo Trigger entity |
condition |
Optional condition (JMESPath) |
estimated_frequency |
Expected frequency of the transition |
Graduation path
The core adoption model: a stage starts as placeholder (planned), becomes manual or external (documented), and optionally graduates to modulo (managed).
- Day 0: create a map of the current SDLC, all stages external/manual - a documentation artifact
- Day 1: replace one manual stage with a Modulo pipeline
- Day N: more stages graduate
Some stages never graduate. External is a first-class stage type, not a shortcoming. The goal is not 100% management - it is 100% model fidelity.
Multiple maps
Any org member can create a Lifecycle Map. Examples:
- Main SDLC: Issue → Groom → Dev → Review → Staging → Prod
- Dependency Renovation: Crawl → Triage → PR → Merge → Deploy
- Incident Response: Alert → Classify → Remediate → Postmortem
- Content Publishing: Draft → Review → Approve → Publish
Fractal navigation
The map is the outermost layer: stage node → pipeline → agent node → agent config → sub-pipeline. At every level you can drill down.
Relationship to pipelines
An executable pipeline is attached to a modulo stage node. A pipeline may be a stage of one active map at a time.