# org.latha.island.analyze

> Published by [nandi.uk](https://lexicon.garden/identity/did:plc:ngokl2gnmpbvuvrfckja3g7p)

## Links

- [View on Lexicon Garden](https://lexicon.garden/lexicon/did:plc:ngokl2gnmpbvuvrfckja3g7p/org.latha.island.analyze)
- [Documentation](https://lexicon.garden/lexicon/did:plc:ngokl2gnmpbvuvrfckja3g7p/org.latha.island.analyze/docs)
- [Examples](https://lexicon.garden/lexicon/did:plc:ngokl2gnmpbvuvrfckja3g7p/org.latha.island.analyze/examples)

## Definitions

### `org.latha.island.analyze`

**Type**: `procedure`

Run strata analysis on an island. Cross-references the island's vertices and edges against vault and carry data, producing themes, connections, tensions, and a synthesis. Returns an org.latha.island record ready to be written to PDS.

#### Input

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | No | DID of the user requesting analysis (used to look up vault/carry data). |
| `island` | `ref` → `#islandInput` | Yes |  |

#### Output

**Encoding**: `application/json`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `record` | `ref` → `org.latha.island#main` | No | Complete org.latha.island record ready to be written to PDS. |
| `analysis` | `ref` → `#analysisResult` | Yes |  |

### `org.latha.island.analyze#edgeInfo`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `did` | `string` (did) | Yes |  |
| `uri` | `string` (at-uri) | Yes |  |
| `note` | `string` | No |  |
| `handle` | `string` | No |  |
| `source` | `string` | Yes |  |
| `target` | `string` | Yes |  |
| `connectionType` | `string` | Yes |  |

### `org.latha.island.analyze#vertexInfo`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `uri` | `string` | Yes | Vertex URI (HTTP URL or AT URI). |
| `type` | `string` | No | Vertex type (url, card, collection, note, unknown). |
| `title` | `string` | Yes | Resolved title of the vertex. |
| `description` | `string` | No | Resolved description. |

### `org.latha.island.analyze#islandInput`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `edges` | `array` | Yes |  |
| `vertices` | `array` | Yes |  |

### `org.latha.island.analyze#analysisResult`

**Type**: `object`

| Property | Type | Required | Description |
|----------|------|----------|-------------|
| `title` | `string` | No | Concise sentence capturing the core argument. |
| `themes` | `array` | Yes |  |
| `tensions` | `array` | No |  |
| `synthesis` | `string` | Yes | Prose synthesis connecting the island to existing knowledge. |
| `connections` | `array` | No |  |
| `openQuestions` | `array` | No |  |

## Raw Schema

```json
{
  "id": "org.latha.island.analyze",
  "defs": {
    "main": {
      "type": "procedure",
      "input": {
        "schema": {
          "type": "object",
          "required": [
            "island"
          ],
          "properties": {
            "did": {
              "type": "string",
              "format": "did",
              "description": "DID of the user requesting analysis (used to look up vault/carry data)."
            },
            "island": {
              "ref": "#islandInput",
              "type": "ref"
            }
          }
        },
        "encoding": "application/json"
      },
      "output": {
        "schema": {
          "type": "object",
          "required": [
            "analysis"
          ],
          "properties": {
            "record": {
              "ref": "org.latha.island#main",
              "type": "ref",
              "description": "Complete org.latha.island record ready to be written to PDS."
            },
            "analysis": {
              "ref": "#analysisResult",
              "type": "ref"
            }
          }
        },
        "encoding": "application/json"
      },
      "description": "Run strata analysis on an island. Cross-references the island's vertices and edges against vault and carry data, producing themes, connections, tensions, and a synthesis. Returns an org.latha.island record ready to be written to PDS."
    },
    "edgeInfo": {
      "type": "object",
      "required": [
        "uri",
        "did",
        "source",
        "target",
        "connectionType"
      ],
      "properties": {
        "did": {
          "type": "string",
          "format": "did"
        },
        "uri": {
          "type": "string",
          "format": "at-uri"
        },
        "note": {
          "type": "string"
        },
        "handle": {
          "type": "string"
        },
        "source": {
          "type": "string"
        },
        "target": {
          "type": "string"
        },
        "connectionType": {
          "type": "string"
        }
      }
    },
    "vertexInfo": {
      "type": "object",
      "required": [
        "uri",
        "title"
      ],
      "properties": {
        "uri": {
          "type": "string",
          "description": "Vertex URI (HTTP URL or AT URI)."
        },
        "type": {
          "type": "string",
          "description": "Vertex type (url, card, collection, note, unknown)."
        },
        "title": {
          "type": "string",
          "description": "Resolved title of the vertex."
        },
        "description": {
          "type": "string",
          "description": "Resolved description."
        }
      }
    },
    "islandInput": {
      "type": "object",
      "required": [
        "vertices",
        "edges"
      ],
      "properties": {
        "edges": {
          "type": "array",
          "items": {
            "ref": "#edgeInfo",
            "type": "ref"
          }
        },
        "vertices": {
          "type": "array",
          "items": {
            "ref": "#vertexInfo",
            "type": "ref"
          }
        }
      }
    },
    "analysisResult": {
      "type": "object",
      "required": [
        "themes",
        "synthesis"
      ],
      "properties": {
        "title": {
          "type": "string",
          "description": "Concise sentence capturing the core argument.",
          "maxGraphemes": 300
        },
        "themes": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "tensions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        },
        "synthesis": {
          "type": "string",
          "description": "Prose synthesis connecting the island to existing knowledge."
        },
        "connections": {
          "type": "array",
          "items": {
            "type": "string",
            "format": "at-uri"
          }
        },
        "openQuestions": {
          "type": "array",
          "items": {
            "type": "string"
          }
        }
      }
    }
  },
  "$type": "com.atproto.lexicon.schema",
  "lexicon": 1
}
```
