Skip to content

idd-issue:cross-target 對 third-party upstream 開 issue 時,config 寫回/Clarity Surface/baseline tag 三處應成為正式的非污染行為(含兩個潛在 bug) #363

Description

@kiki830621

Problem

Original text:
「這次跟 IDD 標準流程不同的地方

  • 沒有把 target 寫進設定檔:寫進去的話,以後在 ~/Connections/atcp 開的 issue 會全部被導到 oMLX。
  • 沒有在上游 issue 加 IDD 的 Clarity Surface 註記:那是別人的公開 repo,我在本地做了自審,沒有把註記貼上去。
  • 不建 milestone、不打 baseline tag:這兩件事在這個情境不適用,而且你也沒有那個 repo 的權限。

這種設定方是寫成skill寫進plugin了」
— Source: 使用者在 2026-10-02 session 引用 AI 的回報並要求寫進 plugin

2026-10-02 用 /idd-issue 對 third-party upstream(jundot/omlx,使用者唯讀)開了 jundot/omlx#4199。當時的 cwd 是一個不是 git repo 的本機管理資料夾,target 是使用者在指令裡點名的。AI 有三處必須手動偏離 skill 才沒出錯;這些偏離目前只存在於那一次對話,下次能不能做對取決於模型記不記得。

使用者的要求:把這三處偏離寫成 skill 的正式行為。

讀 skill 原文時另外發現,其中兩處照現有文字執行會出錯,不只是「不夠周全」:

  1. Step 0.5.E 在 cwd 不是 git repo 時的分支是壞的:ORIGIN 取不到 → gh repo view "" 失敗 → VPERM 為空 → 落入 IS_THIRD_PARTY=true。E-TP 選單的「Upstream(原作者 $ORIGIN)」選項因此是空字串;而 Step 0.5.F 會把選到的 target 寫進 $PWD/.claude/.idd/local.json——也就是那個無關的資料夾。之後在那裡開的每一張 issue 都會被導到 oMLX。
  2. Step 3.6 baseline tag 打在 cwd 的 repo,而不是 $GITHUB_REPO:git tag "$TAG" "$DEFAULT_BRANCH" 在 cwd 執行,DEFAULT_BRANCH 卻是從 $GITHUB_REPO 查來的。cwd 若剛好是另一個 git repo,idd-4199-baseline 會被打進錯的 repo 並 push 出去(graceful-skip 只在指令失敗時生效,這裡指令會成功)。

Type

feature(含兩個潛在 bug,見上)

範圍:哪個情境(封閉列舉)

本 issue 只處理「cross-target invocation」,定義為下列兩類之一,不得依相似性類推第三類:

# 條件
(a) $PWD 不在任何 git work tree 內
(b) $PWD 在 git work tree 內,但其 origin 既不是解析出的 $GITHUB_REPO,也不是 $GITHUB_REPO 的 fork

$PWD 是 target 的 clone 或 fork 的情境已由 #192 / #193 / #195 處理,不在本 issue 範圍。

Expected

  1. Target 不寫回 config:cross-target invocation 的 target 選擇視同 --target(per-invocation),不寫入 $PWD 的 config,並印一行說明「此次 target 不會被記住」。
  2. Clarity Surface 不貼到 third-party 的 issue:SCRUB_LEVEL=enforce(使用者對 target 無 write 權)時,Step 4.6 仍跑 /idd-clarify,但結果只留在本地(終端機輸出+本地檔案),不 PATCH 到上游 issue body。idd-diagnose Step 0.5 gate 對 third-party target 讀這份本地紀錄,而不是把「body 沒有 Clarity Surface」當成 legacy issue 靜默放行。
  3. Baseline tag 只在 cwd 的 repo 等於 $GITHUB_REPO(或其 fork)時打;cross-target 一律跳過並印一行原因。Milestone 只在使用者對 target 有 write 權時建立。

Actual

  • Step 0.5.F 無條件寫回 $PWD;cwd 非 git repo 時 E-TP 選單出現空白選項。
  • Step 4.6 規定 mandatory auto-delegate /idd-clarify,而它會 PATCH issue body——third-party 公開 repo 也照做。
  • Step 3.6 的 tag 對象是 cwd 的 repo,與 $GITHUB_REPO 無關。

Impact

  • 錯誤導向:一次對外回報就能讓本機資料夾之後的所有 issue 被導到別人的 repo。
  • 對外噪音:IDD 內部註記被貼進別人的公開 issue。
  • 錯誤的 tag:baseline tag 被打進、並 push 到不相干的 repo。

Clarity Surface(idd-clarify run 2026-10-02T11:56:08Z)

Type Source Question for you Status
missing-context "結果只留在本地(終端機輸出+本地檔案)" third-party 的 Clarity 紀錄要存在哪裡?cwd 的 .claude/.idd/(cwd 可能根本不是 repo),還是 ~/.claude/ 底下一個全域位置? surfaced
ambiguity "SCRUB_LEVEL=enforce(使用者對 target 無 write 權)時" 「不把 Clarity 貼上去」只看有沒有 write 權嗎?自己有 write 權、但別人也會讀的公開 repo(例如團隊共用的 repo)要不要比照? surfaced
missing-context "本 issue 只處理「cross-target invocation」" idd-clarify 這類其他 idd-* skill 在 cross-target 下有同樣的問題(cwd 不是 git repo 就中止、文件寫支援 --repo 卻沒解析),要併進這張 issue,還是另開? surfaced

Linked-Context Siblings Filed (v2.48.0+ #529)

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