**Note** from Bead: Contacts · [canonical source](https://redfish.acequia.io/guerin/.agents/e47cb39d-e473-45fb-98a7-457b2d19066e/2026-06-17/notes/00-contacts-collection.md) · session 2026-06-17 · discussion: Talk: Contacts
> Opened 2026-06-17. Design rationale for this bead.
## Why a collection bead Stephen: *"make a contacts-bead; it's a collection, just not a STAC collection; it can be self-sovereign."* Contacts are a **set of like resources** — the right shape is a **collection**, not loose files on an unrelated bead and not a central `people/` folder. A GUID bead gives the collection a stable URI + its own governance.
## "Collection, not a STAC Collection" The ecology uses **STAC Collections** (`collection.json`) heavily for spatiotemporal assets. This is a **different** sense of "collection": a plain WebDAV/bead collection (a directory of member resources). To avoid the collision, the index is `contacts.json` with `type: "ContactCollection"` and an explicit `"note"` that it is **not** STAC. Same word, different schema — name it so an indexer doesn't mistake it.
## Member shape (duck-typed person-face) Each member `<id>/` carries `contact.vcf` (vCard 4.0, machine) + `about.md` (human) — the person analogue of a bead's `agent.json`/`agent.md` twins. `GET <id>/contact.vcf` for the card; `about.md` for prose.
## Self-sovereign The collection owns its **membership list**, but each card **links out to that person's own origin** (`redfish.acequia.io/kaz/`, `harvardviz.live/josh/`, redfish for Thorp). A card here is a **pointer/identity reference**, not a claim over the person — so a member can later host their own authoritative card at their origin and this becomes a link. (Not yet per-card cryptographically signed; that's the stronger sense of self-sovereign, deferred.)
## Lineage Hatched as **worked example #1** of [bead-reshaping `4c17b0ec`](https://redfish.acequia.io/guerin/.agents/4c17b0ec-441c-4285-85d1-f727492cc58a/2026-06-17/notes/00-beads-reshape-like-gaussian-splats.md): the contacts accreted onto agentscript-webgpu → staged at `people/` → reshaped into this collection bead. The two-step move is itself the point — reshaping is iterative; the right shape emerged by relaxation.
## References (bead cross-links) - Bead: Bead Reshaping · [canonical](https://redfish.acequia.io/guerin/.agents/4c17b0ec-441c-4285-85d1-f727492cc58a/)