Release ledger

Release

v2.11.1

many eyes, one pane (patch)

Hotfix: the qualification workspace copy no longer aborts when the project directory churns beneath it — a race that could silently downgrade every verdict to a publishable inconclusive, shipping fixes mvn never validated. Infrastructure-degraded verdicts now also surface as failure events in Grafana.

Highlights

  • 01

    Qualification workspace copy hardened

    The pre-qualification project copy now skips its own destination (when TMPDIR resolves inside the project) and tolerates files that vanish mid-copy — such as the run's own --out directory being written by parallel qualification workers. Previously either case aborted workspace preparation for every artifact, and the verdicts degraded to inconclusive without mvn ever running.

  • 02

    Inconclusive verdicts reach Grafana

    argus.qualification.failed is now emitted for inconclusive verdicts as well as hard failures, with argus.qualification.status distinguishing them — so runs where validation could not complete are visible on the Investigation dashboard instead of hiding behind a deferred-reconciliation note.

Full notes

Changed

  • The argus.qualification.failed OTLP event is also emitted for qualification_inconclusive verdicts (workspace preparation failures, transient repository errors), carrying the preparation error or attempt output as the body. Dashboards filtering only on the event name will now also show inconclusive runs; use the argus.qualification.status attribute to separate them.

Fixed

  • copyWorkspace no longer recurses into its own temp destination when TMPDIR lives inside the project directory, and a file that disappears between listing and reading (concurrent writers beside the POM, including Argus's own --out evidence directory) is skipped instead of aborting the whole qualification. Genuine build inputs that are missing still fail loudly inside mvn with full evidence. Pinned by unit tests for both cases.