Problem
kata edit can change an issue's title/body/owner/priority/parent/labels/relationships, but not its project. projects merge only operates on whole projects. So a single mis-filed issue can't be relocated without close-and-recreate — which loses history, comments, short_id, and relationships.
Where it bites (real usage)
Running one daemon with ~16 projects (repo-per-project). Two recurring needs with no clean path:
- Issues filed into a pilot-era catch-all project before per-repo projects existed.
- Rationalizing an overloaded project (107 open issues) by moving subsystem issues into dedicated / inbox projects.
We fell back to area:* labels for navigation — helpful, but labels don't fix mis-filed issues.
Proposal
kata move <ref> <project> (or kata edit <ref> --project <name>), with --dry-run.
Design notes
short_id is per-project; a move must re-key qualified_id while keeping the ULID stable — decide preserve-vs-reissue short_id and collision handling in the target project.
- Preserve comments / events / labels / owner / priority / timestamps; emit a
moved event (old → new project) for audit.
- Cross-project relationships: the CLI already accepts
project#short_id refs, so blocked_by / blocks / parent / related should survive a move — worth confirming.
- Nice-to-have: bulk move by label/filter (the "split an overloaded project" case directly).
Version: 33cfc4b
Problem
kata editcan change an issue's title/body/owner/priority/parent/labels/relationships, but not its project.projects mergeonly operates on whole projects. So a single mis-filed issue can't be relocated without close-and-recreate — which loses history, comments, short_id, and relationships.Where it bites (real usage)
Running one daemon with ~16 projects (repo-per-project). Two recurring needs with no clean path:
We fell back to
area:*labels for navigation — helpful, but labels don't fix mis-filed issues.Proposal
kata move <ref> <project>(orkata edit <ref> --project <name>), with--dry-run.Design notes
short_idis per-project; a move must re-keyqualified_idwhile keeping the ULID stable — decide preserve-vs-reissueshort_idand collision handling in the target project.movedevent (old → new project) for audit.project#short_idrefs, soblocked_by/blocks/parent/relatedshould survive a move — worth confirming.Version:
33cfc4b