Release Calendar
This is the rolling schedule of upcoming releases under RFC 0001 — Release Trains. Status field moves through Open → Cut → Promoted / Rolled back.
The on-call for a train is the human responsible for cutting the tag, watching the deploy, and updating this row. Rotation handover happens at the previous train.
Tracks
dev — weekly, Tuesdays 14:00 UTC. Tag pattern
v<X.Y.Z>-dev.N.staging — bi-weekly, alternate Wednesdays 14:00 UTC. Tag pattern
v<X.Y.Z>-staging.N.hotfix — on-demand. Tag pattern
v<X.Y.Z>-hotfix.N. Logged here after the fact for the post-incident review.
Current rotation
2026-05-12
dev
v0.5.0-dev.1
TBD
Open
First train under RFC 0001; advisory mode
2026-05-19
dev
v0.5.0-dev.2
TBD
Open
2026-05-26
staging
v0.5.0-staging.1
TBD
Open
Soak window for v0.5.0-dev.* changes
2026-06-02
dev
v0.5.1-dev.1
TBD
Open
2026-06-09
staging
TBD
TBD
Open
Hotfix log
Append entries here after any release_type=hotfix deploy. Used by PIRs.
none yet
—
—
—
—
How to cut a train
Pre-flight (T–24h): check the SLO dashboard for any red panels. Postpone if availability is below 99.9% or error rate above 1%.
At cadence time: push the tag from
main:.github/workflows/publish-images.yamlbuilds + signs + Trivy-gates the three images. The deploy workflow picks up via the existingmainnetenvironment approval flow.Post-deploy (T+15m): confirm the Build Info table shows the new
versionlabel and matchinggit_shaacross api + indexer. The Phase 4 SHA verification step indeploy-simple.yamlmakes this an automatic check.Update this calendar: set Status to
Cut. If the deploy rolls back, update toRolled backand link the rollback commit.At T+7d: for a dev train that ran clean, propose promotion to the next staging tag at the team standup.
Postponement rule
Better an empty week than a deploy nobody's watching.
If the assigned on-call cannot cover the window:
Try to find a swap by 12h before the cut.
If no swap, mark the row
Skipped (no on-call)and roll the intended changes into the next train.Never run an unmonitored train. Hotfixes are the only exception, and they're page-driven, not calendar-driven.
Related
Deployment Approvals runbook — the protection-rules layer
PIR template — incident write-ups reference the train tag
Release process for SDK packages — npm publish, separate from service deploys
Last updated