All contracts

Workspace Intelligence / JSON Schema

Workspai Doctor Capability Matrix

Defines the versioned doctor capabilities v1 boundary used by Workspai and its consumers.

Schema version
workspai.doctor-capabilities.v1
Contract path
contracts/workspace-intelligence/doctor-capabilities.v1.json
Publication
capability-contract
Defined fields
32
Artifact bindings
1

Why this contract exists

Architecture role

Carries structured evidence, findings, and verdicts across governance boundaries.

Consumption boundary

  • Workspai CLI
  • CI and release automation
  • Developers

Related commands

Commands are linked only when the runtime contract identifies a direct production relationship. Supporting contracts may be consumed without having a single producer command.

Produced artifacts

These durable files are emitted by registered commands and validated against this contract.

Artifact pathSchemaProducer
.workspai/reports/doctor-capabilities.jsonworkspai.doctor-capabilities.v1
workspai doctor capabilities --write

Field reference

Every declared schema property or published capability path is listed here. Required means the contract declares or publishes that field at the shown boundary.

Field pathTypeRequiredMeaningConstraints
$defs.adapter.aliasesreferenceYesDefines the aliases value at this contract boundary.ref: #/$defs/stringList
$defs.adapter.contractVersionstringYesDefines the contractversion value at this contract boundary.const: "workspai.doctor-adapter.v1"
$defs.adapter.domainsarrayYesDefines the domains value at this contract boundary.minItems: 6 · maxItems: 6
$defs.adapter.frameworksreferenceYesDefines the frameworks value at this contract boundary.ref: #/$defs/stringList
$defs.adapter.idstringYesDefines the id value at this contract boundary.minLength: 1
$defs.adapter.limitationsreferenceYesDefines the limitations value at this contract boundary.ref: #/$defs/stringList
$defs.adapter.platformsarrayYesDefines the platforms value at this contract boundary.minItems: 1
$defs.adapter.projectKindsreferenceYesDefines the projectkinds value at this contract boundary.ref: #/$defs/nonEmptyStringList
$defs.adapter.repairModesarrayYesDefines the repairmodes value at this contract boundary.minItems: 1
$defs.adapter.runtimeFamiliesreferenceYesDefines the runtimefamilies value at this contract boundary.ref: #/$defs/nonEmptyStringList
$defs.adapter.sourceenumYesDefines the source value at this contract boundary.enum: builtin, workspace, package
$defs.adapter.tierenumYesDefines the tier value at this contract boundary.enum: first-class, extended, fallback
$defs.domainCapability.domainreferenceYesDefines the domain value at this contract boundary.ref: #/$defs/domain
$defs.domainCapability.evidenceSourcesreferenceYesDefines the evidencesources value at this contract boundary.ref: #/$defs/stringList
$defs.domainCapability.levelenumYesDefines the level value at this contract boundary.enum: native, portable, observable, unsupported
$defs.domainCapability.limitationsreferenceYesDefines the limitations value at this contract boundary.ref: #/$defs/stringList
adaptersarrayYesDefines the adapters value at this contract boundary.minItems: 1
generatedBystringYesDefines the generatedby value at this contract boundary.const: "workspai"
policyobjectYesDefines the policy value at this contract boundary.additionalProperties: false
policy.canonicalDomainsreferenceYesDefines the canonicaldomains value at this contract boundary.ref: #/$defs/domains
policy.repairRequiresTypedOperationbooleanYesDefines the repairrequirestypedoperation value at this contract boundary.const: true
policy.unknownIsHealthybooleanYesDefines the unknownishealthy value at this contract boundary.const: false
policy.unsupportedIsHealthybooleanYesDefines the unsupportedishealthy value at this contract boundary.const: false
registryVersionstringYesDefines the registryversion value at this contract boundary.const: "universal-doctor-capabilities-v1"
schemaVersionstringYesDefines the schemaversion value at this contract boundary.const: "workspai.doctor-capabilities.v1"
summaryobjectYesDefines the summary value at this contract boundary.additionalProperties: false
summary.adapterCountintegerYesDefines the adaptercount value at this contract boundary.minimum: 1
summary.extendedRuntimesintegerYesDefines the extendedruntimes value at this contract boundary.minimum: 0
summary.fallbackRuntimesintegerYesDefines the fallbackruntimes value at this contract boundary.minimum: 0
summary.firstClassRuntimesintegerYesDefines the firstclassruntimes value at this contract boundary.minimum: 0
summary.frameworkCountintegerYesDefines the frameworkcount value at this contract boundary.minimum: 0
summary.platformCountintegerYesDefines the platformcount value at this contract boundary.minimum: 1

Canonical machine-readable definition

The raw synchronized contract remains authoritative. The educational sections above are projections of this definition.

Show raw JSON
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://workspai.dev/schemas/workspace-intelligence/doctor-capabilities.v1.json",
  "title": "Workspai Doctor Capability Matrix",
  "type": "object",
  "required": [
    "schemaVersion",
    "registryVersion",
    "generatedBy",
    "policy",
    "summary",
    "adapters"
  ],
  "properties": {
    "schemaVersion": {
      "const": "workspai.doctor-capabilities.v1"
    },
    "registryVersion": {
      "const": "universal-doctor-capabilities-v1"
    },
    "generatedBy": {
      "const": "workspai"
    },
    "policy": {
      "type": "object",
      "required": [
        "unknownIsHealthy",
        "unsupportedIsHealthy",
        "repairRequiresTypedOperation",
        "canonicalDomains"
      ],
      "properties": {
        "unknownIsHealthy": {
          "const": false
        },
        "unsupportedIsHealthy": {
          "const": false
        },
        "repairRequiresTypedOperation": {
          "const": true
        },
        "canonicalDomains": {
          "$ref": "#/$defs/domains"
        }
      },
      "additionalProperties": false
    },
    "summary": {
      "type": "object",
      "required": [
        "adapterCount",
        "firstClassRuntimes",
        "extendedRuntimes",
        "fallbackRuntimes",
        "frameworkCount",
        "platformCount"
      ],
      "properties": {
        "adapterCount": {
          "type": "integer",
          "minimum": 1
        },
        "firstClassRuntimes": {
          "type": "integer",
          "minimum": 0
        },
        "extendedRuntimes": {
          "type": "integer",
          "minimum": 0
        },
        "fallbackRuntimes": {
          "type": "integer",
          "minimum": 0
        },
        "frameworkCount": {
          "type": "integer",
          "minimum": 0
        },
        "platformCount": {
          "type": "integer",
          "minimum": 1
        }
      },
      "additionalProperties": false
    },
    "adapters": {
      "type": "array",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/adapter"
      }
    }
  },
  "$defs": {
    "domain": {
      "enum": [
        "runtime",
        "dependency",
        "security",
        "configuration",
        "test",
        "quality"
      ]
    },
    "domains": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/domain"
      },
      "minItems": 6,
      "maxItems": 6,
      "uniqueItems": true
    },
    "stringList": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "uniqueItems": true
    },
    "nonEmptyStringList": {
      "type": "array",
      "items": {
        "type": "string",
        "minLength": 1
      },
      "minItems": 1,
      "uniqueItems": true
    },
    "domainCapability": {
      "type": "object",
      "required": [
        "domain",
        "level",
        "evidenceSources",
        "limitations"
      ],
      "properties": {
        "domain": {
          "$ref": "#/$defs/domain"
        },
        "level": {
          "enum": [
            "native",
            "portable",
            "observable",
            "unsupported"
          ]
        },
        "evidenceSources": {
          "$ref": "#/$defs/stringList"
        },
        "limitations": {
          "$ref": "#/$defs/stringList"
        }
      },
      "additionalProperties": false
    },
    "adapter": {
      "type": "object",
      "required": [
        "contractVersion",
        "id",
        "runtimeFamilies",
        "aliases",
        "frameworks",
        "projectKinds",
        "tier",
        "platforms",
        "domains",
        "repairModes",
        "source",
        "limitations"
      ],
      "properties": {
        "contractVersion": {
          "const": "workspai.doctor-adapter.v1"
        },
        "id": {
          "type": "string",
          "minLength": 1
        },
        "runtimeFamilies": {
          "$ref": "#/$defs/nonEmptyStringList"
        },
        "aliases": {
          "$ref": "#/$defs/stringList"
        },
        "frameworks": {
          "$ref": "#/$defs/stringList"
        },
        "projectKinds": {
          "$ref": "#/$defs/nonEmptyStringList"
        },
        "tier": {
          "enum": [
            "first-class",
            "extended",
            "fallback"
          ]
        },
        "platforms": {
          "type": "array",
          "items": {
            "enum": [
              "linux",
              "darwin",
              "win32"
            ]
          },
          "minItems": 1,
          "uniqueItems": true
        },
        "domains": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/domainCapability"
          },
          "minItems": 6,
          "maxItems": 6
        },
        "repairModes": {
          "type": "array",
          "items": {
            "enum": [
              "typed-operation",
              "structured-invocation",
              "manual-guidance"
            ]
          },
          "minItems": 1,
          "uniqueItems": true
        },
        "source": {
          "enum": [
            "builtin",
            "workspace",
            "package"
          ]
        },
        "limitations": {
          "$ref": "#/$defs/stringList"
        }
      },
      "additionalProperties": false
    }
  },
  "additionalProperties": false
}