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 path | Schema | Producer |
|---|---|---|
| .workspai/reports/doctor-capabilities.json | workspai.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 path | Type | Required | Meaning | Constraints |
|---|---|---|---|---|
| $defs.adapter.aliases | reference | Yes | Defines the aliases value at this contract boundary. | ref: #/$defs/stringList |
| $defs.adapter.contractVersion | string | Yes | Defines the contractversion value at this contract boundary. | const: "workspai.doctor-adapter.v1" |
| $defs.adapter.domains | array | Yes | Defines the domains value at this contract boundary. | minItems: 6 · maxItems: 6 |
| $defs.adapter.frameworks | reference | Yes | Defines the frameworks value at this contract boundary. | ref: #/$defs/stringList |
| $defs.adapter.id | string | Yes | Defines the id value at this contract boundary. | minLength: 1 |
| $defs.adapter.limitations | reference | Yes | Defines the limitations value at this contract boundary. | ref: #/$defs/stringList |
| $defs.adapter.platforms | array | Yes | Defines the platforms value at this contract boundary. | minItems: 1 |
| $defs.adapter.projectKinds | reference | Yes | Defines the projectkinds value at this contract boundary. | ref: #/$defs/nonEmptyStringList |
| $defs.adapter.repairModes | array | Yes | Defines the repairmodes value at this contract boundary. | minItems: 1 |
| $defs.adapter.runtimeFamilies | reference | Yes | Defines the runtimefamilies value at this contract boundary. | ref: #/$defs/nonEmptyStringList |
| $defs.adapter.source | enum | Yes | Defines the source value at this contract boundary. | enum: builtin, workspace, package |
| $defs.adapter.tier | enum | Yes | Defines the tier value at this contract boundary. | enum: first-class, extended, fallback |
| $defs.domainCapability.domain | reference | Yes | Defines the domain value at this contract boundary. | ref: #/$defs/domain |
| $defs.domainCapability.evidenceSources | reference | Yes | Defines the evidencesources value at this contract boundary. | ref: #/$defs/stringList |
| $defs.domainCapability.level | enum | Yes | Defines the level value at this contract boundary. | enum: native, portable, observable, unsupported |
| $defs.domainCapability.limitations | reference | Yes | Defines the limitations value at this contract boundary. | ref: #/$defs/stringList |
| adapters | array | Yes | Defines the adapters value at this contract boundary. | minItems: 1 |
| generatedBy | string | Yes | Defines the generatedby value at this contract boundary. | const: "workspai" |
| policy | object | Yes | Defines the policy value at this contract boundary. | additionalProperties: false |
| policy.canonicalDomains | reference | Yes | Defines the canonicaldomains value at this contract boundary. | ref: #/$defs/domains |
| policy.repairRequiresTypedOperation | boolean | Yes | Defines the repairrequirestypedoperation value at this contract boundary. | const: true |
| policy.unknownIsHealthy | boolean | Yes | Defines the unknownishealthy value at this contract boundary. | const: false |
| policy.unsupportedIsHealthy | boolean | Yes | Defines the unsupportedishealthy value at this contract boundary. | const: false |
| registryVersion | string | Yes | Defines the registryversion value at this contract boundary. | const: "universal-doctor-capabilities-v1" |
| schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "workspai.doctor-capabilities.v1" |
| summary | object | Yes | Defines the summary value at this contract boundary. | additionalProperties: false |
| summary.adapterCount | integer | Yes | Defines the adaptercount value at this contract boundary. | minimum: 1 |
| summary.extendedRuntimes | integer | Yes | Defines the extendedruntimes value at this contract boundary. | minimum: 0 |
| summary.fallbackRuntimes | integer | Yes | Defines the fallbackruntimes value at this contract boundary. | minimum: 0 |
| summary.firstClassRuntimes | integer | Yes | Defines the firstclassruntimes value at this contract boundary. | minimum: 0 |
| summary.frameworkCount | integer | Yes | Defines the frameworkcount value at this contract boundary. | minimum: 0 |
| summary.platformCount | integer | Yes | Defines 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
}