Skip to content

Emit durable migration manifests and support idempotent reruns #74

Open

Description

@flyingrobots

Idea

Make backlog migrations emit a durable machine-readable manifest and support safe reruns.

Echo's migration produced a useful Markdown archive README and a temporary local JSON file, but the durable repo artifact is not machine-readable enough for future tooling. Reruns should also be idempotent rather than risking duplicate issues.

Possible shape

  • Commit docs/method/graveyard/github-issue-migration/manifest.json beside the human README.
  • Include original path, archived path, issue URL/number, source lane, final labels, original file digest, migration tool version, migration timestamp, and repo remote.
  • Stamp migrated issues with a hidden marker or stable footer containing the source path and digest.
  • On rerun, detect existing migrated issues by marker before creating anything.
  • Provide --dry-run, --resume, and --verify-manifest modes.

Why it matters

The migration should be auditable by tools, not only humans reading a large table. Idempotency also makes the script safe for real repositories with partial failures.

Acceptance sketch

  • A failed migration can be resumed without duplicate issues.
  • A completed migration can be verified against GitHub Issues and archive files.
  • The manifest is deterministic except for explicit timestamp/run metadata.
  • Lane/label preservation bugs become easier to detect automatically.

Activity

  1. coderabbitai commented on Jun 1, 2026

    @coderabbitai
    🔗 Related PRs

    #18 - Land 0030-0033 repo-truth and MCP debt fixes [merged]
    #64 - Make GitHub Issues the Method work tracker [closed]


    📝 Issue Planner

    Check the box below or use the @coderabbitai plan command to generate an implementation plan and prompts that you can use with your favorite coding assistant.

    • Create Plan

    🧪 Issue enrichment is currently in open beta.

    You can configure auto-planning by selecting labels in the issue_enrichment configuration.

    To disable automatic issue enrichment, add the following to your .coderabbit.yaml:

    issue_enrichment:
      auto_enrich:
        enabled: false

    💬 Have feedback or questions? Drop into our discord!

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

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions