Repository navigation
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.area: securitySecurity-relevant: vulnerability, hardening, or disclosure follow-up.Security-relevant: vulnerability, hardening, or disclosure follow-up.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Description
Refs: #7207
Agent Brief
Type: Bug
Summary: A lane's telemetry issue resolved by title is accepted only when its author is the lane's write identity, so an outside account cannot capture the telemetry home by opening an issue with the same title.
Current behavior:
plugins/harness-ops/skills/lanes/scripts/restart-consumer.shresolve_issue_by_title(around :878-885) searches open issues and picks the lowest-numbered exact title match. It never reads the issue's author. Comments on that issue are already filtered to the write identity, but the issue itself is not.- The skill bodies give the same title-only default:
plugins/work-items/skills/work-loop/SKILL.md(around :74,Lane telemetry: work-loop),plugins/source-control/skills/babysit-loop/SKILL.md(around :296) andplugins/work-items/skills/attend-queue/SKILL.md(around :301). Anyone can open an issue with that title. - Item 2 of fix(work-items): loop-lane identity follow-ups (app-slug config, telemetry issue capture, marker rule conflict) #7207: "Require the issue's author to be the lane's write identity, using the same resolution order as fix(source-control): only adopt babysit-loop telemetry comments the lane wrote #7202." The other fix(work-items): loop-lane identity follow-ups (app-slug config, telemetry issue capture, marker rule conflict) #7207 items shipped in fix(harness-ops): resolve the lane telemetry comment's write identity under an App token #7999-docs(work-items): make the C3 ratification marker's at-most-one-ever rule an exception to label-scoped suppression #8003.
Desired behavior:
- Title-based resolution keeps only issues whose author is the lane's write identity: for restart-consumer, the lane's authorized author (the gh-authenticated login, or the lane's
telemetry.author, aslane-launcher.sharound :1305-1338 already resolves it); for work-loop, babysit-loop and attend-queue, the write identity their telemetry upsert scripts resolve (gh api user, else<app-slug>[bot]). - A title match by any other author is skipped and named in the run's output; when no match by the write identity is left, the lane behaves as it does today with no issue (create one, or report none).
Done when
-
restart-consumer.sh's title resolver selects only an issue authored by the lane's authorized author. -
restart-consumer.test.shgains a case where a lower-numbered, exact-title issue by a foreign author and a higher-numbered one by the write identity are both open: the write identity's issue is selected and the foreign one never is. A second case with only the foreign issue resolves to no issue. - The telemetry-home paragraphs in work-loop, babysit-loop and attend-queue
SKILL.mdrequire the title-matched issue's author to be the lane's write identity, and say what the lane does with a foreign match. - The test files touched pass under
scripts/run-test-file.sh. -
scripts/check-changelog-fragments.shpasses with a fragment for each plugin changed.
Out of scope:
- A telemetry issue pinned by number in lane config (
lanes[].telemetry.issue): the operator chose it. - Triage's lane-infrastructure exclusion in
plugins/work-items/skills/triage/SKILL.md. - The write-identity resolution order itself.
Metadata
Metadata
Assignees
Labels
agent-readyFully specified and briefed; eligible for autonomous pickup from the frontier.Fully specified and briefed; eligible for autonomous pickup from the frontier.area: securitySecurity-relevant: vulnerability, hardening, or disclosure follow-up.Security-relevant: vulnerability, hardening, or disclosure follow-up.priority: mediumReal value, no hard deadline; normal backlog flow.Real value, no hard deadline; normal backlog flow.status: readyTriaged, unblocked, and fully specified; eligible to pick up.Triaged, unblocked, and fully specified; eligible to pick up.work-class: scopedA briefed fix or small feature; blast radius bounded by the brief, tests exist.A briefed fix or small feature; blast radius bounded by the brief, tests exist.
Type
Fields
No fields configured for Bug.
Activity
github-actions commentedon Oct 30, 2026
Proposed work class: work-class: scoped
Basis: automated intake triage; the lanes App applied this class.
Size: Medium
Complexity: Medium
Uncertainty: Known
Flags: none
Blocked by: none
Understood: a lane's telemetry issue found by title should be accepted only if the lane's write identity authored it. Today any account can open an issue with the same title and take over the telemetry home. The fix covers the restart-consumer resolver, new tests for the foreign-author and write-identity cases, and the work-loop, babysit-loop and attend-queue skill text. Each changed plugin also needs a changelog fragment.
The brief is specific, and the done-when items can all be checked in a lane run. I found no likely duplicates among the open issues. This is a hardening fix, so I'm treating it as ordinary work and not as a report of an unfixed high-severity hole.
Automated triage, applied by the lanes App.