---
title: "codes.agent-sheet@1 · OpenVibe.Services"
canonical: "https://openvibe.services/docs/contracts/codes.agent-sheet"
updated: null
---

# codes.agent-sheet@1 · OpenVibe.Services

HTML: [codes.agent-sheet@1 · OpenVibe.Services](https://openvibe.services/docs/contracts/codes.agent-sheet)

# CodesAgentSheet `codes.agent-sheet@1`

Generated at 2026-11-13 06:25:48 UTC from [`openvibe-contracts v0.419.0`](https://github.com/OpenVibers/OpenVibe.Contracts/tree/v0.419.0) and [`openvibe-sdk v0.161.0`](https://github.com/OpenVibers/OpenVibe.SDK/tree/v0.161.0).

- Version: 1.0.0
- Owner: codes
- Visibility: public
- Status: active
- Compatibility: backward
- Schema: [`https://openvibe.network/contracts/codes/agent-sheet.v1.json`](/docs/contracts/codes.agent-sheet.json)

codes.agent-sheet@1: one owner's coding harness, its real attempts, outcomes and machine availability. Empty memory, schedule and computer sections mean Codes has no such per-harness records. GET /api/v1/me/agents/:id/sheet; never cache this answer.

## Fields

| Field | Type | Required | Description | Constraints |
| --- | --- | --- | --- | --- |
| `agent` | object | yes |  | - `no other fields` |
| `agent.id` | string | yes |  |  |
| `agent.name` | string | yes |  |  |
| `agent.face` | null | yes |  |  |
| `agent.state` | string | yes |  |  |
| `agent.kind` | const | yes |  | - `= "coding harness"` |
| `agent.availability` | object \| null | yes |  |  |
| `now` | one of | yes |  |  |
| `work` | `https://openvibe.network/contracts/codes/agent-sheet.v1.json#/$defs/work` | yes |  |  |
| `activity` | array of object | yes |  | - `items: no other fields` |
| `activity[].day` | string | yes |  | - `format date` |
| `activity[].entries` | array of object | yes |  |  |
| `asks` | array | yes |  | - `maxItems 0` |
| `asks_empty` | string | yes |  |  |
| `computer` | null | yes |  |  |
| `schedules` | array | yes |  | - `maxItems 0` |
| `memory` | array | yes |  | - `maxItems 0` |
| `identity` | object | yes |  | - `no other fields` |
| `identity.provider` | string \| null | yes |  |  |
| `identity.capabilities` | object | yes |  |  |

## Examples

From the contract's own test fixtures: valid ones validate, rejected ones must fail.

 Valid: idle

~~~~
{
  "agent": {
    "id": "codex",
    "name": "Codex",
    "face": null,
    "state": "ready",
    "kind": "coding harness",
    "availability": null
  },
  "now": null,
  "work": [],
  "activity": [],
  "asks": [],
  "asks_empty": "Requests to approve coding work will appear here when this agent needs you.",
  "computer": null,
  "schedules": [],
  "memory": [],
  "identity": {
    "provider": null,
    "capabilities": {}
  }
}
~~~~

Rejected: pretend-memory

~~~~
{
  "agent": {
    "id": "codex",
    "name": "Codex",
    "face": null,
    "state": "ready",
    "kind": "coding harness",
    "availability": null
  },
  "now": null,
  "work": [],
  "activity": [],
  "asks": [],
  "asks_empty": "Requests to approve coding work will appear here when this agent needs you.",
  "computer": null,
  "schedules": [],
  "memory": [
    {
      "text": "not a Codes record"
    }
  ],
  "identity": {
    "provider": null,
    "capabilities": {}
  }
}
~~~~

## Validate

~~~~
const contracts = require('openvibe-contracts');
contracts.validate('codes.agent-sheet@1', value);   // { valid, errors: [{ path, message }] }
~~~~
