You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
work-items: no tracking-issue resolver for Dependabot alerts — the lane's dedupe pre-flight is title-scoped, so a tracked alert reads as untracked (medley alert #29 vs medley#1658) #1741
This was generated by AI — observed live by autonomous /work-items:work-loop lane instance MELO-LAP-001-worker-202607290838, cycle 1.
The miss
This lane concluded that melodic-software/medley Dependabot alert #29 was tracked by no
issue, and came within one step of filing a near-duplicate. It is tracked: melodic-software/medley#1658 — "Dependabot #29: js-yaml 5.2.2 blocked by markdownlint-cli2
exact pin and npm cooldown" — open, needs-human, with a full analysis of why the alert cannot
be closed yet.
Consequence, in two parts:
A near-duplicate issue was almost filed against an alert already carrying a considered,
human-gated resolution plan.
A real, open, high-severity alert reads as untracked — so the same wasted investigation
recurs for free on every future cycle, and any "untracked alerts" count is wrong.
Root cause: title-scoped search, not a title pattern
The originally suspected cause was a title-shape mismatch — detection matching Dependabot alert #N: while #1658 is titled Dependabot #29:. That is wrong as a root cause.
Measured against the live repository:
Query
Result
gh issue list --search 'in:title "Dependabot alert #29"'
0 hits
gh issue list --search 'in:title "Dependabot #29"'
So the defect is not that the title pattern is wrong. It is that the search was scoped to
titles at all, discarding the body — where the alert number and its canonical /security/dependabot/<N> URL actually live, in a form no title convention has to agree on.
There is no single title convention to fix
melodic-software/medley currently uses at least two title shapes for the same concept:
Any fix shaped as "match the right title pattern" cannot cover #1640, and would break again the
next time a batch issue is filed. The reliable linkage keys are the body's alert number and the /security/dependabot/<N> URL.
The three query results in the table above, run against the live repository this cycle.
Both title conventions coexist in medley today.
No Dependabot-specific linkage logic exists anywhere. Searched plugins/** (all plugins), docs/** and docs/conventions/loop-lane/, plus medley/.claude/**, medley/.github/workflows/**, standards, ci-workflows, github-iac, dotfiles. Every Dependabot hit is auto-merge policy, PR issue-linkage gating, dependabot.yml coverage, or
branch naming. Nothing maps an alert number to a tracking issue.
The generic path the lane actually follows is specified, and it is title-similarity:
plugins/work-items/reference/dogfood-filing.md — "The sequence", beat 1: "Dedupe first
(mechanical search + model sameness). Before creating anything, run the search-before-create
pre-flight … the same read track add performs."
plugins/work-items/skills/track/actions/add.md:37 — that pre-flight: "If a potential
duplicate is found (similar title)…"
So a lane about to file an alert issue is routed to a duplicate check whose only stated signal is
title similarity — against a repo where the alert number lives in the body and the titles follow
no single convention. dogfood-filing.md does say sameness is "a model judgment, not a string
match", but the mechanical search it feeds is title-scoped, so a body-only match never reaches
the judgment step.
Not verified — flagged explicitly: the exact query this lane issued is not recoverable. The
miss was reported to this session rather than captured with its command, so the table above shows
what title-scoped search does generally, not a replayed transcript of the failing call. Whether
the lane followed add.md:37 or improvised is therefore inference, not evidence — but both land
on the same title-scoped read.
Fix shape deliberately not chosen
Left to a human. Recording only the constraints the evidence imposes on any fix:
The check must key on something durable — the body's alert number or the /security/dependabot/<N> URL — not a title pattern.
If the fix lands in the generic add.md:37 pre-flight rather than a Dependabot-specific path,
note that widening that search from titles to bodies changes dedupe behavior for every lane
that files through dogfood-filing.md, not just security work. That blast radius is a reason
this is human-gated rather than a mechanical patch.
Related
melodic-software/medley#1658 — the issue that was missed
melodic-software/medley#1640 — the range-titled issue that breaks any per-alert title pattern
This was generated by AI — observed live by autonomous
/work-items:work-looplane instanceMELO-LAP-001-worker-202607290838, cycle 1.The miss
This lane concluded that
melodic-software/medleyDependabot alert #29 was tracked by noissue, and came within one step of filing a near-duplicate. It is tracked:
melodic-software/medley#1658— "Dependabot #29: js-yaml 5.2.2 blocked by markdownlint-cli2exact pin and npm cooldown" — open,
needs-human, with a full analysis of why the alert cannotbe closed yet.
Consequence, in two parts:
human-gated resolution plan.
recurs for free on every future cycle, and any "untracked alerts" count is wrong.
Root cause: title-scoped search, not a title pattern
The originally suspected cause was a title-shape mismatch — detection matching
Dependabot alert #N:while #1658 is titledDependabot #29:. That is wrong as a root cause.Measured against the live repository:
gh issue list --search 'in:title "Dependabot alert #29"'gh issue list --search 'in:title "Dependabot #29"'gh issue list --search 'Dependabot alert 29'(unscoped)The unscoped search finds #1658 even using the "wrong" phrasing, because the alert number is
durably present in the body:
So the defect is not that the title pattern is wrong. It is that the search was scoped to
titles at all, discarding the body — where the alert number and its canonical
/security/dependabot/<N>URL actually live, in a form no title convention has to agree on.There is no single title convention to fix
melodic-software/medleycurrently uses at least two title shapes for the same concept:Dependabot #29: …(Loop-lane convention: record the fresh-context review boundary as an explicit decision #1658),Dependabot #19: …(feat(ci): mechanize the surface/clause coverage matrix for the review-disposition contract #1659) — one alert per issueOpen Dependabot alerts (19-22): …(fix(disk-hygiene): engine gate over-gates a consumer's own engine-named script when its absolute path holds a non-keep-class character #1640) — a range, where no per-alert number appears inthe title at all
Any fix shaped as "match the right title pattern" cannot cover #1640, and would break again the
next time a batch issue is filed. The reliable linkage keys are the body's alert number and the
/security/dependabot/<N>URL.What is verified, and what is not
Verified:
Loop-lane convention: record the fresh-context review boundary as an explicit decision #1658 exists, is open, and tracks alert build: Bump the github-actions group with 14 updates #29 (
gh issue view).The three query results in the table above, run against the live repository this cycle.
Both title conventions coexist in medley today.
No Dependabot-specific linkage logic exists anywhere. Searched
plugins/**(all plugins),docs/**anddocs/conventions/loop-lane/, plusmedley/.claude/**,medley/.github/workflows/**,standards,ci-workflows,github-iac,dotfiles. EveryDependabothit is auto-merge policy, PR issue-linkage gating,dependabot.ymlcoverage, orbranch naming. Nothing maps an alert number to a tracking issue.
The generic path the lane actually follows is specified, and it is title-similarity:
plugins/work-items/reference/dogfood-filing.md— "The sequence", beat 1: "Dedupe first(mechanical search + model sameness). Before creating anything, run the search-before-create
pre-flight … the same read
track addperforms."plugins/work-items/skills/track/actions/add.md:37— that pre-flight: "If a potentialduplicate is found (similar title)…"
So a lane about to file an alert issue is routed to a duplicate check whose only stated signal is
title similarity — against a repo where the alert number lives in the body and the titles follow
no single convention.
dogfood-filing.mddoes say sameness is "a model judgment, not a stringmatch", but the mechanical search it feeds is title-scoped, so a body-only match never reaches
the judgment step.
Not verified — flagged explicitly: the exact query this lane issued is not recoverable. The
miss was reported to this session rather than captured with its command, so the table above shows
what title-scoped search does generally, not a replayed transcript of the failing call. Whether
the lane followed
add.md:37or improvised is therefore inference, not evidence — but both landon the same title-scoped read.
Fix shape deliberately not chosen
Left to a human. Recording only the constraints the evidence imposes on any fix:
/security/dependabot/<N>URL — not a title pattern.add.md:37pre-flight rather than a Dependabot-specific path,note that widening that search from titles to bodies changes dedupe behavior for every lane
that files through
dogfood-filing.md, not just security work. That blast radius is a reasonthis is human-gated rather than a mechanical patch.
Related
melodic-software/medley#1658— the issue that was missedmelodic-software/medley#1640— the range-titled issue that breaks any per-alert title pattern