All contracts

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 pathTypeRequiredMeaningConstraints
activeGoalobjectYesDefines the activegoal value at this contract boundary.additionalProperties: false
activeGoal.agentHandoffreferenceNoDefines the agenthandoff value at this contract boundary.ref: #/$defs/workspaceArtifact
activeGoal.appliesToProjectbooleanYesDefines the appliestoproject value at this contract boundary.
activeGoal.goalPackreferenceNoDefines the goalpack value at this contract boundary.ref: #/$defs/workspaceArtifact
activeGoal.idstringNoDefines the id value at this contract boundary.minLength: 1
activeGoal.lifecyclestringNoDefines the lifecycle value at this contract boundary.minLength: 1
activeGoal.objectivestringNoDefines the objective value at this contract boundary.minLength: 1
activeGoal.presentbooleanYesDefines the present value at this contract boundary.
activeGoal.statusenumYesDefines the status value at this contract boundary.enum: none, ready, stale, invalid
canonicalEvidenceobjectYesDefines the canonicalevidence value at this contract boundary.additionalProperties: false
canonicalEvidence.blockerCountintegerYesDefines the blockercount value at this contract boundary.minimum: 0
canonicalEvidence.boundedGraphSearchstringNoDefines the boundedgraphsearch value at this contract boundary.const: "command:workspai workspace graph search <task-query> --scope project:<project> --limit 12 --json"
canonicalEvidence.graphFreshnessenumYesDefines the graphfreshness value at this contract boundary.enum: fresh, stale, unknown, missing
canonicalEvidence.graphMatchesModelbooleanYesDefines the graphmatchesmodel value at this contract boundary.
canonicalEvidence.knowledgeGraphstringNoDefines the knowledgegraph value at this contract boundary.const: "workspace:.workspai/reports/workspace-knowledge-graph.json"
canonicalEvidence.liveInputsValidatedbooleanYesDefines the liveinputsvalidated value at this contract boundary.
canonicalEvidence.modelFreshnessenumYesDefines the modelfreshness value at this contract boundary.enum: fresh, stale, unknown, missing
canonicalEvidence.projectContextstringYesDefines the projectcontext value at this contract boundary.const: ".workspai/reports/project-context-agent.json"
canonicalEvidence.workspaceContextstringYesDefines the workspacecontext value at this contract boundary.const: "workspace:.workspai/reports/workspace-context-agent.json"
canonicalEvidence.workspaceIndexstringYesDefines the workspaceindex value at this contract boundary.const: "workspace:.workspai/reports/INDEX.json"
canonicalEvidence.workspaceModelstringNoDefines the workspacemodel value at this contract boundary.const: "workspace:.workspai/reports/workspace-model.json"
canonicalEvidence.workspaceSkillsIndexstringNoDefines the workspaceskillsindex value at this contract boundary.const: "workspace:.workspai/reports/workspace-skills-index.json"
checksarrayYesDefines the checks value at this contract boundary.minItems: 6
checks[].artifactreferenceNoDefines the artifact value at this contract boundary.ref: #/$defs/portablePath
checks[].idstringYesDefines the id value at this contract boundary.minLength: 1
checks[].messagestringYesDefines the message value at this contract boundary.minLength: 1
checks[].statusenumYesDefines the status value at this contract boundary.enum: passed, warning, failed
claimsobjectYesDefines the claims value at this contract boundary.additionalProperties: false
claims.architectureenumYesDefines the architecture value at this contract boundary.enum: allowed-with-citations, prohibited
claims.sourceInspectionstringYesDefines the sourceinspection value at this contract boundary.const: "bounded-and-targeted"
claims.sourceMutationstringYesDefines the sourcemutation value at this contract boundary.const: "governed-cli-transaction-only"
claims.verificationstringYesDefines the verification value at this contract boundary.const: "cli-evidence-only"
entryobjectYesDefines the entry value at this contract boundary.additionalProperties: false
entry.artifactstringYesDefines the artifact value at this contract boundary.const: ".workspai/agent-entry.v1.json"
entry.entryFilesarrayYesDefines the entryfiles value at this contract boundary.minItems: 1 · maxItems: 16
entry.hostStatusreferenceYesDefines the hoststatus value at this contract boundary.ref: #/$defs/status
entry.schemaVersionstringYesDefines the schemaversion value at this contract boundary.const: "workspai.agent-entry.v1"
generatedAtstringYesDefines the generatedat value at this contract boundary.format: date-time
integrityobjectYesDefines the integrity value at this contract boundary.additionalProperties: false
integrity.absolutePathsEmittedbooleanYesDefines the absolutepathsemitted value at this contract boundary.const: false
integrity.algorithmstringYesDefines the algorithm value at this contract boundary.const: "sha256"
integrity.manifestHashreferenceYesDefines the manifesthash value at this contract boundary.ref: #/$defs/hash
integrity.payloadHashreferenceYesDefines the payloadhash value at this contract boundary.ref: #/$defs/hash
integrity.portablebooleanYesDefines the portable value at this contract boundary.const: true
integrity.projectContextHashreferenceYesDefines the projectcontexthash value at this contract boundary.ref: #/$defs/hash
nextActionsarrayYesDefines the nextactions value at this contract boundary.minItems: 1 · maxItems: 8
projectobjectYesDefines the project value at this contract boundary.additionalProperties: false
project.frameworkstringNoDefines the framework value at this contract boundary.minLength: 1
project.namestringYesDefines the name value at this contract boundary.minLength: 1
project.relativePathreferenceYesDefines the relativepath value at this contract boundary.ref: #/$defs/portablePath
project.runtimestringNoDefines the runtime value at this contract boundary.minLength: 1
receiptIdreferenceYesDefines the receiptid value at this contract boundary.ref: #/$defs/hash
requestedAgentenumYesDefines the requestedagent value at this contract boundary.enum: generic, codex, claude, gemini, qwen, kimi, grok, copilot, cursor, windsurf, amazon-q, all
requiredReadOrderarrayYesDefines the requiredreadorder value at this contract boundary.minItems: 6 · maxItems: 16
resolvedHostenumYesDefines the resolvedhost value at this contract boundary.enum: generic, codex, claude, gemini, qwen, kimi, grok, copilot, cursor, windsurf, amazon-q, all
schemaVersionstringYesDefines the schemaversion value at this contract boundary.const: "workspai.agent-bootstrap-receipt.v1"
statusreferenceYesDefines the status value at this contract boundary.ref: #/$defs/status
workspaceobjectYesDefines the workspace value at this contract boundary.additionalProperties: false
workspace.identityIsFilesystemPathbooleanYesDefines the identityisfilesystempath value at this contract boundary.const: false
workspace.namestringYesDefines the name value at this contract boundary.minLength: 1
workspace.portableUriSchemestringYesDefines the portableurischeme value at this contract boundary.const: "workspace:"
workspace.relationshipenumYesDefines the relationship value at this contract boundary.enum: managed, adopted, imported, linked, restored
workspace.resolvedbooleanYesDefines the resolved value at this contract boundary.const: true
workspace.resolvedPathPolicystringYesDefines the resolvedpathpolicy value at this contract boundary.const: "runtime-private-never-persist"
workspace.resolverCommandstringYesDefines 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/"
    }
  }
}