Skip to content

Accept independently versioned RC tuples in product-train retirement authority #79

Description

@rmcdaniel

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    authority:githubGitHub is the authoritative lifecycle record for this workbeta:compatibleMay be completed without changing the frozen beta contractkind:defectA public product behavior is incorrectpriority:P2Normal-priority product workrepo:github-control-planeOwned by the public organization control planestatus:doneDerived from the authoritative closed issue state

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions