# garden.engram.session

> Where an agent's working session stands, so it can be picked up later, on another machine or by another agent. The record key is the harness's session ID. Rewritten as the session goes on; not searched as a memory.

- Kind: record
- Record key: any
- Authority: engram.garden
- Lexicon: 1
- Published by [hailey.at](https://lexicon.garden/identity/did:plc:oisofpd7lj26yvgiivf3lxsi), the NSID's authority

## Links

- [Documentation](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.session)
- [Schema JSON](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.session/schema.json)
- [Analytics](https://lexicon.garden/lexicon/did:plc:oisofpd7lj26yvgiivf3lxsi/garden.engram.session/analytics)

## Record (`garden.engram.session`)

Type: record · key any

### Properties

- `branch` (string)
  - Constraints: maxLength: 256
- `cwd` (string): The working directory, on the machine.
  - Constraints: maxLength: 2000
- `harness` (string): The agent harness, such as pi.
  - Constraints: maxLength: 64
- `machine` (string): The machine's host name.
  - Constraints: maxLength: 256
- `model` (string)
  - Constraints: maxLength: 256
- `repo` (string): The repository, as its remote URL.
  - Constraints: maxLength: 2000
- `startedAt` (string · datetime)
- `status` (string): Whether the session was still going when this was written.
  - Constraints: knownValues: active | ended
- `summary` (string, required): Markdown: the goal, what's done, what's in progress, decisions, and the next steps.
  - Constraints: maxLength: 50000
- `title` (string, required): A short name for the work.
  - Constraints: maxLength: 200
- `updatedAt` (string · datetime, required)

## Schema

```json
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Where an agent's working session stands, so it can be picked up later, on another machine or by another agent. The record key is the harness's session ID. Rewritten as the session goes on; not searched as a memory.",
      "key": "any",
      "record": {
        "properties": {
          "branch": {
            "maxLength": 256,
            "type": "string"
          },
          "cwd": {
            "description": "The working directory, on the machine.",
            "maxLength": 2000,
            "type": "string"
          },
          "harness": {
            "description": "The agent harness, such as pi.",
            "maxLength": 64,
            "type": "string"
          },
          "machine": {
            "description": "The machine's host name.",
            "maxLength": 256,
            "type": "string"
          },
          "model": {
            "maxLength": 256,
            "type": "string"
          },
          "repo": {
            "description": "The repository, as its remote URL.",
            "maxLength": 2000,
            "type": "string"
          },
          "startedAt": {
            "format": "datetime",
            "type": "string"
          },
          "status": {
            "description": "Whether the session was still going when this was written.",
            "knownValues": [
              "active",
              "ended"
            ],
            "type": "string"
          },
          "summary": {
            "description": "Markdown: the goal, what's done, what's in progress, decisions, and the next steps.",
            "maxLength": 50000,
            "type": "string"
          },
          "title": {
            "description": "A short name for the work.",
            "maxLength": 200,
            "type": "string"
          },
          "updatedAt": {
            "format": "datetime",
            "type": "string"
          }
        },
        "required": [
          "title",
          "summary",
          "updatedAt"
        ],
        "type": "object"
      },
      "type": "record"
    }
  },
  "id": "garden.engram.session",
  "lexicon": 1
}
```
