Skip to content

Migration follow-up: transfer the 41 open issues, then archive the five absorbed repos #84

Description

@balbasty

The six-repo consolidation is published: main is the consolidated tree, teeny is preserved, CI is merged and green, and fastfields-dlpack builds against the new layout. Two items could not be completed by the migrating session and are handed off here.

1. Transfer the 41 open issues (blocked on permissions)

GitHub exposes issue transfer only through the GraphQL transferIssue mutation. The migrating session's GraphQL was restricted to a pinned set of PR-review operations, and the REST API has no transfer endpoint at all.

This was deliberately not worked around by recreating the issues: that loses original authorship and comment history, does not close the originals, and would strand 41 open issues in repos about to become read-only.

The full inventory — every open issue by source repo and original number — is in MIGRATION-PROVENANCE.md §3, with a new column to fill in as they move.

repoopen
fastfields-cpu-lib8
fastfields-cuda-lib5
fastfields-cpu-impl6
fastfields-cuda-impl8
fastfields-kernels14

Only open issues move. Closed ones stay as history. Pull requests cannot be transferred at all and will remain at their original URLs permanently.

Transfers renumber, so please record old→new in MIGRATION-PROVENANCE.md as you go — §2 of that file explains why leaving the mapping unrecorded is actively dangerous here: #55, #66 and #47 each name two different open issues in two different source repos.

2. Archive the five repos — strictly after (1)

Do not archive before the transfer completes. Archived repositories are read-only, and an issue cannot be transferred out of one without unarchiving it first. Archiving early converts a permissions blocker into a manual unarchive/re-archive cycle.

Per repo, in this order: write the README notice first (archived repos are read-only), then archive.

This repository was consolidated into fastfields/fastfields-lib on 2026-08-19 and is read-only. Its source now lives at <prefix>/ in that repository — see MIGRATION-PROVENANCE.md.

Path prefixes: cpu-libinclude/fastfields/api/cpu/ + src/lib-cpu/; cuda-libinclude/fastfields/api/cuda/ + src/lib-cuda/; cpu-implinclude/fastfields/impl/cpu/; cuda-implinclude/fastfields/impl/cuda/; kernelsinclude/fastfields/impl/kernels/.

3. Then remove the two dead org reusable workflows

fastfields/.github's cpp-submodule-bump.yml and cpp-submodule-staleness.yml.

Not yet dead. Four of the five repos still have live workflows calling them (fastfields-cpu-lib, fastfields-cuda-lib, fastfields-cpu-impl, fastfields-cuda-impl each ship submodule-bump.yaml and submodule-staleness.yaml; fastfields-kernels does not). They stop being consumers only once those repos are archived, so this step is gated on (2). Removing them now would break real CI.

Note on the teeny branch

Merging main into teeny currently produces exactly one conflict, in CLAUDE.md — both branches edited it. make/common.mk (the .DEFAULT_GOAL fix) auto-merges cleanly. Nothing structural.

And per MIGRATION-PROVENANCE.md §4: claude-fastfields-to-teeny PRs target teeny, not main.

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

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions