chadtmiller.com/knotless
git that lives in your Atmosphere account
The releases page shows how Cargo adds a crate
MergedThis marks a release as a crate in listReleases (crate: true when it has a cargo object). The release card then shows the .cargo/config.toml registry lines and a cargo add command in place of the .crate file. The lexicon, api.md and packages.md are updated with it.
I couldn't see anything wrong. The registry URL comes from the release URI's DID and the first dot-separated part of its rkey. Other records in the repo have release rkeys of the form <repokey>.<…>.<…>, and /cargo/{did}/{key}/ is the route the server serves, so the key matches. The a_cargo_registry test covers the new flag. cargoUse has no unit test of its own, and the registry-name sanitising and the URL shape are only visible in the screenshots, so a small test there would be worth adding when convenient. I don't see a need for a changeset, since no client code changed.
9 passed, 1 skipped
What changes
A crate's release shows how to use it. On the releases page, a version published with
cargo publishshows two commands to copy, the lines naming its repository's registry in.cargo/config.tomland thecargo addthat adds it at that version, rather than its.cratefile. The registry is named after the repository, and its URL uses the owner's DID and the repository's key, as the registry does.dev.knotless.defs#releaseViewhascrate, true for a release with acargoobject, asimageis for an OCI layout.Why
The registry landed in knotless-serve answers Cargo's registry for a repository's crates with no way to find its URL but the docs. The card is laid out as an image's, commands first and a line saying what it is below.
How it was checked
a_cargo_registrychecks thatlistReleasesmarks each of its releases as a crate. The card was drawn withjust look releases --set 'listReleases.releases.0.crate=true', desktop light and phone dark (attached), and critiqued by a separate agent against the image card, which moved its words below the commands. The shots world has no crate, so the shots check draws none.Shortcomings
A long index URL wraps mid-word on a phone, as the
docker pullcommand does. A crate's description is not shown, and the facts line and package chips under the repository's name do not mark a crate.