Workspace Intelligence / JSON Schema
Workspai Agent Bootstrap Receipt
Portable per-session proof that an agent resolved canonical project evidence before broad source discovery.
- Schema version
workspai.agent-bootstrap-receipt.v1- Contract path
contracts/workspace-intelligence/agent-bootstrap-receipt.v1.json- Publication
- json-schema
- Defined fields
- 65
- Artifact bindings
- 0
Why this contract exists
Architecture role
Projects workspace intelligence into stable grounding surfaces for agents and integrations.
Consumption boundary
- • Workspai CLI
- • AI agents
- • IDEs and MCP clients
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.
This is a supporting, capability, cache, compatibility, or consumer contract. It has no single direct producer command in the canonical Workspace Intelligence execution registry.
Produced artifacts
These durable files are emitted by registered commands and validated against this contract.
No canonical file artifact is registered for this contract. It may describe capabilities, embedded data, runtime exchange, or supporting state instead of a standalone report.
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 |
|---|---|---|---|---|
| activeGoal | object | Yes | Defines the activegoal value at this contract boundary. | additionalProperties: false |
| activeGoal.agentHandoff | reference | No | Defines the agenthandoff value at this contract boundary. | ref: #/$defs/workspaceArtifact |
| activeGoal.appliesToProject | boolean | Yes | Defines the appliestoproject value at this contract boundary. | — |
| activeGoal.goalPack | reference | No | Defines the goalpack value at this contract boundary. | ref: #/$defs/workspaceArtifact |
| activeGoal.id | string | No | Defines the id value at this contract boundary. | minLength: 1 |
| activeGoal.lifecycle | string | No | Defines the lifecycle value at this contract boundary. | minLength: 1 |
| activeGoal.objective | string | No | Defines the objective value at this contract boundary. | minLength: 1 |
| activeGoal.present | boolean | Yes | Defines the present value at this contract boundary. | — |
| activeGoal.status | enum | Yes | Defines the status value at this contract boundary. | enum: none, ready, stale, invalid |
| canonicalEvidence | object | Yes | Defines the canonicalevidence value at this contract boundary. | additionalProperties: false |
| canonicalEvidence.blockerCount | integer | Yes | Defines the blockercount value at this contract boundary. | minimum: 0 |
| canonicalEvidence.boundedGraphSearch | string | No | Defines the boundedgraphsearch value at this contract boundary. | const: "command:workspai workspace graph search <task-query> --scope project:<project> --limit 12 --json" |
| canonicalEvidence.graphFreshness | enum | Yes | Defines the graphfreshness value at this contract boundary. | enum: fresh, stale, unknown, missing |
| canonicalEvidence.graphMatchesModel | boolean | Yes | Defines the graphmatchesmodel value at this contract boundary. | — |
| canonicalEvidence.knowledgeGraph | string | No | Defines the knowledgegraph value at this contract boundary. | const: "workspace:.workspai/reports/workspace-knowledge-graph.json" |
| canonicalEvidence.liveInputsValidated | boolean | Yes | Defines the liveinputsvalidated value at this contract boundary. | — |
| canonicalEvidence.modelFreshness | enum | Yes | Defines the modelfreshness value at this contract boundary. | enum: fresh, stale, unknown, missing |
| canonicalEvidence.projectContext | string | Yes | Defines the projectcontext value at this contract boundary. | const: ".workspai/reports/project-context-agent.json" |
| canonicalEvidence.workspaceContext | string | Yes | Defines the workspacecontext value at this contract boundary. | const: "workspace:.workspai/reports/workspace-context-agent.json" |
| canonicalEvidence.workspaceIndex | string | Yes | Defines the workspaceindex value at this contract boundary. | const: "workspace:.workspai/reports/INDEX.json" |
| canonicalEvidence.workspaceModel | string | No | Defines the workspacemodel value at this contract boundary. | const: "workspace:.workspai/reports/workspace-model.json" |
| canonicalEvidence.workspaceSkillsIndex | string | No | Defines the workspaceskillsindex value at this contract boundary. | const: "workspace:.workspai/reports/workspace-skills-index.json" |
| checks | array | Yes | Defines the checks value at this contract boundary. | minItems: 6 |
| checks[].artifact | reference | No | Defines the artifact value at this contract boundary. | ref: #/$defs/portablePath |
| checks[].id | string | Yes | Defines the id value at this contract boundary. | minLength: 1 |
| checks[].message | string | Yes | Defines the message value at this contract boundary. | minLength: 1 |
| checks[].status | enum | Yes | Defines the status value at this contract boundary. | enum: passed, warning, failed |
| claims | object | Yes | Defines the claims value at this contract boundary. | additionalProperties: false |
| claims.architecture | enum | Yes | Defines the architecture value at this contract boundary. | enum: allowed-with-citations, prohibited |
| claims.sourceInspection | string | Yes | Defines the sourceinspection value at this contract boundary. | const: "bounded-and-targeted" |
| claims.sourceMutation | string | Yes | Defines the sourcemutation value at this contract boundary. | const: "governed-cli-transaction-only" |
| claims.verification | string | Yes | Defines the verification value at this contract boundary. | const: "cli-evidence-only" |
| entry | object | Yes | Defines the entry value at this contract boundary. | additionalProperties: false |
| entry.artifact | string | Yes | Defines the artifact value at this contract boundary. | const: ".workspai/agent-entry.v1.json" |
| entry.entryFiles | array | Yes | Defines the entryfiles value at this contract boundary. | minItems: 1 · maxItems: 16 |
| entry.hostStatus | reference | Yes | Defines the hoststatus value at this contract boundary. | ref: #/$defs/status |
| entry.schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "workspai.agent-entry.v1" |
| generatedAt | string | Yes | Defines the generatedat value at this contract boundary. | format: date-time |
| integrity | object | Yes | Defines the integrity value at this contract boundary. | additionalProperties: false |
| integrity.absolutePathsEmitted | boolean | Yes | Defines the absolutepathsemitted value at this contract boundary. | const: false |
| integrity.algorithm | string | Yes | Defines the algorithm value at this contract boundary. | const: "sha256" |
| integrity.manifestHash | reference | Yes | Defines the manifesthash value at this contract boundary. | ref: #/$defs/hash |
| integrity.payloadHash | reference | Yes | Defines the payloadhash value at this contract boundary. | ref: #/$defs/hash |
| integrity.portable | boolean | Yes | Defines the portable value at this contract boundary. | const: true |
| integrity.projectContextHash | reference | Yes | Defines the projectcontexthash value at this contract boundary. | ref: #/$defs/hash |
| nextActions | array | Yes | Defines the nextactions value at this contract boundary. | minItems: 1 · maxItems: 8 |
| project | object | Yes | Defines the project value at this contract boundary. | additionalProperties: false |
| project.framework | string | No | Defines the framework value at this contract boundary. | minLength: 1 |
| project.name | string | Yes | Defines the name value at this contract boundary. | minLength: 1 |
| project.relativePath | reference | Yes | Defines the relativepath value at this contract boundary. | ref: #/$defs/portablePath |
| project.runtime | string | No | Defines the runtime value at this contract boundary. | minLength: 1 |
| receiptId | reference | Yes | Defines the receiptid value at this contract boundary. | ref: #/$defs/hash |
| requestedAgent | enum | Yes | Defines the requestedagent value at this contract boundary. | enum: generic, codex, claude, gemini, qwen, kimi, grok, copilot, cursor, windsurf, amazon-q, all |
| requiredReadOrder | array | Yes | Defines the requiredreadorder value at this contract boundary. | minItems: 6 · maxItems: 16 |
| resolvedHost | enum | Yes | Defines the resolvedhost value at this contract boundary. | enum: generic, codex, claude, gemini, qwen, kimi, grok, copilot, cursor, windsurf, amazon-q, all |
| schemaVersion | string | Yes | Defines the schemaversion value at this contract boundary. | const: "workspai.agent-bootstrap-receipt.v1" |
| status | reference | Yes | Defines the status value at this contract boundary. | ref: #/$defs/status |
| workspace | object | Yes | Defines the workspace value at this contract boundary. | additionalProperties: false |
| workspace.identityIsFilesystemPath | boolean | Yes | Defines the identityisfilesystempath value at this contract boundary. | const: false |
| workspace.name | string | Yes | Defines the name value at this contract boundary. | minLength: 1 |
| workspace.portableUriScheme | string | Yes | Defines the portableurischeme value at this contract boundary. | const: "workspace:" |
| workspace.relationship | enum | Yes | Defines the relationship value at this contract boundary. | enum: managed, adopted, imported, linked, restored |
| workspace.resolved | boolean | Yes | Defines the resolved value at this contract boundary. | const: true |
| workspace.resolvedPathPolicy | string | Yes | Defines the resolvedpathpolicy value at this contract boundary. | const: "runtime-private-never-persist" |
| workspace.resolverCommand | string | Yes | Defines the resolvercommand value at this contract boundary. | const: "workspai project workspace status --json" |
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/agent-bootstrap-receipt.v1.json",
"title": "Workspai Agent Bootstrap Receipt",
"description": "Portable per-session proof that an agent resolved canonical project evidence before broad source discovery.",
"type": "object",
"additionalProperties": false,
"required": [
"schemaVersion",
"generatedAt",
"receiptId",
"status",
"requestedAgent",
"resolvedHost",
"project",
"workspace",
"entry",
"canonicalEvidence",
"activeGoal",
"requiredReadOrder",
"claims",
"checks",
"nextActions",
"integrity"
],
"properties": {
"schemaVersion": {
"const": "workspai.agent-bootstrap-receipt.v1"
},
"generatedAt": {
"type": "string",
"format": "date-time"
},
"receiptId": {
"$ref": "#/$defs/hash"
},
"status": {
"$ref": "#/$defs/status"
},
"requestedAgent": {
"enum": [
"generic",
"codex",
"claude",
"gemini",
"qwen",
"kimi",
"grok",
"copilot",
"cursor",
"windsurf",
"amazon-q",
"all"
]
},
"resolvedHost": {
"enum": [
"generic",
"codex",
"claude",
"gemini",
"qwen",
"kimi",
"grok",
"copilot",
"cursor",
"windsurf",
"amazon-q",
"all"
]
},
"project": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"relativePath"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"relativePath": {
"$ref": "#/$defs/portablePath"
},
"runtime": {
"type": "string",
"minLength": 1
},
"framework": {
"type": "string",
"minLength": 1
}
}
},
"workspace": {
"type": "object",
"additionalProperties": false,
"required": [
"name",
"relationship",
"resolved",
"identityIsFilesystemPath",
"resolverCommand",
"portableUriScheme",
"resolvedPathPolicy"
],
"properties": {
"name": {
"type": "string",
"minLength": 1
},
"relationship": {
"enum": [
"managed",
"adopted",
"imported",
"linked",
"restored"
]
},
"resolved": {
"const": true
},
"identityIsFilesystemPath": {
"const": false
},
"resolverCommand": {
"const": "workspai project workspace status --json"
},
"portableUriScheme": {
"const": "workspace:"
},
"resolvedPathPolicy": {
"const": "runtime-private-never-persist"
}
}
},
"entry": {
"type": "object",
"additionalProperties": false,
"required": [
"artifact",
"schemaVersion",
"hostStatus",
"entryFiles"
],
"properties": {
"artifact": {
"const": ".workspai/agent-entry.v1.json"
},
"schemaVersion": {
"const": "workspai.agent-entry.v1"
},
"hostStatus": {
"$ref": "#/$defs/status"
},
"entryFiles": {
"type": "array",
"minItems": 1,
"maxItems": 16,
"uniqueItems": true,
"items": {
"$ref": "#/$defs/portablePath"
}
}
}
},
"canonicalEvidence": {
"type": "object",
"additionalProperties": false,
"required": [
"projectContext",
"workspaceIndex",
"workspaceContext",
"modelFreshness",
"graphFreshness",
"graphMatchesModel",
"liveInputsValidated",
"blockerCount"
],
"properties": {
"projectContext": {
"const": ".workspai/reports/project-context-agent.json"
},
"workspaceIndex": {
"const": "workspace:.workspai/reports/INDEX.json"
},
"workspaceContext": {
"const": "workspace:.workspai/reports/workspace-context-agent.json"
},
"workspaceModel": {
"const": "workspace:.workspai/reports/workspace-model.json"
},
"knowledgeGraph": {
"const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
},
"workspaceSkillsIndex": {
"const": "workspace:.workspai/reports/workspace-skills-index.json"
},
"boundedGraphSearch": {
"const": "command:workspai workspace graph search <task-query> --scope project:<project> --limit 12 --json"
},
"modelFreshness": {
"enum": [
"fresh",
"stale",
"unknown",
"missing"
]
},
"graphFreshness": {
"enum": [
"fresh",
"stale",
"unknown",
"missing"
]
},
"graphMatchesModel": {
"type": "boolean"
},
"liveInputsValidated": {
"type": "boolean"
},
"blockerCount": {
"type": "integer",
"minimum": 0
}
},
"anyOf": [
{
"properties": {
"workspaceModel": {
"const": "workspace:.workspai/reports/workspace-model.json"
},
"knowledgeGraph": {
"const": "workspace:.workspai/reports/workspace-knowledge-graph.json"
}
},
"required": [
"workspaceModel",
"knowledgeGraph"
]
},
{
"properties": {
"workspaceSkillsIndex": {
"const": "workspace:.workspai/reports/workspace-skills-index.json"
},
"boundedGraphSearch": {
"const": "command:workspai workspace graph search <task-query> --scope project:<project> --limit 12 --json"
}
},
"required": [
"workspaceSkillsIndex",
"boundedGraphSearch"
]
}
]
},
"activeGoal": {
"type": "object",
"additionalProperties": false,
"required": [
"present",
"appliesToProject",
"status"
],
"properties": {
"present": {
"type": "boolean"
},
"appliesToProject": {
"type": "boolean"
},
"status": {
"enum": [
"none",
"ready",
"stale",
"invalid"
]
},
"id": {
"type": "string",
"minLength": 1
},
"objective": {
"type": "string",
"minLength": 1
},
"lifecycle": {
"type": "string",
"minLength": 1
},
"goalPack": {
"$ref": "#/$defs/workspaceArtifact"
},
"agentHandoff": {
"$ref": "#/$defs/workspaceArtifact"
}
},
"allOf": [
{
"if": {
"properties": {
"status": {
"const": "none"
}
}
},
"then": {
"properties": {
"present": {
"const": false
}
}
}
},
{
"if": {
"properties": {
"status": {
"enum": [
"ready",
"stale",
"invalid"
]
}
}
},
"then": {
"properties": {
"present": {
"const": true
}
}
}
}
]
},
"requiredReadOrder": {
"type": "array",
"minItems": 6,
"maxItems": 16,
"uniqueItems": true,
"items": {
"type": "string",
"minLength": 1
}
},
"claims": {
"type": "object",
"additionalProperties": false,
"required": [
"architecture",
"sourceInspection",
"sourceMutation",
"verification"
],
"properties": {
"architecture": {
"enum": [
"allowed-with-citations",
"prohibited"
]
},
"sourceInspection": {
"const": "bounded-and-targeted"
},
"sourceMutation": {
"const": "governed-cli-transaction-only"
},
"verification": {
"const": "cli-evidence-only"
}
}
},
"checks": {
"type": "array",
"minItems": 6,
"items": {
"type": "object",
"additionalProperties": false,
"required": [
"id",
"status",
"message"
],
"properties": {
"id": {
"type": "string",
"minLength": 1
},
"status": {
"enum": [
"passed",
"warning",
"failed"
]
},
"message": {
"type": "string",
"minLength": 1
},
"artifact": {
"$ref": "#/$defs/portablePath"
}
}
}
},
"nextActions": {
"type": "array",
"minItems": 1,
"maxItems": 8,
"items": {
"type": "string",
"minLength": 1
}
},
"integrity": {
"type": "object",
"additionalProperties": false,
"required": [
"algorithm",
"manifestHash",
"projectContextHash",
"payloadHash",
"portable",
"absolutePathsEmitted"
],
"properties": {
"algorithm": {
"const": "sha256"
},
"manifestHash": {
"$ref": "#/$defs/hash"
},
"projectContextHash": {
"$ref": "#/$defs/hash"
},
"payloadHash": {
"$ref": "#/$defs/hash"
},
"portable": {
"const": true
},
"absolutePathsEmitted": {
"const": false
}
}
}
},
"$defs": {
"hash": {
"type": "string",
"pattern": "^[a-f0-9]{64}$"
},
"status": {
"enum": [
"ready",
"degraded",
"blocked"
]
},
"portablePath": {
"type": "string",
"minLength": 1,
"not": {
"pattern": "^(?:/|[A-Za-z]:[\\\\/])"
}
},
"workspaceArtifact": {
"type": "string",
"pattern": "^workspace:\\.workspai/"
}
}
}