d48297fe94
The Refine seam asks four things of a backend, and the ActivityPods README answers two: how its providers are configured, and that a declared shape tree gets its own Data Registration and container on the Pod. It is silent on the record shape and on whether update replaces or patches — the two the seam cannot default, and the two that fail silently when wrong. So the declaration is written before adoption instead of after: the surface is marked as declared rather than measured, the domain conditions are stated at full strength, and the two unknowns sit in Needs as requests addressed to the provider. Reading their source to settle them is the one thing this project does not do. This branch had no contract manifest at all, so it gets one. It carries no consume entry, because neither targeted backend publishes an engagement to pull; the declaration anchors on the README's commit identity, resolved with ls-remote, which names a state without fetching any content.