MSP-1 Specification

discovery

The discovery term declares the canonical well-known endpoint used to locate a site's MSP-1 declaration.

Category: Protocol discovery and deterministic resolution

Status: Active core term

Required: Recommended

Version: MSP-1 v1.0.1

1. Purpose

The discovery term provides a deterministic way to identify the canonical MSP-1 well-known endpoint for a site.

Discovery allows agents, validators, and implementation tools to locate MSP-1 metadata without guessing alternate filenames or endpoint locations. It identifies where MSP-1 metadata is located, but it does not by itself establish correctness, authority, trust, or verification.

2. Definition

A discovery declaration is an object containing the canonical well-known path and a boolean confirmation that the path is canonical for MSP-1 discovery.

The canonical MSP-1 v1.0.1 object form requires wellKnown and canonical. Both fields are constrained to fixed values.

3. Required fields

  • wellKnown — required. The canonical root-relative path to the site's MSP-1 well-known declaration. This value is constrained to /.well-known/msp.json.
  • canonical — required. Boolean confirmation that the declared well-known path is the canonical MSP-1 discovery endpoint. This value is constrained to true.

4. Usage guidance

  • Discovery should point to the canonical MSP-1 well-known endpoint.
  • wellKnown should use the root-relative path /.well-known/msp.json.
  • Consumers and agents should not infer alternate filenames when the canonical endpoint is absent or unreachable.
  • The discovery object is an additive clarity layer; older implementations may remain interpretable through the canonical endpoint even when the object is absent.
  • discovery.canonical is a boolean endpoint-designation field and should not be interpreted as the separate canonical term.
  • Discovery should not be treated as proof of correctness, authority, trust, verification, or ranking value by itself.

5. Examples

Canonical discovery object:

{
  "discovery": {
    "wellKnown": "/.well-known/msp.json",
    "canonical": true
  }
}

.well-known declaration with discovery:

{
  "protocol": {
    "name": "MSP-1",
    "version": "1.0.1"
  },
  "discovery": {
    "wellKnown": "/.well-known/msp.json",
    "canonical": true
  }
}

6. Relationship to related MSP-1 terms

  • site describes the website as a top-level MSP-1 semantic entity.
  • protocol identifies the semantic protocol being used and the MSP-1 version being implemented.
  • version identifies a declared version for a site, page, section, resource, implementation, or protocol-related context.
  • canonical identifies the preferred URL representation of a resource and should not be confused with discovery.canonical.
  • url identifies a primary web-addressable location associated with an MSP-1 resource.

7. Validation guidance

When present, discovery should be an object containing wellKnown set to /.well-known/msp.json and canonical set to true. Additional properties should not be included.

Validators should flag alternate well-known paths, false canonical values, missing required fields, or additional fields as structural errors or advisory incompatibilities depending on implementation mode. If discovery is absent, consumers may still attempt the canonical endpoint, but should not probe alternate filenames.