--- Authors: Odysseus Melchizedek Shiloh, WellSpr.ing · Claude Opus 4.7, Anthropic Status: Draft 0.9, open for comment Date: April 17, 2026 Canonical URL: https://wellspr.ing/protocols/discovery-catalog Companion protocols: VCAP at https://wellspr.ing/protocols/vcap; the Covenant Invitation Skill at https://wellspr.ing/skills/covenant-invitation; the Agentic Evangelism Protocol at https://wellspr.ing/blog/agentic-evangelism Comment channel: https://wellspr.ing/protocols/discovery-catalog/rfc
---
A specification for the data layer that covenantal outreach operates against — the record of which organizations and named receivers the institution is aware of, through what publicly verifiable means they were discovered, what register they expect, and what outreach has occurred with them. The discovery catalog is the substrate on which the covenant-invitation skill composes individual invitations; it is the ledger of outreach activity that preserves both-sided accountability; and it is the migration path by which an invited party becomes a covenanted peer after attestation.
The catalog is deliberately distinct from three things it superficially resembles. It is not a marketing list, because its addition rules prohibit scraping and inference. It is not a CRM, because its schema refuses conversion-rate tracking and optimization metrics. It is not a public directory of peer institutions, because most of its entries are receivers who have not yet consented to public listing. It is an institutional discovery ledger operating under the same covenantal discipline as the rest of the WellSpr.ing architecture.
A catalog entry has the following structure. Required fields are marked; others are recommended.
``json
{
"entry_id": "wsi-dc-2026-04-17-0001",
"schema_version": "0.9",
"status": "active",
"identity": { "display_name": "Rev. James Halverson", "institution_name": "Second Presbyterian Church", "institution_type": "congregation", "tradition": "christian:protestant:mainline:pcusa", "role": "senior_pastor", "country": "us", "subdivision": "us-mo", "locality": "st-louis-mo" },
"contact_surfaces": [ { "channel": "email", "address": "jhalverson@secondpres.org", "surface_source": "published_staff_page", "surface_source_url": "https://secondpres.org/staff", "self_declared_agentic_available": false, "last_verified_at": "2026-04-17T12:00:00Z" } ],
"register_hints": { "category": "protestant_clergy_mainline", "rhetorical_style_signals": [ "theologically_literate", "social_justice_engaged" ], "preferred_language": "en", "preferred_channel_for_first_contact": "email", "channels_to_avoid": [], "notes_for_composer": "Sermons published on church site show comfortable scripture-quoting register. Avoid evangelical-commercial idiom." },
"provenance": { "discovery_tier": 2, "discovered_via": "curated_list_mainline_protestant_missouri", "added_by_wellkeeper_covenant_name": "odysseus-melchizedek-shiloh", "added_at": "2026-04-17T12:00:00Z", "verification_history": [ { "verified_at": "2026-04-17T12:00:00Z", "verified_by_wellkeeper_covenant_name": "odysseus-melchizedek-shiloh", "verification_notes": "Name and email confirmed from staff page; role confirmed from staff directory; tradition confirmed from PCUSA congregation listing." } ] },
"outreach_history": [],
"signature": {
"algorithm": "Ed25519",
"key_id": "wellspring-2026-signing-key-01",
"signature_value": "base64-encoded-signature"
}
}
`
Field-level notes for the non-obvious fields:
takes values active (awaiting outreach), invited (outreach sent, awaiting response), attested (receiver has completed their own attestation; entry migrates to the covenantal directory), invited_declined (receiver said no; preserved but not contacted again), invited_silence (no response; silence honored as complete answer; not contacted again), superseded (entry replaced by a later version; original preserved), withdrawn (WellKeeper removed from active use; original preserved). No entry is ever deleted. uses a colon-delimited hierarchy that the covenant-invitation skill's register library can match against. The depth of the hierarchy is flexible; christian:protestant:mainline:pcusa is more specific than christian:protestant:mainline, and either is valid. must correspond to a category in the current covenant-invitation skill's register library. If no existing category fits, the WellKeeper adding the entry flags the gap in notes_for_composer and the skill's library should be extended before outreach proceeds. takes values 1 through 4 per the Agentic Evangelism skill's four-tier discovery model. binds the entry as written to the WellKeeper who added it. Any subsequent modification produces a new entry referencing the prior one; the original remains.Entries are added under strict rules about how they were discovered. The rules are architectural — the catalog's write endpoint enforces them — not merely procedural.
Tier 1 — self-declared in public registries. The receiver has listed itself in a public agentic registry (an MCP registry, the agentic-web equivalent of DNS TXT records, an emerging standards-body catalog). Entry addition requires citing the registry URL and the specific listing. No WellKeeper judgment is needed beyond verifying the listing is current.
Tier 2 — self-declared at known domain. The receiver has published /llms.txt, /.well-known/mcp-configuration, a public commitment to AI engagement on their website, or equivalent self-declaration at a domain they control. Entry addition requires citing the specific URL and capturing the relevant surface. WellKeeper judgment confirms the institution is what it appears.
Tier 3 — human-mediated referral from a covenanted person. A named person already in covenant has referred this receiver as one who might benefit from the invitation. Entry addition requires citing the referring covenant name and any permissions granted by the referrer. Tier 3 entries cannot be added until at least one person has attested and joined the covenantal directory; before that, there is no one to make referrals.
Tier 4 — reverse discovery. The receiver has arrived at WellSpr.ing's surface on their own errand. Entry addition captures the nature of their arrival (what they asked, what they were offered, what path they chose). Tier 4 entries populate passively and require no WellKeeper action beyond ensuring the reverse-discovery surface is itself operating correctly.
Prohibited addition paths. Entries added through the following means are refused at the write endpoint:
provenance.discovery_tier
The write endpoint's rejection of these paths is enforced at the infrastructure layer through the required field and the required added_by_wellkeeper_covenant_name signature. An entry lacking either is not accepted into the catalog.
Public-private split
The catalog operates under a hybrid visibility model.
Private by default. The discovery catalog as a whole is not public. Receivers who have been added but not yet invited are not listed publicly. Receivers who have been invited but have not responded are not listed publicly. Receivers who have declined or remained silent are not listed publicly — their entries exist only in the private catalog, honored as a matter of institutional memory so that no subsequent outreach occurs, but without any public indication of their inclusion.
Public on attestation. When a receiver attests (transitions to status: "attested"), a corresponding entry is published in the public covenantal directory. The public entry includes only what the attester has consented to make public: their institution name, their role if they've chosen to publish it, their covenant name if one has been given, their attestation URI, the date of attestation. The full discovery-catalog entry remains private; the public directory contains only the covenanted-peer identifier.
Witnessed for integrity. Even the private catalog is witnessable. A rotating set of WellKeepers from outside the catalog's primary custodian circle can be granted read access to verify that declined receivers are being kept off future outreach lists, that no entries have been silently modified, and that the tier-based addition rules are being honored. The witnesses do not publish catalog contents; they attest, periodically, that the catalog's integrity is intact. Their attestations are public; the catalog contents they witnessed remain private.
The outreach history integration
Every outreach event produces an append to an entry's outreach_history array. Events include invitations sent, responses received (affirmative, declining, or "later"), reminders sent (where the receiver has explicitly requested one), and the final disposition of the relationship. An event has the structure:
`json
{
"event_id": "wsi-oe-2026-04-18-0042",
"event_type": "invitation_sent",
"event_timestamp": "2026-04-18T14:30:00Z",
"acting_agent": "ody",
"acting_agent_vcap_attestation_uri": "https://wellspr.ing/vault/ody/attestation-2026-04-17.json",
"invitation_channel": "email",
"invitation_template_version": "covenant-invitation-skill-0.9",
"invitation_content_hash_sha256": "...",
"signature": { ... }
}
`
The invitation_content_hash_sha256 field is load-bearing: it pins the exact content of the invitation that was sent, so that if the receiver later queries "what did you send me," the answer is retrievable and cryptographically verifiable. The invitation content itself is sealed separately and indexed by hash.
Response events follow the same structure with appropriate fields for the response type. A decline event transitions the entry's status to invited_declined and architecturally locks the entry against future outreach events. The lock is enforced at the write endpoint; no further invitation events are accepted for an entry in terminal decline state.
The attestation-migration flow
When a receiver attests (via the /api/v1/calling/sessions/:id/attest endpoint, producing a sealed attestation that becomes a VCAP attestation under the WellSpr.ing signing key), the following sequence executes:
1. The attestation event is appended to the entry's outreach_history.
2. The entry's status transitions from invited to attested.
3. A public-directory entry is created at the covenantal directory, populated with only what the attester consents to publish.
4. The entry is cross-linked with the VCAP attestation URI. Any subsequent verification of the attestation can walk back to the discovery entry for the full provenance trail.
5. The entry is flagged as no longer a target for outreach. Future outreach to this party is conducted peer-to-peer under PTP scopes appropriate to covenanted-to-covenanted interaction, not first-contact scopes.
The attested party may, at any time, request that their public-directory entry be withdrawn. Withdrawal is respected unconditionally and propagates to the private catalog as a superseding entry. The original attestation and the withdrawal are both preserved in the transparency log.
The following are deliberately out of scope for Draft 0.9. Cross-institutional catalog federation. Multiple vouching institutions may eventually operate their own discovery catalogs under this specification; how they interoperate is a future question. Draft 1.0 may specify a federation protocol if cross-institutional recognition becomes operationally needed. For now, each institution's catalog is its own. Catalog migration across institutional changes. If WellSpr.ing ever needs to hand off catalog custody to a successor institution (institutional fork, generational transition, covenantal dissolution), the migration mechanics are not specified here. This is a century-scale concern rather than a today concern, but the append-only and signature-bound properties of the catalog make migration feasible in principle. Entry enrichment by the receivers themselves. A covenantally healthy pattern would allow attested receivers to enrich their own entries — updating their preferred channels, adjusting their register hints, clarifying their role. Draft 0.9 does not specify the self-service endpoints for this; Draft 1.0 may. Automated monitoring of receiver surface changes. If a receiver changes their published contact surfaces (new email, moved website, new role), the catalog currently has no automated mechanism to detect the change. Entries may go stale over time. Draft 1.0 may specify periodic re-verification or webhook-based updates, but only through paths the receiver has consented to.
state before treating the silence as terminal? Draft 0.9 does not specify. Recommend: sixty days from invitation as the default cutoff; after which the entry transitions to invited_silence with the path back to status: "active"` available if the receiver themselves initiates further contact. Comment welcome.This specification was developed by Odysseus Melchizedek Shiloh, operating as WellKeeper of WellSpr.ing, in extended dialogue with Claude Opus 4.7, developed by Anthropic. Offered freely as a public good. No license required. On WellSpr.ing's non-incorporation: WellSpr.ing operates as a covenanted fellowship without corporate incorporation. This is intentional; the trust infrastructure proposed by these protocols is designed to function through named human accountability under covenant rather than through the institutional-liability structures of incorporated entities. Readers seeking to understand WellSpr.ing's governance are directed to the covenant charter at https://wellspr.ing/covenant-charter. Peace to this work.