Old pre-commit stage names are not transformed correctly into new names

my .pre-commit-config.yaml from https://github.com/lorenzwalthert/precommit looked like this:

# All available hooks: https://pre-commit.com/hooks.html
# R specific hooks: https://github.com/lorenzwalthert/precommit
repos:
-   repo: https://github.com/lorenzwalthert/precommit
    rev: v0.4.3.9001
    hooks: 
    -   id: style-files
        args: [--style_pkg=styler, --style_fun=tidyverse_style, --cache-root=styler-perm]
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          renv/.*
          )$
    -   id: roxygenize
        additional_dependencies:
        -    cli
        -    fs
        -    here
        -    magrittr
        -    purrr
        -    R.cache
        -    rlang
        -    rprojroot
        -    rstudioapi
        -    withr
        -    yaml
        -    r-lib/pkgapi
    # codemeta must be above use-tidy-description when both are used
    # -   id: codemeta-description-updated
    -   id: use-tidy-description
    -   id: spell-check
        exclude: >
          (?x)^(
          .*\.[rR]|
          .*\.feather|
          .*\.jpeg|
          .*\.pdf|
          .*\.png|
          .*\.py|
          .*\.RData|
          .*\.rds|
          .*\.Rds|
          .*\.Rproj|
          .*\.sh|
          (.*/|)\.gitignore|
          (.*/|)\.pre-commit-.*|
          (.*/|)\.Rbuildignore|
          (.*/|)\.Renviron|
          (.*/|)\.Rprofile|
          (.*/|)\.travis\.yml|
          (.*/|)appveyor\.yml|
          (.*/|)NAMESPACE|
          (.*/|)renv/settings\.dcf|
          (.*/|)renv\.lock|
          (.*/|)WORDLIST|
          \.github/workflows/.*|
          data/.*|
          inst/hooks/.*|
          inst/pre-commit-.*|
          inst/usethis-legacy-hook|
          LICENSE|
          renv/.*|
          revdep/.*|
          tests/testthat/in/.*|
          )$
    -   id: readme-rmd-rendered
    -   id: parsable-R
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: no-browser-statement
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: no-debug-statement
        exclude: >
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: deps-in-desc
        exclude: > 
          (?x)^(
          inst/hooks/exported/pkgdown.R|
          tests/testthat/in/.*|
          inst/update-renv-prepare.R|
          inst/update-ppm-url.R|
          inst/update-dependency-graph-existing-packages\.R|
          inst/update-existing-hook-dependencies\.R|
          renv/activate.R|
          vignettes/FAQ\.Rmd|
          )$
    -   id: pkgdown
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v4.6.0
    hooks: 
    -   id: check-added-large-files
    -   id: end-of-file-fixer
        exclude: '\.Rd' # sometimes roxygen fails to generate EOF blank line.
    -   id: file-contents-sorter
        files: '^\.Rbuildignore$'
-   repo: https://github.com/pre-commit-ci/pre-commit-ci-config
    rev: v1.6.1
    hooks:
    # Only required when https://pre-commit.ci is used for config validation
    -   id: check-pre-commit-ci-config
-   repo: https://github.com/lorenzwalthert/gitignore-tidy
    rev: 0.1.2
    hooks: 
    -   id: tidy-gitignore
-   repo: local
    hooks:
    -   id: consistent-release-tag
        name: consistent-release-tag
        entry: Rscript inst/hooks/local/consistent-release-tag.R
        language: r
        additional_dependencies:
        -    docopt
        -    fs
        -    yaml
        -    purrr
        -    glue
        -    rlang
        -    git2r
        -    desc
        -    lorenzwalthert/precommit
        stages: [commit, push]
    -   id: hooks-config-to-inst
        name: hooks-config-to-inst
        entry: Rscript inst/hooks/local/hooks-config-to-inst.R
        language: r
        stages: [commit, push]
        additional_dependencies:
        -    fs
        require_serial: True
    -   id: spell-check-exclude-identical
        name: spell-check-exclude-identical
        entry: Rscript inst/hooks/local/spell-check-exclude-identical.R
        language: r
        stages: [commit, push]
        additional_dependencies:
        -    magrittr
        -    purrr
        -    yaml
        -    here
        -    rlang
        require_serial: True
    -   id: forbid-to-commit
        name: Don't commit common R artifacts
        entry: Cannot commit .Rhistory, .Rdata, .csv and similar.
        language: fail
        files: '\.(Rhistory|csv|RData|Rds|rds)$'
        # `exclude: <regex>` to allow committing specific files.
    -   id: spell-check-ordered-exclude
        name: Ordered regex pattern for spell-check exclusion
        description: Ensure alphabetical order in `exclude:` key of spell check.
        entry: Rscript inst/hooks/local/spell-check-ordered-exclude.R
        language: r
        files: '^(.*/|)\.?pre-commit-config.*\.yaml$'
        additional_dependencies:
        -    magrittr
        -    yaml
        -    purrr
        -    rlang

default_stages: ["commit"]

ci:
    skip: [consistent-release-tag, spell-check-ordered-exclude, pkgdown]
    autoupdate_schedule: monthly

and pre-commit.ci turned it into

# All available hooks: https://pre-commit.com/hooks.html
# R specific hooks: https://github.com/lorenzwalthert/precommit
repos:
-   repo: https://github.com/lorenzwalthert/precommit
    rev: v0.4.3.9001
    hooks: 
    -   id: style-files
        args: [--style_pkg=styler, --style_fun=tidyverse_style, --cache-root=styler-perm]
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          renv/.*
          )$
    -   id: roxygenize
        additional_dependencies:
        -    cli
        -    fs
        -    here
        -    magrittr
        -    purrr
        -    R.cache
        -    rlang
        -    rprojroot
        -    rstudioapi
        -    withr
        -    yaml
        -    r-lib/pkgapi
    # codemeta must be above use-tidy-description when both are used
    # -   id: codemeta-description-updated
    -   id: use-tidy-description
    -   id: spell-check
        exclude: >
          (?x)^(
          .*\.[rR]|
          .*\.feather|
          .*\.jpeg|
          .*\.pdf|
          .*\.png|
          .*\.py|
          .*\.RData|
          .*\.rds|
          .*\.Rds|
          .*\.Rproj|
          .*\.sh|
          (.*/|)\.gitignore|
          (.*/|)\.pre-commit-.*|
          (.*/|)\.Rbuildignore|
          (.*/|)\.Renviron|
          (.*/|)\.Rprofile|
          (.*/|)\.travis\.yml|
          (.*/|)appveyor\.yml|
          (.*/|)NAMESPACE|
          (.*/|)renv/settings\.dcf|
          (.*/|)renv\.lock|
          (.*/|)WORDLIST|
          \.github/workflows/.*|
          data/.*|
          inst/hooks/.*|
          inst/pre-commit-.*|
          inst/usethis-legacy-hook|
          LICENSE|
          renv/.*|
          revdep/.*|
          tests/testthat/in/.*|
          )$
    -   id: readme-rmd-rendered
    -   id: parsable-R
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: no-browser-statement
        exclude: > 
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: no-debug-statement
        exclude: >
          (?x)^(
          tests/testthat/in/.*|
          )$
    -   id: deps-in-desc
        exclude: > 
          (?x)^(
          inst/hooks/exported/pkgdown.R|
          tests/testthat/in/.*|
          inst/update-renv-prepare.R|
          inst/update-ppm-url.R|
          inst/update-dependency-graph-existing-packages\.R|
          inst/update-existing-hook-dependencies\.R|
          renv/activate.R|
          vignettes/FAQ\.Rmd|
          )$
    -   id: pkgdown
-   repo: https://github.com/pre-commit/pre-commit-hooks
    rev: v5.0.0
    hooks: 
    -   id: check-added-large-files
    -   id: end-of-file-fixer
        exclude: '\.Rd' # sometimes roxygen fails to generate EOF blank line.
    -   id: file-contents-sorter
        files: '^\.Rbuildignore$'
-   repo: https://github.com/pre-commit-ci/pre-commit-ci-config
    rev: v1.6.1
    hooks:
    # Only required when https://pre-commit.ci is used for config validation
    -   id: check-pre-commit-ci-config
-   repo: https://github.com/lorenzwalthert/gitignore-tidy
    rev: 0.1.2
    hooks: 
    -   id: tidy-gitignore
-   repo: local
    hooks:
    -   id: consistent-release-tag
        name: consistent-release-tag
        entry: Rscript inst/hooks/local/consistent-release-tag.R
        language: r
        additional_dependencies:
        -    docopt
        -    fs
        -    yaml
        -    purrr
        -    glue
        -    rlang
        -    git2r
        -    desc
        -    lorenzwalthert/precommit
        stages: [Nonepre-commitNone, Nonepre-pushNone]
    -   id: hooks-config-to-inst
        name: hooks-config-to-inst
        entry: Rscript inst/hooks/local/hooks-config-to-inst.R
        language: r
        stages: [Nonepre-commitNone, Nonepre-pushNone]
        additional_dependencies:
        -    fs
        require_serial: True
    -   id: spell-check-exclude-identical
        name: spell-check-exclude-identical
        entry: Rscript inst/hooks/local/spell-check-exclude-identical.R
        language: r
        stages: [Nonepre-commitNone, Nonepre-pushNone]
        additional_dependencies:
        -    magrittr
        -    purrr
        -    yaml
        -    here
        -    rlang
        require_serial: True
    -   id: forbid-to-commit
        name: Don't commit common R artifacts
        entry: Cannot commit .Rhistory, .Rdata, .csv and similar.
        language: fail
        files: '\.(Rhistory|csv|RData|Rds|rds)$'
        # `exclude: <regex>` to allow committing specific files.
    -   id: spell-check-ordered-exclude
        name: Ordered regex pattern for spell-check exclusion
        description: Ensure alphabetical order in `exclude:` key of spell check.
        entry: Rscript inst/hooks/local/spell-check-ordered-exclude.R
        language: r
        files: '^(.*/|)\.?pre-commit-config.*\.yaml$'
        additional_dependencies:
        -    magrittr
        -    yaml
        -    purrr
        -    rlang

default_stages: ["pre-commit"]

ci:
    skip: [consistent-release-tag, spell-check-ordered-exclude, pkgdown]
    autoupdate_schedule: monthly

and then failed:

build attempt 1...
    => error
    An error has occurred: InvalidConfigError: 
    ==> File .pre-commit-config.yaml
    ==> At Config()
    ==> At key: repos
    ==> At Repository(repo='local')
    ==> At key: hooks
    ==> At Hook(id='consistent-release-tag')
    ==> At index 0
    =====> Expected one of commit-msg, manual, post-checkout, post-commit, post-merge, post-rewrite, pre-commit, pre-merge-commit, pre-push, pre-rebase, prepare-commit-msg but got: 'Nonepre-commitNone'
    Check the log at /pc/pre-commit.log
build attempt 2...
    => error
    An error has occurred: InvalidConfigError: 
    ==> File .pre-commit-config.yaml
    ==> At Config()
    ==> At key: repos
    ==> At Repository(repo='local')
    ==> At key: hooks
    ==> At Hook(id='consistent-release-tag')
    ==> At index 0
    =====> Expected one of commit-msg, manual, post-checkout, post-commit, post-merge, post-rewrite, pre-commit, pre-merge-commit, pre-push, pre-rebase, prepare-commit-msg but got: 'Nonepre-commitNone'
    Check the log at /pc/pre-commit.log