{
  "@context": [
    "https://www.w3.org/2022/wot/td/v1.1",
    { "reg": "https://td.thingctx.com/v0/vocab#" }
  ],
  "@type": "tm:ThingModel",
  "title": "Registry Capability",
  "description": "The base Thing Model every registry entry extends. It pins the envelope shared across td.thingctx.com (provenance, registry metadata, a security placeholder) so each concrete Thing Description declares a stable, machine checkable shape. It does not constrain the affordances: a GitHub Thing and a Postgres Thing extend this same model yet expose entirely different actions. The envelope is the contract; the affordances vary per Thing. The form transport is whatever the underlying system speaks; it is not necessarily HTTP.",

  "version": { "model": "0.0.0" },

  "links": [
    {
      "rel": "type",
      "href": "https://td.thingctx.com/v0/tm/capability.tm.json",
      "type": "application/tm+json"
    }
  ],

  "reg:provenance": {
    "tm:ref": "https://td.thingctx.com/v0/tm/capability.tm.json#/reg:provenance",
    "reg:generatedBy": "thingctx-registry",
    "reg:derivedFrom": "{{REG_SOURCE_KIND}}",
    "reg:sourceRef": "{{REG_SOURCE_REF}}"
  },

  "securityDefinitions": {
    "{{REG_SECURITY_NAME}}": { "scheme": "{{REG_SECURITY_SCHEME}}" }
  },
  "security": ["{{REG_SECURITY_NAME}}"]
}
