Charts /
CH-TIM-15
CH-TIM-15 . family TIM
EVENT TIMELINE
horizontal axis with dated milestone markers. Needs: 3-8 dated events positioned 0-100 along an axis with start/end labels.
schedulestatus
Use when
- milestone communication: what happens when, on one line
- kickoffs, gates, energization dates, handovers
Do not use when
- tasks with durations and dependencies (CH-TIM-09 GANTT)
- more than 8 events (split by phase)
See instead
- events have durations: CH-TIM-09
Alternatives
- CH-TIM-09 (durations, not moments)
Rules
- labels alternate above and below the axis, deterministically by index
- milestones are diamonds, events are dots, critical items take the negative role
- every event carries its date
- 8 events maximum
Never do this
- curved journey arrows
- icons instead of markers
- more than 8 events on one axis
- undated events
QA before delivering
- every event dated
- events <= 8
- critical items named in the title
- source present
Data shape
| title | action title naming the critical date |
| eyebrow | caps, DL chrome only |
| source | bottom-left always |
| axis | {start_label, end_label} |
| events | array of {label, sub (date), pos 0-100, kind: event|milestone|critical} |
Sample data (golden)
{
"title": "RFSU holds on 30 November; grid energization is the critical driver",
"eyebrow": "MILESTONES . 2026",
"source": "Source: sample dataset v1, 2026-07-12",
"axis": {
"start_label": "JAN 2026",
"end_label": "NOV 2026"
},
"events": [
{
"label": "Kickoff",
"sub": "12 Jan",
"pos": 4,
"kind": "event"
},
{
"label": "Mechanical completion S3",
"sub": "15 Jun",
"pos": 50,
"kind": "milestone"
},
{
"label": "Grid energization",
"sub": "22 Aug",
"pos": 70,
"kind": "critical"
},
{
"label": "Loop tests complete",
"sub": "30 Sep",
"pos": 82,
"kind": "milestone"
},
{
"label": "RFSU",
"sub": "30 Nov",
"pos": 100,
"kind": "milestone"
}
]
}