All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Alex Bennée" <alex.bennee@linaro.org>
To: "Daniel P. Berrangé" <berrange@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [RFC PATCH 08/10] .agents/skills: add qemu-issue-triage agent skill
Date: Thu, 07 May 2026 13:32:59 +0100	[thread overview]
Message-ID: <87zf2bl7r8.fsf@draig.linaro.org> (raw)
In-Reply-To: <afxMiS7Y5RIXPLUz@redhat.com> ("Daniel P. Berrangé"'s message of "Thu, 7 May 2026 09:25:45 +0100")

Daniel P. Berrangé <berrange@redhat.com> writes:

> On Tue, May 05, 2026 at 06:01:03PM +0100, Alex Bennée wrote:
>> While triaging the issue tracker I wondered if this would be a
>> suitable job for an AI agent. Unfortunately the OSS program doesn't
>> give any credits to run agents in gitlab. However I do have access to
>> models from my editor and ECA so I built one and tested it on a few
>> issues.
>> 
>> Obviously this can't apply as is because it probably encodes too much
>> of my local setup (using pass for API keys) and uses the ECA as my
>> preferred coding agent. I assume at some point there will be agreement
>> between all the agents where skill live.
>> 
>> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
>
> ..snip..
>
>> diff --git a/.agents/skills/qemu-issue-triage/assets/labels.txt
>> b/.agents/skills/qemu-issue-triage/assets/labels.txt
>> new file mode 100644
>> index 00000000000..d329f34183d
>> --- /dev/null
>> +++ b/.agents/skills/qemu-issue-triage/assets/labels.txt
>
> Seeing our labels listed like this triggers my urge to "tidy" :-)
>
> Don't take anything below to be a complaint / blocker about this patch.
> This patch is fine in so much as it faithfully represents the mess we
> have created in gitlab.
>
>> @@ -0,0 +1,133 @@
>> +# SPDX-License-Identifier: GPL-2.0-or-later
>> +ACPI                       Power Management related (ACPI / SMBIOS / HEST / GHES)
>> +Audio Audio devices; both backend (host audio) and frontend (guest
>> audio)
>
> Mixing frontend and backend is a bad idea in general IMHO.
>
> I feel like we should also have an explicit label for each backend, for
> both audio and every other backend type.

Backend: chardev
Backend: audio
?

I suspect the block backends are special enough they should stay part of
block: - what other backends do we have?

>
>> +Audit Tooling A group for bugs and issues found via automated
>> tooling such as fuzzing, sanitizers or AI
>> +Audit Tooling::AI For bugs found with AI assisted tools such as
>> Mythos and other similar things
>> +Audit Tooling::Fuzzer Issues found via fuzzing. For security
>> issues, please consult
>> https://www.qemu.org/contribute/security-process/
>> +Audit Tooling::Sanitizer For issues found using sanitizers such as
>> asan, lsan and tsan
>
> Labels with "::" are mutually exculsive, which is possibly not
> what we want here ?  Should the first thing be 'Audit Tooling::Other'
> instead of unqualified ?

I've added that, as well as Audit Tooling::Static Analysis for Coverity.

>
>> +Bite Sized Candidates for first contributions; see also
>> https://wiki.qemu.org/Contribute/BiteSizedTasks
>> +Build System               configure, make, Meson, ninja, gcc, clang, ccache, etc.
>> +CI                         Continuous Integration; gitlab, travis, patchew, etc.
>> +CLI                        Command Line Interface
>> +Chardev                    Character device backends and related issues
>
> We should have per-backend labels
>
>> +Closed::Duplicate There is already another ticket that is about the
>> same issue
>> +Closed::Fixed              The issue was fixed. Yay!
>> +Closed::Invalid            This issue was not really a problem
>> +Closed::NotOurBug This is a bug, but not a bug in QEMU. Please
>> report it and/or include a link to the report.
>> +Closed::NotReproducible    This issue was not reproducible
>> +Closed::UnbackedFeature    Nobody was willing to work on this feature request
>> +Closed::WontFix The issue was acknowledged, but the fix would be
>> too complex, too expensive, or would introduce other problems.
>> +Cryptography
>> +Documentation Sphinx documentation, man pages, the wiki, --help
>> output, etc.
>> +GDB                        Issues relating to using GDB via the gdbstub
>> +GUI Graphical User Interface (gtk, SDL, curses, VNC, spice, ...)
>> +GUI::Cocoa                 Cocoa
>> +GUI::DBus                  DBus
>> +GUI::GTK
>> +GUI::SDL                   SDL
>> +GUI::SPICE                 SPICE
>
> spice is duplicated later

Prompt: "find all the issues with the "spice" label and label them with the GUI::SPICE label instead"

the result was:

  general: relabling spice issues (5 steps, 13.5K / 1M) ✅ 1m 26s

  I have successfully relabeled all GitLab issues in the `qemu-project/qemu` repository by replacing the "spice" label with the "GUI::SPICE" label.

  ### Summary of Actions:
  - **Total Issues Updated**: 21 (including both open and closed issues).
  - **Relabeling**: Removed the `spice` label and applied the `GUI::SPICE` label to each identified issue.
  - **Verification**: Confirmed that `glab issue list --label spice` now returns no results, while `glab issue list --label "GUI::SPICE"` includes all updated issues.

  ### Updated Issues:
  The following 21 issues were updated: 
  `3148`, `3070`, `2860`, `2667`, `2639`, `2561`, `2411`, `2335`, `2282`, `2071`, `1926`, `1829`, `1778`, `1777`, `1553`, `1549`, `1431`, `1426`, `1285`, `681`, `232`.

about 0.08p in inference costs.

>
>> +GUI::VNC
>
> I'd probably suggest "ui" as the prefix to match the dir / subsystem
> name.
>
> Also probably use ":" instead of "::" as there could be cases where
> a bug affects multiple UIs.
>
>> +Guest Agent Issues related to the qemu-guest-agent binary.
>> https://wiki.qemu.org/Features/GuestAgent
>> +Hard

I think there is 1 bug that is Hard.

>> +Launchpad                  Issues migrated from Launchpad
>> +Migration
>
> Surprised we don't want more categories here
>
>> +Modules
>> +Networking
>> +Python                     Python library issues (./python/)
>> +QAPI/QMP                   QEMU API / QEMU Machine Protocol, HMP and CLI, etc.
>> +QOM                        QEMU Object Model
>> +Regression
>> +Security
>> +Semihosting Semihosting calls provide a simple ABI for early
>> bring-up of embedded devices and provide a way to output to the
>> console and do basic file i/o while being debugged
>> +Softfloat                  QEMU's FPU emulation code (TCG only)
>> +Stable::can't fix The bug was reported on a stable branch but the
>> fix is too invasive for backporting
>> +Stable::obsolete The bug was reported on a stable branch that is
>> not maintained anymore
>> +Stable::to backport The bug was reported on a stable branch and
>> needs to be backported on the next release from the branch
>> +Storage                    Block subsystem, Storage devices, etc.
>> +TCG plugins                Anything related to the TCG plugins feature
>
> Perhaps accel:tcg:plugins ?
>

Plugins currently implies accel:tcg but I'm not sure it is directly
accelerator related. Some of the run-loop hooks are TCG agnostic.

>> +TestCase                   The report includes a testcase
>> +Tests qtests, iotests, acceptance tests, VM tests, docker tests,
>> and more.
>> +USB
>> +VFIO
>
> This annoying sorting of all uppercase, then all lowercase is
> present in the gitlab UI too
>
> https://gitlab.com/qemu-project/qemu/-/labels
>
> We should probalby be universally lowercase, so that sorting is
> sensible.
>
>> +accel: HAX                 Intel's Hardware Accelerated Execution Manager (HAXM)
>> +accel: HVF                 Apple Hypervisor Framework
>> +accel: KVM                 Linux Kernel-based Virtual Machine
>> +accel: TCG                 QEMU Tiny Code Generator
>> +accel: WHPX                Microsoft Windows Hypervisor Platform (WHPX)
>> +accel: Xen                 Xen Hypervisor
>
> We're inconsistent in whether we use a space after ":". Here we do,
> below we don't.
>
>> +block:9p                   The 9p network file system
>> +block:NVMe
>
> These two are not like the others under 'block:'. 'NVMe' is frontend device,
> and 9p is a filesystem. I'd assume 'block:' applies to block/*.c
>
>> +block:curl
>> +block:nbd
>> +block:nfs                  Issues related to the NFS backend
>> +block:qcow2
>> +block:ssh
>> +block:vmdk
>
> Probably want a "block:core" for stuff not specific to one of the listed
> backends.

I'll let the block guys fix this up.

>
>> +bsd-user
>> +device: PCI
>> +device: TPM                Trusted Platform Module (TPM) devices
>> +device:graphics Issues relating to display device emulation, or
>> rendering in general. See also "GUI".
>> +device:input               Keyboards, Mice, Touchscreens, HIDs, etc.
>> +device:iommu               IOMMU and SMMU
>> +device:pflash              Parallel NOR flashes emulation
>> +device:sdmmc               SD or (e)MMC cards emulation
>> +device:virtio virtio-related issues.
>> https://www.linux-kvm.org/page/Virtio
>> +device:watchdog
>
> Here we sometimes have a space after : and sometimes don't
>
>
>> +efi                        EFI firmware related issues
>> +flaky-ci                   For test cases that are flaky when run under our CI
>> +gitlab
>
> So should we be using "CI" or "gitlab" for CI issues :)
>
> Probably we should have:
>
>   ci:gitlab
>   ci:flaky
>
>> +guest: AIX
>> +guest: BSD                 Guest OS is BSD (NetBSD/FreeBSD/OpenBSD/etc)
>> +guest: Linux               Guest OS is Linux/Linux-based
>> +guest: Windows             Microsoft Windows guest
>> +guest: macOS               Apple macOS / Darwin as  guest OS
>> +guest: os2
>> +host: aarch64              Bugs reproducible on AArch64 hosts
>> +host: arm                  Bugs reproducible on ARM hosts
>> +host: loongarch64          Bugs reproducible on LoongArch64 hosts.
>> +host: mips                 Bugs reproducible on MIPS hosts
>> +host: ppc                  Bugs reproducible on Power hosts
>> +host: riscv                Bugs reproducible on RISC-V hosts
>> +host: s390                 Bugs reproducible on s390 hosts
>> +host: sparc64              Bugs specific to Sparc64 hosts
>> +host: x86                  Bugs reproducible on x86 hosts
>> +host:32bit These are mostly TCG related bugs where we sometimes
>> struggle with emulating larger guests, especially atomic and address
>> space issues.
>
> More space inconsistency
>
>> +hostos: BSD                FreeBSD, OpenBSD, NetBSD, and derivatives as host OSes
>> +hostos: Linux Linux-based host operating systems (Fedora,
>> RHEL/CentOS, Debian, Ubuntu, openSuSE et al)
>> +hostos: Windows            Microsoft Windows host OS
>> +hostos: macOS              Apple macOS / Darwin as a host OS
>> +icount issues relating to icount, deterministic execution and
>> record/replay functionality
>
> Perhaps accel:tcg:icount  ?
>
>> +kind: Not user visible
>
> What's this for, and why : instead of :: ?

No idea - is this the mechanism we use to hide live security issues?

>
>> +kind::Bug                  Bug or defect in functionality.
>> +kind::Feature Request      Feature request or new functionality.
>> +kind::Task                 Research, investigations, and miscellaneous issues.
>> +libvfio-user
>> +linux-user
>> +qemu-img
>
> Should we have a "tools:qemu-img", and "tools:...." for everything
> else too ?
>
>> +spice
>
> Redundant with 'GUI::SPICE"
>
>> +sysadmin
>
> Any idea what this is supposed to refer to ?

there is one issue where CI runs fail on some runners and not others. I
added some flavour text.

>
>> +target: alpha              DEC Alpha [alpha]
>> +target: arm                Arm AArch32 or AArch64 [arm, aarch64]
>> +target: avr                Atmel AVR [avr]
>> +target: hexagon            Qualcomm Hexagon [hexagon]
>> +target: hppa Hewlett-Packard Precision Architecture; HP/HP, PA-RISC
>> [hppa]
>> +target: i386               Intel/AMD x86 [i386, x86_64]
>> +target: loongarch          loongarch64 target architecture
>> +target: m68k               Motorola 68000 [m68k]
>> +target: microblaze         Xilinx MicroBlaze [microblaze, microblazeel]
>> +target: mips               MIPS [mips, mipsel, mips64, mips64el]
>> +target: nios2              Altera Nios II [nios2]
>> +target: openrisc           OpenRISC [or1k]
>> +target: ppc                IBM Power Architecture, PowerPC [ppc, ppc64, ppc64le]
>> +target: riscv              RISC-V [riscv32, riscv64]
>> +target: rx                 Renesas RX [rx]
>> +target: s390x              IBM Z, SystemZ, zSeries [s390x]
>> +target: sh4                Renesas SuperH [sh4, sh4eb]
>> +target: sparc              Sun Microsystems SPARC [sparc, sparc64]
>> +target: tricore            Infineon TriCore [tricore]
>> +target: xtensa             Tensilica Xtensa [xtensa, xtensaeb]
>> +workflow::Confirmed        Bugs that have been confirmed and reproduced.
>> +workflow::In Progress      Someone is working on this issue.
>> +workflow::Needs Info       Issue has insufficient information to verify.
>> +workflow::Patch available  A patch is available
>> +workflow::Triaged          Issue has been triaged and given a topic label.
>
>
> With regards,
> Daniel

-- 
Alex Bennée
Virtualisation Tech Lead @ Linaro


  parent reply	other threads:[~2026-05-07 12:33 UTC|newest]

Thread overview: 27+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-05-05 17:00 [RFC PATCH 00/10] AGENTS.md and associated skills Alex Bennée
2026-05-05 17:00 ` [RFC PATCH 01/10] AGENTS.md: add basic AGENTS.md for QEMU Alex Bennée
2026-05-06  8:49   ` Philippe Mathieu-Daudé
2026-05-05 17:00 ` [RFC PATCH 02/10] .agents/skills: add qemu-code-explorer skill Alex Bennée
2026-05-05 17:00 ` [RFC PATCH 03/10] .agents/skills: add qemu-code-reviewer skill Alex Bennée
2026-05-06  8:25   ` Philippe Mathieu-Daudé
2026-05-05 17:00 ` [RFC PATCH 04/10] .agents/skills: add qemu-issue-helper skill Alex Bennée
2026-05-05 17:01 ` [RFC PATCH 05/10] .agents/skills: add qemu-build skill Alex Bennée
2026-05-06 15:48   ` Alejandro Jimenez
2026-05-06 16:38     ` Alex Bennée
2026-05-05 17:01 ` [RFC PATCH 06/10] .agents/skills: add qemu-testing skill Alex Bennée
2026-05-07  8:03   ` Daniel P. Berrangé
2026-05-07 11:57     ` Alex Bennée
2026-05-05 17:01 ` [RFC PATCH 07/10] .agents/skills: add skill to distil mail threads Alex Bennée
2026-05-05 17:01 ` [RFC PATCH 08/10] .agents/skills: add qemu-issue-triage agent skill Alex Bennée
2026-05-07  8:25   ` Daniel P. Berrangé
2026-05-07  9:20     ` Philippe Mathieu-Daudé
2026-05-07  9:32       ` Daniel P. Berrangé
2026-05-07 12:32     ` Alex Bennée [this message]
2026-05-07 12:59       ` Peter Maydell
2026-05-07 13:46       ` Daniel P. Berrangé
2026-05-05 17:01 ` [RFC PATCH 09/10] .agents/skills: add checkpatch " Alex Bennée
2026-05-05 17:01 ` [RFC PATCH 10/10] MAINTAINERS: add a section for AI agents Alex Bennée
2026-05-07  8:59 ` [RFC PATCH 00/10] AGENTS.md and associated skills Peter Maydell
2026-05-07  9:24   ` Philippe Mathieu-Daudé
2026-05-07  9:27     ` Daniel P. Berrangé
2026-05-07  9:38   ` Daniel P. Berrangé

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87zf2bl7r8.fsf@draig.linaro.org \
    --to=alex.bennee@linaro.org \
    --cc=berrange@redhat.com \
    --cc=qemu-devel@nongnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.