Skip to content

feat: check for existing PRs / branches before diagnosing an issue — 3.3.0 (#366) - #373

Merged
kiki830621 merged 2 commits into
mainfrom
idd/366-existing-work-lookup
Oct 7, 2026
Merged

kiki830621 merged 2 commits into
mainfrom
idd/366-existing-work-lookup

Conversation

@kiki830621

@kiki830621 kiki830621 commented Oct 7, 2026 •

Copy link
Copy Markdown
Member

Summary

Before diagnosing or implementing, IDD now asks whether an open PR or an existing branch already addresses the issue (#366).

  • scripts/check-existing-work.sh answers this for every issue in one call. It fetches the PR lists once, runs git fetch, and reads the remote-tracking refs for branches. It returns a verdict per issue: blocked, resume, unknown or clear.
  • idd-all, idd-all-chain, idd-diagnose, idd-implement and idd-close consult it. references/pr-issue-matching.md documents the matching rules.
  • New suite: check-existing-work. Spectra change: add-existing-work-lookup (13/13 tasks).
  • Version 3.3.0. The [Unreleased] CHANGELOG section becomes 3.3.0, and the README version table gets a 3.3.0 row.

Fixed before merge (security review)

  • When the helper crashed, the four starting/diagnosing skills fell back to an empty string. jq prints nothing for empty input, so the verdict came out empty (verdict= ). They now fall back to {}, which gives unknown.
  • idd-close Step 1.5 passed when gh issue view failed, even with an open PR declaring the issue. It now refuses in that case.
  • Both are covered by tests that execute each skill's own snippet. The spec gains two scenarios. Commit b6c5104.

Notes

Refs #366

…the issue before diagnosing it — 3.3.0 (#366)

`/idd-all #N` on an issue an open PR already implements used to diagnose and implement it again on a new
`idd/N-*` branch; the only issue→PR lookup was idd-close Step 1.5, at the end. `scripts/check-existing-work.sh`
answers the question for every issue in one call (PR lists fetched once, `git fetch` plus remote-tracking refs
for branches) and returns a verdict per issue: blocked / resume / unknown / clear. idd-all, idd-all-chain,
idd-diagnose, idd-implement and idd-close consult it; `references/pr-issue-matching.md` documents the matching.
New suite `check-existing-work`; Spectra change `add-existing-work-lookup` (13/13 tasks).

Written by another session; moved off PR #318's branch onto main and committed here without an /idd-verify run,
by maintainer decision. The [Unreleased] CHANGELOG section becomes 3.3.0.

Refs #366
…n answer (#366)

Found by a security review of PR #373 before merge.

- The four starting/diagnosing skills fell back to `EW_JSON=""` when the helper crashed. jq prints nothing for
  empty input, so `// "unknown"` never ran and the verdict came out empty ("verdict= "), which no row of the
  table covers. They now fall back to `{}`, which yields `unknown`.
- idd-close Step 1.5 passed when `gh issue view` failed: the helper needs the issue's creation time to match PRs,
  so the issue had no evidence and an open PR declaring it was treated as absent. The gate now refuses then too.

The check-existing-work suite now executes each skill's own snippet (crashed helper → verdict=unknown; unreadable
issue + declaring open PR → idd-close refuses). Spec gains the two scenarios; CHANGELOG 3.3.0 records it.

Refs #366
@kiki830621
kiki830621 merged commit d87d7d2 into main Oct 7, 2026
1 check passed
@kiki830621
kiki830621 deleted the idd/366-existing-work-lookup branch October 9, 2026 10:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant