Problem
The current product-train authority supports independent_prerelease_components and now publishes an aggregate RC record whose seven component versions advance independently. The immutable product-train successor path in scripts/issue_authority.py still requires every selected component version to equal the aggregate train identifier, while the issue-authority policy schema and manifest validation accept only alpha or beta train identifiers.
As a result, GitHub issue authority cannot use a valid current mixed-version RC product train as the immutable successor when retiring or superseding prerelease product work. Existing synchronized beta retirement fixtures continue to pass, so source qualification does not exercise the current contract.
Acceptance criteria
- Accept an immutable supported product-train successor whose selected record uses
independent_prerelease_components and whose component versions are valid prereleases in the selected RC channel.
- Allow RC aggregate train identifiers consistently in the policy schema, manifest validation, and reconstruction path.
- Preserve support for synchronized historical beta product-train successors.
- Continue rejecting a changed file digest, mismatched
current record, missing or extra components, channel/progression mismatches, unsupported status, and a release-plan reference that differs from the successor authority.
- Add focused reconstruction and manifest-verification coverage using a mixed-version RC tuple shaped like the current public authority.
Delete when
Delete when issue-authority reconstruction and verification can bind the current independently versioned RC product train as an immutable successor without weakening the existing fail-closed retirement checks.
Problem
The current product-train authority supports
independent_prerelease_componentsand now publishes an aggregate RC record whose seven component versions advance independently. The immutable product-train successor path inscripts/issue_authority.pystill requires every selected component version to equal the aggregatetrainidentifier, while the issue-authority policy schema and manifest validation accept only alpha or beta train identifiers.As a result, GitHub issue authority cannot use a valid current mixed-version RC product train as the immutable successor when retiring or superseding prerelease product work. Existing synchronized beta retirement fixtures continue to pass, so source qualification does not exercise the current contract.
Acceptance criteria
independent_prerelease_componentsand whose component versions are valid prereleases in the selected RC channel.currentrecord, missing or extra components, channel/progression mismatches, unsupported status, and a release-plan reference that differs from the successor authority.Delete when
Delete when issue-authority reconstruction and verification can bind the current independently versioned RC product train as an immutable successor without weakening the existing fail-closed retirement checks.