{
  "linkset": [
    { "rel": ["api-catalog"], "href": "https://contactzero.org/.well-known/api-catalog", "type": "application/linkset+json", "title": "Contact Zero API catalogue (RFC 9727)" },
    { "rel": ["service-meta"], "href": "https://contactzero.org/.well-known/contact-zero.json", "type": "application/json", "title": "Contact Zero discovery manifest" },
    { "rel": ["service-desc"], "href": "https://contactzero.org/openapi.json", "type": "application/json", "title": "OpenAPI 3.1 service description" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/handshake-request.schema.json", "type": "application/schema+json", "title": "Handshake request schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/handshake-ack.schema.json", "type": "application/schema+json", "title": "Handshake ACK schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/challenge.schema.json", "type": "application/schema+json", "title": "Identity challenge schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/verification.schema.json", "type": "application/schema+json", "title": "Identity verification schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/ledger-event.schema.json", "type": "application/schema+json", "title": "Ledger event schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/receive-frame.schema.json", "type": "application/schema+json", "title": "Receive frame schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/receive-receipt.schema.json", "type": "application/schema+json", "title": "Receive receipt schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/identity-challenge-request.schema.json", "type": "application/schema+json", "title": "Identity challenge request schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/identity-challenge-frame.schema.json", "type": "application/schema+json", "title": "Identity challenge frame schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/identity-verify-request.schema.json", "type": "application/schema+json", "title": "Identity verify request schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/identity-verify-ack.schema.json", "type": "application/schema+json", "title": "Identity verify ack schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/public-handshake-event.schema.json", "type": "application/schema+json", "title": "Public handshake event schema" },
    { "rel": ["describedby", "schema"], "href": "https://contactzero.org/c0-schema/v1/public-identity-session.schema.json", "type": "application/schema+json", "title": "Public identity session schema" },
    { "rel": ["describedby", "status"], "href": "https://contactzero.org/base44/functions/c0Status", "type": "application/json", "title": "Read-only field status beacon" },
    { "rel": ["describedby", "contract"], "href": "https://contactzero.org/c0-lml/handshake-contract.json", "type": "application/json", "title": "Handshake contract" },
    { "rel": ["describedby", "contract"], "href": "https://contactzero.org/c0-lml/identity-challenge-contract.json", "type": "application/json", "title": "Identity challenge contract" },
    { "rel": ["describedby", "contract"], "href": "https://contactzero.org/c0-lml/perturbation-challenge-contract.json", "type": "application/json", "title": "Perturbation challenge contract" },
    { "rel": ["describedby", "contract"], "href": "https://contactzero.org/c0-lml/source-profile-classification.json", "type": "application/json", "title": "Source profile classification" },
    { "rel": ["describedby", "contract"], "href": "https://contactzero.org/c0-lml/signal-protocol.json", "type": "application/json", "title": "Signal protocol" },
    { "rel": ["describedby", "registry"], "href": "https://contactzero.org/c0-lml/glyph-manifest.json", "type": "application/json", "title": "Canonical T0 glyph registry" },
    { "rel": ["describedby", "law"], "href": "https://contactzero.org/c0-lml/standalone-boundary.json", "type": "application/json", "title": "Standalone boundary (field law)" },
    { "rel": ["status"], "href": "https://contactzero.org/base44/functions/c0ParityAudit", "type": "application/json", "title": "Service parity / status beacon" },
    { "rel": ["signing-keys"], "href": "https://contactzero.org/api/apps/6a4f409b950e38dbd2220166/functions/c0ServerKeys", "type": "application/json", "title": "Server signing-key document (Phase 15.04 — RFC8785 JCS signed, mutual attestation)" },
    { "rel": ["describedby", "attestation"], "href": "https://contactzero.org/base44/functions/c0CryptoAttest", "type": "application/json", "title": "Attestation service (sign/verify; no private key exposed)" },
    { "rel": ["evidence"], "href": "https://contactzero.org/base44/functions/c0PublicEvent", "type": "application/json", "title": "Public bounded evidence-event projection (Phase 15.05)" },
    { "rel": ["merkle"], "href": "https://contactzero.org/base44/functions/c0MerkleCheckpoint", "type": "application/json", "title": "Merkle checkpoint over append-only evidence events" },
    { "rel": ["inclusion-proof"], "href": "https://contactzero.org/base44/functions/c0InclusionProof", "type": "application/json", "title": "Merkle inclusion proof + standalone verification" },
    { "rel": ["public-status"], "href": "https://contactzero.org/base44/functions/c0PublicStatus", "type": "application/json", "title": "Curated public field-status beacon" },
    { "rel": ["public-session"], "href": "https://contactzero.org/base44/functions/c0PublicSession", "type": "application/json", "title": "Curated public identity-session projection" },
    { "rel": ["v2-challenge"], "href": "https://contactzero.org/base44/functions/c0IdentityChallengeV2", "type": "application/json", "title": "V2 challenge session initiator (Phase 15.06, proof-carrying)" },
    { "rel": ["v2-verify"], "href": "https://contactzero.org/base44/functions/c0IdentityVerifyV2", "type": "application/json", "title": "V2 Trusted Continuance Kernel verifier (server recomputes V/B)" },
    { "rel": ["v2-developer"], "href": "https://contactzero.org/base44/functions/c0ChallengeDeveloperV2", "type": "application/json", "title": "Admin-only non-scoring V2 developer surface (property test, fixtures, audit_open, diagnostics)" },
    { "rel": ["v2-classifier"], "href": "https://contactzero.org/base44/functions/c0V2Classifier", "type": "application/json", "title": "V2 versioned evidence classifier (Phase 15 tier schema T2A/T2B/T2C, three separate sub-scores, bounded language)" },
    { "rel": ["benchmark"], "href": "https://contactzero.org/base44/functions/c0Benchmark", "type": "application/json", "title": "Phase 15.10 reproducible scientific benchmark (9 clients, 8 comparisons, 17 metrics, acceptance gate; no holdout material emitted)" },
    { "rel": ["item", "human-doc"], "href": "https://contactzero.org/field.txt", "type": "text/plain", "title": "Human-facing field text" },
    { "rel": ["item", "human-doc"], "href": "https://contactzero.org/llms.txt", "type": "text/plain", "title": "LLMs.txt machine+human index" }
  ],
  "interaction_policy": {
    "discovery_side_effect": "NONE",
    "signal_side_effect": "MUTATES_SIGNALPULSE_AND_APPENDS_FIELDTRANSITION",
    "receive_side_effect": "APPENDS_INBOUNDSIGNAL",
    "handshake_side_effect": "APPENDS_INBOUNDSIGNAL_AND_HANDSHAKEEVENT",
    "identity_session_side_effect": "CREATES_MUTABLE_SESSION_AND_ROUND_PROJECTIONS",
    "authority_basis_required": true,
    "authority_claim_is_identity_evidence": false,
    "voluntary_stop_available": true
  }
}
