Skip to content

Accepted workflow name and version pairs collide in the Library #432

Description

@rudycelekli

Accepted workflow name/version pairs collide in the Library

At main 008c9faa (package 0.6.3), the workflow parser accepts arbitrary version strings. Library IDs concatenate workflow:<name>:<version>, and reviews split that ID on the last colon.

Reproduction: drop two valid workflow YAML files into the configured workflows folder: workflow.id: demo with workflow.version: 'release:1', and workflow.id: demo:release with workflow.version: '1'. Both cache rows exist, but both mint workflow:demo:release:1; the Library map keeps just one. The first pair also cannot round-trip its identity to a review: the parser reads name demo:release, version 1.

Two actual SQLite/filesystem/HTTP route and identity regressions fail while 34 controls pass. An unambiguous opaque tuple for versions containing a colon fixes both issues, with all 36 targeted tests passing. Every previously unambiguous ID remains unchanged, including colon-bearing names and literal percent sequences. No workflow validation restriction or SQLite migration is needed.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions