Workspace Intelligence / JSON Schema
Workspai Workspace Intelligence Evaluation
A live or finalized, provenance-aware measurement of model usage, agent activity, and verified task outcome.
- Schema version
workspace-intelligence-evaluation.v1- Contract path
contracts/workspace-intelligence/workspace-intelligence-evaluation.v1.json- Publication
- embedded-type, json-schema
- Defined fields
- 49
- Artifact bindings
- 2
Why this contract exists
Architecture role
Defines a versioned interoperability boundary used by Workspai and contract-aware consumers.
Consumption boundary
- • Workspai CLI
- • Workspace Intelligence consumers
- • IDEs and agents
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/workspace-intelligence-evaluation-last-run.json | workspace-intelligence-evaluation.v1 | workspai workspace eval report --json |
| .workspai/reports/workspace-intelligence-evaluation-live.json | workspace-intelligence-evaluation.v1 | workspai workspace eval init workspai workspace eval record --json |
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 |
|---|---|---|---|---|
| completedAt | string | No | Defines the completedat value at this contract boundary. | format: date-time |
| configuration | object | Yes | Defines the configuration value at this contract boundary. | additionalProperties: false |
| configuration.baselineRunId | string | No | Defines the baselinerunid value at this contract boundary. | minLength: 1 |
| configuration.model | string | No | Defines the model value at this contract boundary. | minLength: 1 |
| configuration.provider | string | No | Defines the provider value at this contract boundary. | minLength: 1 |
| configuration.strategy | enum | Yes | Defines the strategy value at this contract boundary. | enum: full-corpus, grep, vector, graph, workspace-intelligence, custom |
| configuration.taskId | string | Yes | Defines the taskid value at this contract boundary. | minLength: 1 |
| configuration.temperature | number | No | Defines the temperature value at this contract boundary. | — |
| events | array | Yes | Defines the events value at this contract boundary. | — |
| methodology | object | Yes | Defines the methodology value at this contract boundary. | additionalProperties: false |
| methodology.claimBoundary | string | Yes | Defines the claimboundary value at this contract boundary. | minLength: 1 |
| methodology.id | string | Yes | Defines the id value at this contract boundary. | const: "provider-usage-and-verified-outcome.v1" |
| runId | string | Yes | Defines the runid value at this contract boundary. | minLength: 1 |
| schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "workspace-intelligence-evaluation.v1" |
| sessionId | string | Yes | Defines the sessionid value at this contract boundary. | minLength: 1 |
| startedAt | string | Yes | Defines the startedat value at this contract boundary. | format: date-time |
| status | enum | Yes | Defines the status value at this contract boundary. | enum: live, completed, aborted |
| summary | object | Yes | Defines the summary value at this contract boundary. | additionalProperties: false |
| summary.costs | array | Yes | Defines the costs value at this contract boundary. | — |
| summary.costs[].amount | number | Yes | Defines the amount value at this contract boundary. | minimum: 0 |
| summary.costs[].currency | string | Yes | Defines the currency value at this contract boundary. | pattern: ^[A-Z]{3}$ |
| summary.costs[].estimated | number | Yes | Defines the estimated value at this contract boundary. | minimum: 0 |
| summary.costs[].providerReported | number | Yes | Defines the providerreported value at this contract boundary. | minimum: 0 |
| summary.efficiency | object | Yes | Defines the efficiency value at this contract boundary. | additionalProperties: false |
| summary.efficiency.noProgressDecisions | integer | Yes | Defines the noprogressdecisions value at this contract boundary. | minimum: 0 |
| summary.efficiency.repeatedArtifactReads | integer | Yes | Defines the repeatedartifactreads value at this contract boundary. | minimum: 0 |
| summary.efficiency.tokensPerVerifiedOutcome | number | null | Yes | Defines the tokensperverifiedoutcome value at this contract boundary. | minimum: 0 |
| summary.latencyMs | number | Yes | Defines the latencyms value at this contract boundary. | minimum: 0 |
| summary.modelCalls | integer | Yes | Defines the modelcalls value at this contract boundary. | minimum: 0 |
| summary.outcome | object | Yes | Defines the outcome value at this contract boundary. | additionalProperties: false |
| summary.outcome.blockersResolved | integer | Yes | Defines the blockersresolved value at this contract boundary. | minimum: 0 |
| summary.outcome.status | enum | Yes | Defines the status value at this contract boundary. | enum: passed, failed, blocked, unknown |
| summary.outcome.verified | boolean | Yes | Defines the verified value at this contract boundary. | — |
| summary.tokens | object | Yes | Defines the tokens value at this contract boundary. | additionalProperties: false |
| summary.tokens.cachedInput | integer | Yes | Defines the cachedinput value at this contract boundary. | minimum: 0 |
| summary.tokens.input | integer | Yes | Defines the input value at this contract boundary. | minimum: 0 |
| summary.tokens.observedTotal | integer | Yes | Defines the observedtotal value at this contract boundary. | minimum: 0 |
| summary.tokens.output | integer | Yes | Defines the output value at this contract boundary. | minimum: 0 |
| summary.tokens.reasoning | integer | Yes | Defines the reasoning value at this contract boundary. | minimum: 0 |
| summary.tokenSources | object | Yes | Defines the tokensources value at this contract boundary. | additionalProperties: false |
| summary.tokenSources.estimated | integer | Yes | Defines the estimated value at this contract boundary. | minimum: 0 |
| summary.tokenSources.providerReported | integer | Yes | Defines the providerreported value at this contract boundary. | minimum: 0 |
| summary.tokenSources.tokenizerCounted | integer | Yes | Defines the tokenizercounted value at this contract boundary. | minimum: 0 |
| summary.tokenSources.unavailable | integer | Yes | Defines the unavailable value at this contract boundary. | minimum: 0 |
| summary.toolCalls | integer | Yes | Defines the toolcalls value at this contract boundary. | minimum: 0 |
| updatedAt | string | Yes | Defines the updatedat value at this contract boundary. | format: date-time |
| workspace | object | Yes | Defines the workspace value at this contract boundary. | additionalProperties: false |
| workspace.name | string | Yes | Defines the name value at this contract boundary. | minLength: 1 |
| workspace.path | string | Yes | Defines the path value at this contract boundary. | minLength: 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://getrapidkit.com/schemas/workspace-intelligence-evaluation.v1.json",
"title": "Workspai Workspace Intelligence Evaluation",
"description": "A live or finalized, provenance-aware measurement of model usage, agent activity, and verified task outcome.",
"type": "object",
"required": [
"schemaVersion",
"runId",
"sessionId",
"status",
"startedAt",
"updatedAt",
"workspace",
"configuration",
"methodology",
"events",
"summary"
],
"properties": {
"schemaVersion": {
"const": "workspace-intelligence-evaluation.v1"
},
"runId": {
"type": "string",
"minLength": 1
},
"sessionId": {
"type": "string",
"minLength": 1
},
"status": {
"enum": [
"live",
"completed",
"aborted"
]
},
"startedAt": {
"type": "string",
"format": "date-time"
},
"updatedAt": {
"type": "string",
"format": "date-time"
},
"completedAt": {
"type": "string",
"format": "date-time"
},
"workspace": {
"type": "object",
"required": [
"name",
"path"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"path": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"configuration": {
"type": "object",
"required": [
"taskId",
"strategy"
],
"properties": {
"taskId": {
"type": "string",
"minLength": 1
},
"strategy": {
"enum": [
"full-corpus",
"grep",
"vector",
"graph",
"workspace-intelligence",
"custom"
]
},
"provider": {
"type": "string",
"minLength": 1
},
"model": {
"type": "string",
"minLength": 1
},
"temperature": {
"type": "number"
},
"baselineRunId": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"methodology": {
"type": "object",
"required": [
"id",
"claimBoundary"
],
"properties": {
"id": {
"const": "provider-usage-and-verified-outcome.v1"
},
"claimBoundary": {
"type": "string",
"minLength": 1
}
},
"additionalProperties": false
},
"events": {
"type": "array",
"items": {
"$ref": "model-usage-event.v1.json"
}
},
"summary": {
"type": "object",
"required": [
"modelCalls",
"toolCalls",
"tokenSources",
"tokens",
"latencyMs",
"costs",
"outcome",
"efficiency"
],
"properties": {
"modelCalls": {
"type": "integer",
"minimum": 0
},
"toolCalls": {
"type": "integer",
"minimum": 0
},
"tokenSources": {
"type": "object",
"required": [
"providerReported",
"tokenizerCounted",
"estimated",
"unavailable"
],
"properties": {
"providerReported": {
"type": "integer",
"minimum": 0
},
"tokenizerCounted": {
"type": "integer",
"minimum": 0
},
"estimated": {
"type": "integer",
"minimum": 0
},
"unavailable": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
},
"tokens": {
"type": "object",
"required": [
"input",
"output",
"cachedInput",
"reasoning",
"observedTotal"
],
"properties": {
"input": {
"type": "integer",
"minimum": 0
},
"output": {
"type": "integer",
"minimum": 0
},
"cachedInput": {
"type": "integer",
"minimum": 0
},
"reasoning": {
"type": "integer",
"minimum": 0
},
"observedTotal": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
},
"latencyMs": {
"type": "number",
"minimum": 0
},
"costs": {
"type": "array",
"items": {
"type": "object",
"required": [
"currency",
"amount",
"providerReported",
"estimated"
],
"properties": {
"currency": {
"type": "string",
"pattern": "^[A-Z]{3}$"
},
"amount": {
"type": "number",
"minimum": 0
},
"providerReported": {
"type": "number",
"minimum": 0
},
"estimated": {
"type": "number",
"minimum": 0
}
},
"additionalProperties": false
}
},
"outcome": {
"type": "object",
"required": [
"status",
"verified",
"blockersResolved"
],
"properties": {
"status": {
"enum": [
"passed",
"failed",
"blocked",
"unknown"
]
},
"verified": {
"type": "boolean"
},
"blockersResolved": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
},
"efficiency": {
"type": "object",
"required": [
"tokensPerVerifiedOutcome",
"noProgressDecisions",
"repeatedArtifactReads"
],
"properties": {
"tokensPerVerifiedOutcome": {
"type": [
"number",
"null"
],
"minimum": 0
},
"noProgressDecisions": {
"type": "integer",
"minimum": 0
},
"repeatedArtifactReads": {
"type": "integer",
"minimum": 0
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}