Přeskočit obsah

Sensorium-device-discovery.request.v1

Source schema: doc/schemas/sensorium-device-discovery.request.v1.schema.json

Private bounded discovery intent. The host derives authority and resolves scope; caller parameters never grant permission. Finite limits are hard ceilings, narrowed by admitted profiles and policy. Exact deadlines require host cleanup margin. No acquisition, probing, automatic observation or retention of identifiers.

Governing Basis

Project Lineage

Requirements

Stories

Fields

Field Required Shape Description
schema yes const: sensorium-device-discovery.request.v1
schema/v yes const: 1
profile/ref yes object
discovery/mode yes enum: passive, active
transport/kind yes enum: ble, usb-serial, mdns
transport/scope yes object
filters yes object
idempotency/key yes string
budgets yes object

Definitions

Definition Shape Description
profile object
scope object

Conditional Rules

Rule 1

When:

{
  "properties": {
    "transport/kind": {
      "const": "ble"
    }
  },
  "required": [
    "transport/kind"
  ]
}

Then:

{
  "properties": {
    "filters": {
      "not": {
        "anyOf": [
          {
            "required": [
              "usb/vendor-id"
            ]
          },
          {
            "required": [
              "usb/product-id"
            ]
          },
          {
            "required": [
              "mdns/service-type"
            ]
          }
        ]
      }
    }
  }
}

Rule 2

When:

{
  "properties": {
    "transport/kind": {
      "const": "usb-serial"
    }
  },
  "required": [
    "transport/kind"
  ]
}

Then:

{
  "properties": {
    "filters": {
      "not": {
        "anyOf": [
          {
            "required": [
              "advertised-name/prefix"
            ]
          },
          {
            "required": [
              "advertised-name/exact"
            ]
          },
          {
            "required": [
              "service/uuid"
            ]
          },
          {
            "required": [
              "mdns/service-type"
            ]
          }
        ]
      }
    }
  }
}

Rule 3

When:

{
  "properties": {
    "transport/kind": {
      "const": "mdns"
    }
  },
  "required": [
    "transport/kind"
  ]
}

Then:

{
  "properties": {
    "filters": {
      "not": {
        "anyOf": [
          {
            "required": [
              "advertised-name/prefix"
            ]
          },
          {
            "required": [
              "advertised-name/exact"
            ]
          },
          {
            "required": [
              "service/uuid"
            ]
          },
          {
            "required": [
              "usb/vendor-id"
            ]
          },
          {
            "required": [
              "usb/product-id"
            ]
          }
        ]
      }
    }
  }
}

Field Semantics

schema

  • Required: yes
  • Shape: const: sensorium-device-discovery.request.v1

schema/v

  • Required: yes
  • Shape: const: 1

profile/ref

  • Required: yes
  • Shape: object

discovery/mode

  • Required: yes
  • Shape: enum: passive, active

transport/kind

  • Required: yes
  • Shape: enum: ble, usb-serial, mdns

transport/scope

  • Required: yes
  • Shape: object

filters

  • Required: yes
  • Shape: object

idempotency/key

  • Required: yes
  • Shape: string

budgets

  • Required: yes
  • Shape: object

Definition Semantics

$defs.profile

  • Shape: object

$defs.scope

  • Shape: object