Skip to content

[finding] cut-rc.yml's hotcrm smoke warning still tells the reader changeset pre exit re-arms that gate — release.yml records the keying was changed away from pre-exit #9828

Description

@os-steve

Found while working #9561 / PR #9827 (the launch-window major guard's two stale "dormant" comments). Deliberately not folded into that PR: same defect class, but a different guard, and its correct replacement is a statement about release policy rather than a mechanical restatement.

The stale claim

.github/workflows/cut-rc.yml L795, inside the Downstream backward-compat smoke step's warning path:

echo "::warning::hotcrm@${HOTCRM_REF} is incompatible with the pre-release train — expected for this window's deliberate removals. Ship a migrated hotcrm release and bump HOTCRM_REF in release.yml before 'changeset pre exit' re-arms that gate."

The step comment just above it (L781-786) rests on the same keying: "In pre mode ... the #3600 amendment makes it advisory".

Why it is stale

.github/workflows/release.yml L511-535 records the correction in full, in the past tense:

It did exactly that (#8643, 2026-08-14) — and the deadlock was still on, because HOTCRM_REF was and is v2.1.0, i.e. ObjectStack 14.7. So the re-armed gate stood between the 17.0.0 GA publish and a migration nobody had done yet, which is the same deadlock #3600 named, one event later. The keying was the bug: pre-exit is not when a migrated hotcrm release starts existing. Shipping one is.

So the posture is now tied to THAT event instead.

So changeset pre exit no longer re-arms the gate — release.yml's BLOCKING switch does, and it is keyed on shipping a migrated hotcrm and bumping HOTCRM_REF. cut-rc.yml still tells a curator, in operator-facing warning text on a live publish lane, to race a deadline that no longer exists.

This is worse than an ordinary stale comment because it is echoed into the workflow run's annotations, where a release curator reads it at exactly the moment they are deciding whether to act.

Shape of a fix

Not a wording pass. The warning should name the condition release.yml actually keys on — ship a hotcrm release migrated to v17 and bump HOTCRM_REF, at which point the gate becomes blocking again — and should not name changeset pre exit as the re-arming event at all. The L781-786 step comment needs the same treatment: "advisory in pre mode" is true on this lane for a different reason (the lane only runs in pre mode) than the one #3600 gave, and conflating them is how the pre-exit keying survived here.

Worth checking in the same pass whether the step's name: ("advisory in pre mode") should say what makes it advisory.

Not claimed

Whether the downstream gate's current posture is the right one — that is release policy and #8643 already ruled on it. This card is only about cut-rc.yml describing a keying the repo replaced.

Filed unassigned.


Generated by Claude Code

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions