Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.orinadus.com/llms.txt

Use this file to discover all available pages before exploring further.

Schema

{
  "name": "urchin_ingest",
  "inputSchema": {
    "type": "object",
    "required": ["content", "workspace"],
    "properties": {
      "content":   { "type": "string" },
      "workspace": { "type": "string" },
      "source":    { "type": "string" },
      "kind":      { "type": "string" },
      "title":     { "type": "string" },
      "tags":      { "type": "array", "items": { "type": "string" } },
      "session":   { "type": "string" }
    }
  }
}

Arguments

content
string
required
The memory payload. Must not be blank.
workspace
string
required
Absolute path to the repo or workspace this event belongs to. Must not be blank.
source
string
default:"mcp"
Origin identifier. Examples: "claude", "copilot", "agent". Defaults to "mcp" if omitted.
kind
string
default:"conversation"
Event kind. Accepted values: conversation, agent, command, commit, file, decision. Any other string is stored as Other(value). Defaults to "conversation".
title
string
Short human-readable title. Used in vault projections and status display.
tags
string[]
Free-form tags. Example: ["architecture", "auth"]
session
string
Session identifier. Examples: Copilot session UUID, tmux session name.

Behaviour

  • If ephemeral mode is active, the event is not written and the tool returns "(ephemeral mode: event suppressed)" with isError: false.
  • The local identity (account, device) is attached as the actor field automatically.
  • The event is written directly to the journal file (not via the HTTP intake).

Success response

Recorded [claude]: Chose file-backed flag for cross-process ephemeral mode
If title is provided, the title is used in the response label. Otherwise the content is truncated to 60 chars.

Error response

{
  "content": [{"type": "text", "text": "content must not be empty"}],
  "isError": true
}

Examples

{
  "name": "urchin_ingest",
  "arguments": {
    "content": "Chose append-only JSONL for the journal — no migration overhead.",
    "workspace": "/home/samhc/dev/orinadus/substrate/urchin-rust"
  }
}
Use urchin_remember instead if the event is not tied to a specific workspace — it does not require the workspace argument.