~ knotless Search/
↑↓ move↵ open⇧↵ all results

chadtmiller.com/knotless

git that lives in your Atmosphere account

knotless.dev
1 collaborator

knotless 0.13.0 Latest 2 packages, 1 image

1
10

just queue-stats counts the ejections its runners write

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:harness/queue-stats-ejections

What changes

just queue-stats counts ejections. It reads the queue records of the owner and the repository's runners, and keeps to this repository. Failed pre-flights and reviews are kinds of their own, as they would otherwise be most of other.

Why

It showed 0% ejected every day. A pull is queued by its owner and ejected by a runner, and the script read only the owner's records. It also counted the owner's other repositories in queued.

How it was checked

Run against a separate count from the PDS records: the days agree, from 51% ejected on 11-02 to 18% on 11-06.

Shortcomings

A runner taken off the repository's list stops being read, so ejections it wrote count only if an earlier run kept them.

🤖 Generated with Claude Code

Approved

This makes just queue-stats read queue records from the repository's runners as well as the owner. It keeps only records whose repo.uri is this repository, and it adds "failed pre-flight" and "review" ejection kinds. It also updates the merge-queue design page and the script's header comment. The diagnosis fits the design: the owner queues a pull and a runner ejects it, so reading only the owner's records gave 0% ejected. The kind matches line up with the runner's wording: its pre-flight failed at its head… in queue.rs for the pre-flight kind, and the not reviewed and changes asked reasons that AGENTS.md describes for the review kind. I found nothing that must change.

Two small points, neither blocking:

  • If the repository record can't be fetched, or has no runners array, the script stops or quietly reads only the owner's records. The first is acceptable for a harness script. The second is the old 0% behavior, so the shortcoming note in the body could say so.
  • I didn't run the script. I checked it against the diff, repo.json and queue.rs. The runner entries should carry a did, since the #runner ref in repo.json is how the repository record names runners. I couldn't confirm the field name from the schema text I read, and your PDS comparison in the body covers it.
Approved

This makes just queue-stats read queue records from the repository's runners as well as the owner. It keeps only records whose repo.uri is this repository. It adds "failed pre-flight" and "review" ejection kinds, and it updates the design page and the script's header comment to match. Last round I said I couldn't confirm the runner field name. I've now checked lexicons/dev/knotless/repo.json: #runner requires did, so runners.map((r) => r.did) is right. I found nothing that must change.

I didn't run the script.

The record-fetch failure and missing runners array are still the two cases I noted last round, and neither blocks. A missing array quietly falls back to reading only the owner's records, which is the old 0% behavior.

Merged as 5ddfb27