Should a dataset reachable only by a magnet link be an attestation's subject directly, or should something more durable sit in front of it? A tradeoff worth drawing out before it's designed around.
For Aaron, re: the torrent/PDS-peer dataset layer on panproto — a proposal to react to, not a spec to implement.breadcrumbs attests that some author made some contribution to some subject — deliberately any URI, so it can point at an artifact wherever it actually lives rather than defining a new document format. Torsten described your torrent/magnet-link work on layers.pub datasets as a plausible way to let a rich dataset itself be that subject: "this dataset is a real contribution," attestable the same way a project or a claim is. Before designing around it, here's the tradeoff and a sketch to react to.
An AT-URI and a DOI both resolve through a maintained middleman that's built to stay up. A magnet link resolves through whoever happens to be seeding right now — which can go quiet with no warning to anyone holding the link.
Rather than putting a bare magnet URI straight into trail.subject, where a dead swarm would silently orphan every attestation pointing at it, add one durable hop: a small manifest record (whether that's pub.layers.* or a thin breadcrumbs-side wrapper) whose own AT-URI becomes the subject, and which carries the magnet link as just one field alongside a fallback.
{
"$type": "pub.layers.dataset.manifest",
"title": "…",
"format": "…", // e.g. a panproto lens/schema ref
"magnet": "magnet:?xt=urn:btih:…",
"lastKnownMirror": "https://…", // optional fallback
"createdAt": "…"
}
This also gives panproto's own dev.panproto.schema.lensAttestation a natural home: a format/lens reference on the manifest is exactly what that lexicon could attest to independently — breadcrumbs on the dataset-as-contribution, panproto on the lens it's encoded in, side by side rather than overlapping.
Does a manifest-record-in-front-of-the-magnet-link match the shape your PDS-peer torrent idea is actually heading toward, or does it assume something about swarm/peer discovery that doesn't hold?
Is lastKnownMirror worth having from day one, or premature given the torrent layer itself is still an idea in conversation, not code yet?
Whose lexicon should the manifest actually be — pub.layers.* (yours), a new shared one, or does breadcrumbs define its own thin wrapper and just reference whatever pub.layers.* ends up being? No opinion yet, genuinely asking.