Prevent duplicate actions during repeated triage and planning runs
メンテナーはふだん 1 日以内に返信
@chagong がすでに取り組んでいます。
2026年8月14日 から。
評価
この issue はまだ評価されていません。
説明
Summary
Make repeated IssueLens invocations idempotent so issue edits, human comments, workflow retries, and repeated commands do not create duplicate comments or redundant state changes.
Depends on #13 and #15. Trusted-command replay protection from #14 should use the same event identity and idempotency model.
Problem
Once IssueLens responds to follow-up issue activity, the same issue may be invoked repeatedly because of:
- Multiple human edits or comments
- GitHub event redelivery
- Workflow retries
- Repeated manual dispatch
- Duplicate trusted commands
- IssueLens artifact publication followed by unrelated activity
Without stable action identity, the agent can repeat requests for evidence, publish identical planning artifacts, or perform redundant label and assignment writes.
Scope
- Define a stable event/action identity using trusted event metadata, repository, issue number, sub-agent responsibility, and requested operation.
- Detect prior IssueLens-authored triage comments and planning artifacts.
- Avoid posting the same clarification request when no new human evidence exists.
- Avoid adding labels that are already present.
- Avoid rewriting the same complete assignee set.
- Publish planning revisions only when new feedback or evidence materially changes the artifact, unless the user explicitly requests republication.
- Distinguish newly added human evidence from context already analyzed by a prior run.
- Make a repeated invocation with no meaningful change a successful no-op with an honest result.
- Add stable, non-secret markers or metadata to IssueLens-authored comments if needed for artifact and action identity.
Safety and compatibility
- Do not rely solely on generated prose comparison when a stable event or artifact marker can be used.
- Never treat human-authored marker-like text as trusted IssueLens metadata.
- Do not hide changed conclusions merely because a prior run exists.
- Preserve the auditability of revised planning artifacts.
- Keep the existing explicit-write authorization and sub-agent ownership rules.
Acceptance criteria
- Redelivery of the same GitHub event does not repeat any write.
- Re-running without new evidence does not post another triage clarification comment.
- Existing labels are not redundantly added.
- An unchanged complete assignee set is not written again.
- Unchanged planning artifacts are not republished by default.
- New human evidence causes a new analysis and identifies what materially changed.
- A repeated event can complete successfully as a no-op.
- Marker-like text written by a human cannot impersonate trusted IssueLens state.
- Trusted commands from #14 cannot be replayed by workflow retry or event redelivery.
- Idempotency behavior is covered by automated tests for triage comments, planning artifacts, labels, assignments, and commands.
Non-goals
- Adding event triggers (#13)
- Choosing the responsible sub-agent (#15)
- Adding label-removal or assignee-removal operations
- Editing existing planning comments in place
- 主要言語
- Python
- スター
- 0
- フォーク
- 2
- 平均マージ
- 20時間 41分
- マージ済み PR(30日)
- 18
環境構築
- Dockerfile または Docker Compose ファイルあり
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/IssueLens のほかの issue
-
Add evaluation coverage for issue-loop routing outcomes再び着手できるかも @chagong が 54 日前に担当しましたが、オープン中のプルリクエストはありません。 オープンenhancement
microsoft/IssueLens#15 · コメント 2 件 · 担当者 1 名 ·
メンテナーはふだん 1 日以内に返信
microsoft/IssueLens の issue をすべて見る
似ている issue
-
難易度 1/5 1時間未満 初心者へのやさしさ 85/100
Vector35/community-plugins#376 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
py-econometrics/pyfixest#1883 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
ietf-tools/rfc2html#81 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 88/100
mysql/mysql-operator#60 ·
-
Python: Bug: split_plaintext_paragraph / split_markdown_paragraph can return a chunk larger than max_tokens対応中かも @xThreeh が今日担当しました。 オープンpython triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
microsoft/semantic-kernel#14566 ·
メンテナーはふだん 4 日以内に返信