Owner actions

Use these actions inside a MAMA OS owner turn to read evidence, maintain work, and publish results. The public development-memory MCP server has a separate tool surface.

The common runtime grants 56 actions (OWNER_ACTIONS). The table also lists the actions only a member’s own DM has: records.export, records.erase, memory.share and the personal jobs schedule.job.*. A DM gets a subset (see People and their DMs). judge needs Jev enabled, deliver.<messenger>.file an enabled messenger with file_delivery on, and deliver.drive.file a delivery.drive folder. Purpose text is the first sentence of each registered summary; inputs come from its schema. Required markers describe top-level schema requirements; conditional requirements still apply. A turn starts with an index only: each action’s name and first sentence. The agent reads an action’s arguments with help({actions: [name]}) before it first calls it, and a procedure (full report, recording, corrections, sources, files, wiki) with help({topic}) when a turn needs one.

Action Purpose Inputs
code_act Run JavaScript that calls MAMA actions and returns only what the turn needs. code required (string)
graph.query Read the work graph: overview roots, neighbors, paths, timelines, and hydrated details under the caller authority. view required (“overview” / “browse” / “neighbors” / “timeline” / “paths” / “detail”); seeds (array); search (object); section (“summary” / “reasoning” / “payload”); textOffset (integer); textLimit (integer); from (object); to (object); maxDepth (integer); direction (“in” / “out” / “both”); relations (array); history (“current” / “all”); eventRange (object); recordedRange (object); asOf (number); limit (integer); cursor (string)
source.search Search or page preserved source observations. source required (string); view (“stored”); detail (“compact” / “full”); channel (string); from (alternatives); to (alternatives); query (string); limit (integer); cursor (string); observationRef (string); content_offset (integer); content_limit (integer)
source.recent See which channels changed since a time, then read the ones that matter. since (alternatives); channels (array); perChannel (integer); cap (integer)
schedule.upcoming Read upcoming calendar and iCal events from the stored event index, including configured holiday calendars. days (integer); cap (integer)
owner.timezone.set Set the owner’s IANA timezone when the owner states or changes it. timeZone required (string)
manage.member.grant Grant project-partition memory read access to an active member. principalId required (string); scopeKind required (“project”); scopeId required (string)
manage.member.revoke Revoke a project-partition memory grant. principalId required (string); scopeKind required (“project”); scopeId required (string)
manage.member.suspend Suspend an active member, end and unserve its session, and set its runtime directory aside under member_root and its temp directory aside under the member temp root. principalId required (string)
manage.member.resume Resume a suspended member with retained grants. principalId required (string)
manage.member.offboard Permanently offboard an active or suspended member; revoke every grant atomically, end and unserve its session, move runtime/temp aside, and keep its identity binding. principalId required (string)
manage.member.list List member principal ids, statuses and unrevoked grants, including grants retained during suspension, and the latest enrollment receipts the owner received (created, exists or refused, with the reason). Receipts carry the owner-local time of each pick. none
records.export Member own message turn only: schedule export of the caller’s personal records and files to their registered Telegram DM as one zip (50 MiB). The host sends it after the turn completes and records a receipt. Account settings stay private; files with outside links are left out and named. none
records.erase Member own message turn only: preview the caller’s personal records and files, with separate export and deletion file counts and bytes. Pass confirmationToken in a later member message. Retire, export and deliver before erasing. Keep enrollment, grants and shared revisions. confirmationToken (string); omit for preview
owner.messages Read your conversation with the owner in a time span: each owner message with your reply, oldest first, in pages of 20 (50 max). since required (alternatives); before (alternatives); offset (integer); limit (integer); chars (integer)
source.read Read a bounded slice using one observationRef, or read up to 500 observationRefs from one source delta in one call. source (string); view (“stored”); detail (“compact” / “full”); channel (string); from (alternatives); to (alternatives); query (string); limit (integer); cursor (string); observationRef (string); content_offset (integer); content_limit (integer); observationRefs (array)
trello.read Read the current Trello state live. view required (string); board (string); list (string); id (string); query (string); limit (integer)
drive.read Read Google Drive live. view required (string); folder (string); path (string); name (string); file (string); text (string); limit (integer)
drive.download Fetch one Google Drive file (file: id or Drive/Docs link) into your downloads directory (in a DM, that person’s own; read-only for you) and return its saved path and size. file required (string)
memory.checkpoint.list List recent session checkpoints, newest first — the hand-off records this workspace kept, including superseded ones. limit (number)
memory.checkpoint.save Write one session checkpoint — the durable hand-off record a later turn restores work from. summary required (string); open_files (array); next_steps (string)
work.create Create one owner-work commitment. summary required (string); reasoning (string); scopes (array); sourceRefs (array); links (array); eventDatetime (alternatives); recordedAt (number); event (object); topic required (string); set required (object)
work.revise Append a revision to owner work while keeping its original topic. summary required (string); reasoning (string); scopes (array); sourceRefs (array); links (array); eventDatetime (alternatives); recordedAt (number); event (object); commitmentId required (string); expectedRevision (integer); appliesUntil (alternatives); set (object); clear (array)
work.link Link one work item to another item, a record, a person or an observation, with the reason you judged; it appends an edge and writes no revision. from required (string); to required (object); relation required (string); reason required (string); evidenceRefs (array)
work.list Find owner work by what the turn needs: items filtered by status, stage, project, due, changedSince or changedBefore and ranked by text, in pages of 25 (50 max); overview counts; detail for up to 4 ids with the current record, its 20 newest evidence refs and its 5 newest revisions (history_offset pages older ones). view (“overview” / “items” / “detail” / “pipeline”); ids (array); limit (integer); cursor (string); readVersion (string); status (alternatives); stage (string); project (string); text (string); asOf (integer); changedSince (alternatives); changedBefore (alternatives); due (“overdue” / “today” / “upcoming” / “unscheduled”); eventSince (alternatives); eventBefore (alternatives); text_offset (integer); text_limit (integer); history_offset (integer); history (“current” / “all”)
work.show One commitment by commitmentId (or rowId): the revision chain by default, or every revision with full values when history: all. asOf (integer); history (“current” / “all”); limit (integer); cursor (string); commitmentId (string); rowId (integer)
work.no_update Declare that a record order needs no work change, with the reason (chatter, already recorded, not work). reason required (string); observationRefs required (array)
help Read what you need next, one level at a time: several actions give each one’s call signature (arguments, allowed values, bounds) and purpose; one action gives its whole contract with argument descriptions and examples; a topic gives a procedure; with neither, list the topics and actions. actions (array); topic (string)
judge Ask Jev, a fast judgment model, typed questions about the state you pass, to narrow many candidates to the few that matter without reading them all yourself. Listed only when the owner sets jev.enabled. state required (alternatives); questions required (array)
memory.save Append one judgment record. topic required (string); kind required (“decision” / “preference” / “constraint” / “lesson” / “fact” / “workflow”); summary required (string); details required (string); appliesWhen (required for lesson, preference, constraint, workflow); steps (required for workflow); evidenceChecks (array); confidence (number); status (“active” / “superseded” / “contradicted” / “stale”); scopes (array); source required (object); eventDate (string); eventDateTime (number); itemId (alternatives); actors (array); links (array); replaces (array)
memory.search Search or list memory records under the caller authority. query (string); limit (integer); kind (“decision” / “preference” / “constraint” / “lesson” / “fact” / “workflow”); scopes (array); threshold (number); strict (boolean); strictness (“recall” / “balanced” / “strict”); disableRecency (boolean); includeRelated (boolean); topicPrefix (string); minLexicalSupport (boolean); diagnostics (boolean); useReranking (boolean)
memory.read:provenance Resolve a stored memory’s recorded cause and derived_from observation links. memory_id required (string); scopes (array)
memory.read:record Read one complete memory record by id within the admitted memory scopes. memory_id required (string); scopes (array)
memory.read:timeline What was written when: memory records under the admitted scopes, newest written first, optionally inside a window on the time they were saved (since inclusive, until exclusive; epoch ms or an ISO time with offset). since (alternatives); until (alternatives); cursor (string); limit (integer)
memory.retire Retire one visible memory record by appending a stale or superseded status amendment with its reason. memory_id required (string); status required (“stale” / “superseded”); reason required (string); scopes (array)
report.read Read the owner dashboard report slots (briefing, action_required, decisions, pipeline) as a dated presentation snapshot, not a live operational count. slot (string); format (“text” / “html”); offset (integer); limit (integer); readVersion (string)
report.publish Publish dashboard analysis as HTML. slots required (object)
manage.wiki.move Move or rename wiki pages: moves lists up to 500 {from, to} relative .md paths, and folders are made as needed. moves required (array)
manage.policy.read Read the owner policy and its file fingerprint. none
manage.policy.update Replace the owner policy with a standing correction. text required (string); fingerprint required (string); reason required (string)
manage.wiki.publish Publish wiki pages in the configured vault. pages required (array)
manage.wiki.read List wiki paths with no paths (page using nextCursor and readVersion as list_cursor/list_version), or read exact relative .md paths from the configured wiki directory. paths (array); list_cursor (string); list_version (string); list_limit (integer); content_offset (integer); content_limit (integer); content_versions (object)
manage.wiki.update Update one existing wiki page by sections instead of republishing it. path required (string); expectedContentVersion (string); edits required (array); sourceIds (array)
source.attachment.list List files attached to one preserved Chatwork or Slack observation, including the matching rule, provider file id, name, size, and upload time. observationRef required (string)
source.attachment.download Download a file belonging to the cited Chatwork or Slack observation into the daemon downloads directory (read-only for the agent) and return its saved path and size. observationRef required (string); fileId required (string)
deliver.telegram.file Send one regular file under the caller’s workspace files directory through telegram; images and documents use the messenger upload API. path is absolute or relative to the workspace (files/...). path required (string); caption (string)
deliver.discord.file Send one regular file under the caller’s workspace files directory through discord; images and documents use the messenger upload API. path is absolute or relative to the workspace (files/...). path required (string); caption (string)
deliver.slack.file Send one regular file under the caller’s workspace files directory through slack; images and documents use the messenger upload API. path is absolute or relative to the workspace (files/...). path required (string); caption (string)
deliver.drive.file Send one regular file under the owner workspace files directory (up to 2 GiB) to the owner’s Drive delivery folder, readable by the readers set in config; use it for a file over the messengers’ 50 MB limit. path required (string); name (string)
skill.list List your personal and common skills, both workflow records and SKILL.md folders. scope (“personal” / “common”); offset (integer); limit (integer)
skill.read Read one skill by id from skill.list: workflow steps and evidence checks, or SKILL.md text plus supporting file paths. id required (string)
skill.publish Publish skills/ from the common session workspace into the read-only common tools_root/skills folder. name required (string)
skill.unpublish Remove a published common file skill. name required (string)
member.directory Read the member directory in any common turn: principal ids, display names, statuses, roles and granted partitions. none
member.notice Queue one personal notice candidate when a common fact concerns a member: assigned to them, mentions them, or in a partition they hold. principalId required (string); refs required (array)
document.render Render an office document or PDF in the caller’s own workspace to PDF and page PNGs (macOS only). path required (string)
manage.member.name Set a member display name: your own, or a member without the owner role (an owner-role member names itself). principalId required (string); name required (string)
manage.member.enroll Enrollment runs in an active owner-role caller’s own message turn (DM or the common channel), sending the Choose member button to the owner’s own Telegram DM. name (string)
schedule.job.create Create your personal cron/heartbeat jobs in your own DM message turn only. cron required (string); timeZone (string); instruction required (string)
schedule.job.list List your personal cron/heartbeat jobs in your own DM message turn only. none
schedule.job.update Update your personal cron/heartbeat jobs in your own DM message turn only. id required (string); cron (string); timeZone (string); instruction (string); enabled (boolean)
schedule.job.delete Delete your personal cron/heartbeat jobs in your own DM message turn only. id required (string)
memory.share Share a personal memory record and its whole revision history at sharing time with a granted project partition, or from an owner-role DM into common records (omit partition_id), only in your own message turn. memory_id required (string); partition_id (string); reason required (string)

Read source hits with source.read using observationRef or observationRefs; each reference identifies its own source. Continue bounded reads with the returned cursor or offset. Wiki section replacements use versions returned by a prior read; work revisions can omit the current revision for a single-owner append and return the new revision number. File delivery accepts an absolute path under the workspace files directory: deliver.<messenger>.file sends it to that messenger’s owner chat, and deliver.drive.file uploads it to the owner’s Drive delivery folder.

A person’s DM uses member actions. The owner role adds common-record reads, drive.read, drive.download (into that person’s own downloads), all Trello boards, report.read, member management with enrollment, and the corresponding help topics. Unscoped saves stay personal; common writes, policy, time zone, wiki publishing and delivery to the common channel must be requested in the common channel. Enrollment works from an owner’s DM or the common channel and sends its Telegram selection button to that owner’s DM. Grant, revoke and offboard refuse owner-role targets; owners suspend and resume each other. A member without the owner role in an allowed group works in a room session with its granted actions; only in the common channel does it read and change the owner policy. Use help in the current turn for its actual actions.

The core catalog also registers actions that the owner runtime does not expose. In particular, graph.node.put, memory.update, memory.checkpoint.load and source.ingest are not owner tools. A name present in the shared catalog is not sufficient to make it callable by this agent.

Sources: runtime assembly, core catalog, source, report source reads, attachments and delivery, Drive delivery, Trello, Drive, work, reports, wiki.


MIT License © 2024-2026 SpineLift Team

This site uses Just the Docs, a documentation theme for Jekyll.