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
{{ message }}
Repository navigation
discovery:research: require inline source links when the parent presents findings #7840
/discovery:research artifacts record every source URL (sources[].url in the findings sidecar, the fetch log), but nothing tells the parent session to carry those URLs into what it presents to the user. In practice the parent summarizes findings with source names ("git, husky, GitHub, Fowler") and drops the links, so the user cannot click through to check a claim.
Observed in one session on 2026-10-17: three research runs, every verifier pass confirmed the quotes at their URLs, and the user-facing summary still cited sources by name only until the user asked for links.
Proposed fix
In the research skill's parent-facing contract (the Output Format / post-dispatch boundary the parent owns), require that when the parent presents findings, each accepted claim carries its primary source and counted corroborators as inline links taken from the artifact's sources[].url, and that a local probe with no URL cites the artifact file holding its commands. A source name without its URL does not count as a citation.
Acceptance
The skill text the parent reads before presenting findings states the inline-link requirement.
An eval or example shows a presented summary with per-claim links.
Default branch: e59e0be (not applicable)
Open linked PRs: none
The research skill's Output Format (plugins/discovery/skills/research/SKILL.md:243-253) asks for a URL or command only in the Evidence table's Sources cell. The Summary has no citation requirement, nothing requires the URL to be a clickable Markdown link, and nothing covers the shorter recap a parent gives the user in conversation. The post-dispatch duties (re-surface open questions, acceptance gate, sibling verifier, write-back) say nothing about how claims are cited when presented. The sidecar schema already records sources[].url for every claim, so the URLs are on disk. No eval case checks links in presented findings. Also searched: the parent contract, the researcher agent definition, and a repo-wide grep for "inline link" and "clickable"; no existing rule covers this for plugin consumers.
Type: Feature Summary: Require the parent session to cite each accepted research claim with inline Markdown links, taken from the artifact's recorded source URLs, whenever it presents /discovery:research findings to the user.
Current behavior:
The Output Format asks for a URL or command only in the Evidence table's Sources cell. When the parent condenses findings for the user (the Summary or a chat recap), it cites sources by name with no links, even after the verifier confirmed every quote at its URL, so the user cannot click through to check a claim.
Desired behavior:
Wherever the parent presents findings (the Summary, the Evidence table, or any shorter recap in conversation), each accepted claim carries its primary source and its counted corroborators as inline Markdown links, taken from the claim's sources[].url in the findings sidecar.
A Tier 0 local probe with no URL cites the artifact sidecar file that holds its command.
A source name without its URL does not count as a citation.
Key interfaces:
the research skill's Output Format section (Summary and Evidence table items)
the parent-owned post-dispatch boundary (after the verifier write-back, before presenting)
the sidecar claims[].sources[].url field
the research skill's evals.json
Acceptance criteria:
The research skill text the parent reads before presenting findings says each accepted claim in any presentation carries its primary and counted corroborators as inline Markdown links from sources[].url.
The same text says a local probe with no URL cites the artifact file holding its command, and that a bare source name is not a citation.
The rule covers a shortened chat recap, not only the full Output Format.
The research evals.json gains a case whose expectations check that a presented summary links each accepted claim to its sources, and that a name-only citation fails.
The discovery plugin version and CHANGELOG are updated per the repo convention.
/skill-quality:check and validate-evals pass on the research skill.
Out of scope:
The sidecar schema or the fetch-log format
A script or hook that enforces links mechanically
The same rule for /discovery:explore or other skills
The work-resolve-issue lane stopped partway through this issue and needs a person.
Why, in the run's own words:
Committed the change, but /skill-quality:check (check-skill.sh) and validate-evals (check-evals-quality.sh) were denied approval in this run, so those required checks did not run.
What the run says it did not do:
check-skill.sh on the research skill was not run: the command was denied approval
check-evals-quality.sh on evals.json was not run: the command was denied approval; evals.json JSON validity was also not machine-checked
Diff review by a fresh-context subagent was not run
Partial work is on the branch work-resolve-issue/issue-7840-39089376952-1.
Activity
kyle-sexton commentedon Oct 18, 2026
This was generated by AI during triage.
Verified: request valid
Default branch: e59e0be (not applicable)
Open linked PRs: none
The research skill's Output Format (
plugins/discovery/skills/research/SKILL.md:243-253) asks for a URL or command only in the Evidence table's Sources cell. The Summary has no citation requirement, nothing requires the URL to be a clickable Markdown link, and nothing covers the shorter recap a parent gives the user in conversation. The post-dispatch duties (re-surface open questions, acceptance gate, sibling verifier, write-back) say nothing about how claims are cited when presented. The sidecar schema already recordssources[].urlfor every claim, so the URLs are on disk. No eval case checks links in presented findings. Also searched: the parent contract, the researcher agent definition, and a repo-wide grep for "inline link" and "clickable"; no existing rule covers this for plugin consumers.kyle-sexton commentedon Oct 18, 2026
This was generated by AI during triage.
Agent Brief
Type: Feature
Summary: Require the parent session to cite each accepted research claim with inline Markdown links, taken from the artifact's recorded source URLs, whenever it presents
/discovery:researchfindings to the user.Current behavior:
The Output Format asks for a URL or command only in the Evidence table's Sources cell. When the parent condenses findings for the user (the Summary or a chat recap), it cites sources by name with no links, even after the verifier confirmed every quote at its URL, so the user cannot click through to check a claim.
Desired behavior:
sources[].urlin the findings sidecar.Key interfaces:
claims[].sources[].urlfieldevals.jsonAcceptance criteria:
sources[].url.evals.jsongains a case whose expectations check that a presented summary links each accepted claim to its sources, and that a name-only citation fails./skill-quality:checkandvalidate-evalspass on the research skill.Out of scope:
/discovery:exploreor other skillsmelodic-automation-lanes commentedon Oct 18, 2026
The work-resolve-issue lane stopped partway through this issue and needs a person.
Why, in the run's own words:
What the run says it did not do:
Partial work is on the branch
work-resolve-issue/issue-7840-39089376952-1.Run: https://github.com/melodic-software/claude-code-plugins/actions/runs/39089376952
To retry, remove
needs-human, then remove and addagent-ready.docs(ci): state that checkout code can still read the lane token