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

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.

> +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 ?

> +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

> +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
> +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 ?

> +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.

> +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 :: ? 

> +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 ?

> +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
-- 
|: https://berrange.com       ~~        https://hachyderm.io/@berrange :|
|: https://libvirt.org          ~~          https://entangle-photo.org :|
|: https://pixelfed.art/berrange   ~~    https://fstop138.berrange.com :|



  reply	other threads:[~2026-05-07  8:26 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é [this message]
2026-05-07  9:20     ` Philippe Mathieu-Daudé
2026-05-07  9:32       ` Daniel P. Berrangé
2026-05-07 12:32     ` Alex Bennée
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=afxMiS7Y5RIXPLUz@redhat.com \
    --to=berrange@redhat.com \
    --cc=alex.bennee@linaro.org \
    --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.