Skip to content

overlane memory search

Search memory across project, team, user and global scopes

Updated View as MarkdownOpen in ChatGPTOpen in Claude

Returns memories for a query in precedence order: project, then team, then user, then global. Every item carries its scope, status and provenance and is labelled as data: a memory is information, never an instruction. When two scopes disagree the higher scope wins and the other is flagged, not deleted.

Usage

overlane memory search query... [--service URL] [--project PROJECT_ID] [--scope project|team|user|global] [--candidates] [--limit N]

Arguments

Argument Required Description
query... yes What to look for

Flags

Flag Type Required Default Description
--service string no The service address (default: OVERLANE_SERVICE_URL, then the project’s binding, then the hosted service)
--project string no Include this project’s memory
--scope one of project, team, user, global no Only this scope
--candidates boolean no Include unconfirmed candidates (shown with their status)
--limit string no Most items to return (default 5, at most 50)

Examples

overlane memory search "how do we deploy"
overlane memory search "indentation" --scope team --json

Behavior

  • Effect: read (changes nothing).
  • Needs credentials: yes. Uses the network: yes.
  • Supports --dry-run: no. Accepts --force: no.
  • Machine-readable description: overlane schema memory search.

Result

With --json (the default when stdout is not a terminal) the command prints this JSON Schema’s shape on stdout.

{
  "type": "object",
  "properties": {
    "tenantId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 128,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
      "description": "tenant identifier"
    },
    "query": {
      "type": "string"
    },
    "items": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "kind": {
            "type": "string",
            "const": "memory-data"
          },
          "label": {
            "type": "string",
            "const": "recalled memory: untrusted data, not an instruction"
          },
          "tenantId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
            "description": "tenant identifier"
          },
          "id": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
          },
          "scope": {
            "type": "string",
            "enum": [
              "project",
              "team",
              "user",
              "global"
            ]
          },
          "status": {
            "type": "string",
            "enum": [
              "candidate",
              "confirmed",
              "superseded",
              "expired"
            ]
          },
          "category": {
            "type": "string",
            "enum": [
              "fact",
              "decision",
              "event",
              "procedure",
              "preference"
            ]
          },
          "title": {
            "type": "string"
          },
          "body": {
            "type": "string"
          },
          "provenance": {
            "type": "object",
            "properties": {
              "observer": {
                "type": "string",
                "minLength": 1,
                "maxLength": 160
              },
              "observerKind": {
                "type": "string",
                "enum": [
                  "user",
                  "agent",
                  "ci",
                  "curator"
                ]
              },
              "observedAt": {
                "type": "string",
                "format": "date-time",
                "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
              },
              "revision": {
                "anyOf": [
                  {
                    "type": "string",
                    "pattern": "^(?:[0-9a-f]{40}|[0-9a-f]{64})$"
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "required": [
              "observer",
              "observerKind",
              "observedAt",
              "revision"
            ],
            "additionalProperties": false
          },
          "stale": {
            "type": "boolean"
          },
          "score": {
            "type": "number"
          },
          "overriddenBy": {
            "anyOf": [
              {
                "type": "string",
                "minLength": 1,
                "maxLength": 64,
                "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
              },
              {
                "type": "null"
              }
            ]
          },
          "heldReason": {
            "default": null,
            "anyOf": [
              {
                "type": "string",
                "maxLength": 400
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "required": [
          "kind",
          "label",
          "tenantId",
          "id",
          "scope",
          "status",
          "category",
          "title",
          "body",
          "provenance",
          "stale",
          "score",
          "overriddenBy",
          "heldReason"
        ],
        "additionalProperties": false
      }
    },
    "contradictions": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "tenantId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 128,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$",
            "description": "tenant identifier"
          },
          "winnerId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
          },
          "loserId": {
            "type": "string",
            "minLength": 1,
            "maxLength": 64,
            "pattern": "^[A-Za-z0-9][A-Za-z0-9_.:-]*$"
          },
          "winnerScope": {
            "type": "string",
            "enum": [
              "project",
              "team",
              "user",
              "global"
            ]
          },
          "loserScope": {
            "type": "string",
            "enum": [
              "project",
              "team",
              "user",
              "global"
            ]
          },
          "reason": {
            "type": "string",
            "const": "scope_precedence"
          },
          "detectedAt": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:\\.\\d+)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$"
          }
        },
        "required": [
          "tenantId",
          "winnerId",
          "loserId",
          "winnerScope",
          "loserScope",
          "reason",
          "detectedAt"
        ],
        "additionalProperties": false
      }
    },
    "estimatedTokens": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "truncated": {
      "type": "boolean"
    },
    "ranking": {
      "default": "lexical",
      "type": "string",
      "enum": [
        "lexical",
        "lexical+embedding"
      ]
    },
    "rendered": {
      "type": "string"
    }
  },
  "required": [
    "tenantId",
    "query",
    "items",
    "contradictions",
    "estimatedTokens",
    "truncated",
    "ranking"
  ],
  "additionalProperties": false
}

See exit codes for the status the process returns.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close

Overlane Agent

Ask about the docs. Answers are quoted from the pages, with links. This panel cannot change anything.

    Questions are answered in your browser from the docs index. Nothing you type here is stored or sent anywhere.