Skip to content

Release record R1: next release draft, release names, Flight progress - #90

Merged
jfillman merged 1 commit into
mainfrom
release-record-r1
Oct 14, 2026
Merged

jfillman merged 1 commit into
mainfrom
release-record-r1

Conversation

@jfillman

@jfillman jfillman commented Oct 14, 2026 •

Copy link
Copy Markdown
Owner

What

The Record tab opens with the release in progress, before any of it reaches Flight. This is R1 of the Release Record proposal: read-only and computed from data Tower already loads, with nothing saved.

  • Next release card
    • Scope: source PRs merged after the previous release's commit landed.
    • Incoming: open PRs.
    • The issues those PRs close, read from GitHub closing keywords.
    • Candidate images built from main since the previous release, with where each runs on Ground, for how long, and how many PRs it contains.
    • A suggested version.
    • Display-only readiness checks on the leading candidate.
    • Promote sends the leading candidate to the first Flight environment through the existing promote flow.
  • Release names: a tree per release, in order per app (ASPEN, BIRCH, CEDAR…). Names come from the committed record history (needs backstage's new /release-records route). A release that reached Flight but never got a record stays unnamed, so later names never shift.
  • Flight progress on each record when an app has more than one Flight environment (staging/pre-prod/prod).
  • PR attribution fix: a record's PRs are bounded by when its commit landed on main, not by when it reached Flight. The draft uses the same boundary, so a PR is never in both.
  • Flow slug mirror: 256 × 256 word lists, matching glidepath#109, with the same pinned vectors.
  • Docs: docs/release-records.md (in the nav), plus the README/index highlights.

Verified

  • tsc, lint and yarn ratchet are clean. All 783 tests pass, including new ones for the draft builder, names, the card, and the slug mirror.
  • Live in the local harness against kind-prod and kiac-dev, with this branch's dist and the matching backstage branch:
    • boarding-api: draft IRONWOOD after HAZEL with 5 scope PRs; records ASPEN→HAZEL; Flight progress across staging, pre-prod and prod.
    • gate-api: draft IRONWOOD after HAZEL. 1.1.3 has no committed record and correctly shows unnamed. Before the fix it took a name and shifted every later one.

Not in this PR

  • Sign-off and gating, saved drafts, and outcome tracking (R2/R3).
  • The 24h soak target is a constant for now.

🤖 Generated with Claude Code

…light progress

The Record tab now opens with the release in progress, before any of it reaches
Flight (Release Record proposal R1). Computed from data Tower already reads;
nothing is saved.

- Next release card: scope (source PRs merged after the previous release's
  commit landed), incoming open PRs, issues they close (GitHub closing
  keywords), candidate images built from main since, a suggested version
  (last version + the bump the PRs call for), and display-only readiness checks
  on the leading candidate. Promote sends it to the first Flight environment
  through the existing promote flow.
- Release names: a tree per release, in order per app (ASPEN, BIRCH, CEDAR...),
  from the committed record history (new backstage /release-records route).
  A release whose record PR is still open is counted; one that never got a
  record is not, so names never shift when it leaves the window.
- Each record shows how far it got through the Flight environments when an app
  has more than one (staging, pre-prod, prod).
- A record's PRs are now bounded by when its commit landed on main, not by
  when it reached Flight, so a PR merged after the image was built no longer
  shows in a release that doesn't contain it. The draft uses the same boundary.
- Flow slug mirror: 256 x 256 word lists, matching glidepath#109, with the same
  pinned chain-id -> slug vectors.

Docs: docs/release-records.md.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@jfillman
jfillman merged commit 17e2293 into main Oct 14, 2026
1 check passed
@jfillman
jfillman deleted the release-record-r1 branch October 14, 2026 06:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant