{
  "schema": "https://ai-atoms.com/schemas/tool-v1.json",
  "type": "tool",
  "id": "tool/read-file",
  "version": "1.0.0",
  "name": "read-file",
  "description": "Read a file from the workspace. Read-only; no side effects beyond opening the file.",
  "subtype": "command",
  "spec": {
    "function_name": "read_file",
    "summary": "Read the contents of a file at the given path.",
    "parameters": {
      "path": {
        "type": "string",
        "description": "Absolute or workspace-relative path",
        "required": true
      },
      "offset": {
        "type": "number",
        "description": "Line offset for partial reads",
        "required": false
      },
      "limit": {
        "type": "number",
        "description": "Max lines to return",
        "required": false
      }
    },
    "returns": {
      "type": "string",
      "description": "File contents (or specified slice)."
    },
    "side_effects": [
      "fs-read"
    ]
  },
  "authored_by": "convergent-systems-key",
  "source_url": "https://github.com/convergent-systems-co/agent-atoms/blob/main/atoms/tool-definition/read-file.json",
  "category": "coding",
  "provenance": {
    "source": "convergent-systems-co/agent-atoms",
    "source_url": "https://github.com/convergent-systems-co/agent-atoms/blob/main/atoms/tool-definition/read-file.json",
    "author": "convergent-systems-co",
    "license": "Apache-2.0",
    "notes": "Re-typed from tool-definition by scripts/migrate-policy-tool.py."
  },
  "lifecycle": "stable"
}