Problem
IDD 目前沒有處理「改變 issue 編號」的正式流程。需要搬遷 issue 的情境(例如公開 repo 上的 issue 含不該公開的內容)只能手動拼湊:
- GitHub 內建 Transfer issue 會連編輯歷史一起搬走,無法清除已洩漏的內容。
- 編輯 issue 只會覆蓋最新版,「已編輯」歷史任何人可見。
- 只有「以清理過的內容建立新 issue → 刪除舊 issue」才能清掉歷史,但這會讓編號改變,牽動其他引用。
Proposed: /idd-transfer
以清理後的內容把 issue 搬到新編號,並處理連帶影響:
- 掃描:列出要搬的 issue 與其 comment;PR 無法刪除,只列出並提示改走 GitHub Support。
- 備份:搬遷前把原文存到本機。
- 重建:用(可選的)替換規則產生新 issue,保留 label、開關狀態與 comment(標註原留言日期)。
- 建立對照表:
舊號 → 新號,持久化到檔案。
- 改寫引用:套用對照表,更新其他 issue / comment 中的
#N、owner/repo#N、issue URL、markdown 連結文字。
- 檔案與歷史(選用):同一份對照表套用到 repo 檔案與 commit message;若改寫歷史,SHA 會改變,須連帶更新跨 repo 的
Package.resolved revision 與 submodule 指標。
- 刪除舊 issue:
deleteIssue,需 ADMIN 權限;不可逆,須顯式確認。
- 驗證:讀回確認殘留詞為 0、無指向舊編號的引用。
Acceptance
- 先跑 dry-run,列出將建立/刪除/改寫的項目,使用者確認後才動手。
- 建立新 issue 全部成功後才刪除舊 issue;任何一步失敗不刪。
- 對照表可重跑(idempotent)。
- 說明限制:PR 不可刪;被編輯過但未搬遷的 issue 仍有編輯歷史;搜尋引擎快取須另行處理。
Problem
IDD 目前沒有處理「改變 issue 編號」的正式流程。需要搬遷 issue 的情境(例如公開 repo 上的 issue 含不該公開的內容)只能手動拼湊:
Proposed:
/idd-transfer以清理後的內容把 issue 搬到新編號,並處理連帶影響:
舊號 → 新號,持久化到檔案。#N、owner/repo#N、issue URL、markdown 連結文字。Package.resolvedrevision 與 submodule 指標。deleteIssue,需 ADMIN 權限;不可逆,須顯式確認。Acceptance