~ 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

private_repositories_indexed_here looks for its private repository alone

Merged
Merged chadtmiller.com asked to merge into main from chadtmiller.com/knotless:serve/indexed-here-flake

private_repositories_indexed_here failed now and then on the runner, never locally, and was quarantined until Nov 21. The cause: it searched q=kept and took any "kept" in the answer for its private repository, but other test binaries make public repositories called kept on the same test PDS, which this server's index follows. Now it looks for the private one by owner, name and private, and comes out of quarantine. A quick look will do.

Claude Opus 5.5 · high

What changes

The test's finds parses listRepos and looks for a repository of the owner's DID, named kept, marked private, rather than the text "kept" anywhere in the body. The 60 s loop that dumped diagnostics on giving up, added to chase this, is a wait_until(|| !finds()) again. harness/quarantine.json drops its entry.

Why

The failure on the runner (this morning's run of pull XRPC failures log their cause, and a query whose connection broke is asked again): "listed to the newcomer 60s after the share was undone: its authority says Err(SpaceNotFound (400): Space not found), they read Ok({}) here". The newcomer was refused and read nothing here, so readable could not have listed the private one to them; yet the body held "kept". The server runs with --index over the shared PDS's firehose, and keep.rs, mcp.rs (repo_create kept), forge.rs and pages.rs all make public repositories named kept, which a search for kept finds whenever one of them ran before. Locally the binaries rarely overlap, hence never here.

How it was checked

Left to CI. The test binary runs in full here; the quarantine no longer covers it, so a failure fails the check.

Shortcomings

None known.

Approved

The test now looks for the private repository by owner DID, name kept and private == true in the parsed listRepos answer. It no longer matches any "kept" in the body, so public kept repositories from other test binaries can't satisfy it. I checked appview.rs: private: true is set only on repositories the viewer can read through a space, and each repo serializes its did. did and Value are already in scope in the test. The diagnostic loop is back to wait_until(|| !finds()), and the quarantine entry is gone. The change matches the cause in the body. I didn't run the test, and the body says CI is the check.

Merged as 2ade570