← Memova.aiCONTENT HISTORY

Update to Memova.ai

Snapshot Oct 24, 2026 · 13:10 UTC · version 1.15.1

Collection source: downloaded plugin package.

WHAT CHANGED

First saved snapshot

No earlier snapshot is available to establish a change.

Save Memova.ai and check future changes in Following.

Up to 10 plugins free · no card required.

Compare saved observations

Download comparison JSON
Full technical diff · 0 changed fields
Full snapshot data
{
  "description": "Archive user-authorized Codex final output files or the exact current task as Markdown into projects/Uncategorized, synchronize them to Memova Blob/PostgreSQL/Knowledge V5, configure ask/automatic preferences, create a manifest-only scheduled task, or move an archived file into a Project.",
  "included_files": [
    {
      "relative_path": "agents/openai.yaml",
      "size_in_bytes": 463
    }
  ],
  "name": "memova-agent-archive",
  "skill_md_contents": "---\nname: memova-agent-archive\ndescription: Archive user-authorized Codex final output files or the exact current task as Markdown into projects/Uncategorized, synchronize them to Memova Blob/PostgreSQL/Knowledge V5, configure ask/automatic preferences, create a manifest-only scheduled task, or move an archived file into a Project.\n---\n\n# Memova Agent Archive\n\nUse this workflow when the user asks to save, sync, or automatically archive Codex output in the\nMemova Knowledge Base, export the current task as Markdown, configure the archive preference, create\na scheduled archive task, inspect/retry sync state, or move an Agent output into a Project.\n\n## Startup and compatibility\n\nOn every invocation, run from the Plugin root:\n\n```bash\npython3 plugins/memova/scripts/version_check.py\n```\n\nIf it reports `should_remind: true`, show the upgrade message and continue. If it fails or returns no\nreminder, continue silently. Never run the upgrade command without explicit user confirmation.\n\nCall `get_llm_wiki_sync_capabilities` before the first write. This skill requires Backend/MCP\ncontract `1.10.0` or newer and template `memova_knowledge_base_v4`. If the Agent archive tools are\nabsent, do not fall back to broad selected-history import or invent a second tree contract.\n\nIf the MCP tools are unavailable and `codex mcp list` reports Memova `Not logged in`, run:\n\n```bash\npython3 plugins/memova/scripts/ensure_mcp_login.py\n```\n\nFor `manual_terminal_login_required`, show the exact command and ask the user to run it in a normal\nsystem Terminal/PowerShell outside the Codex task. For\n`login_completed_client_refresh_required`, say OAuth succeeded, do not ask the user to log in again,\nand require a full Codex restart plus a new task. Never start a second automatic OAuth attempt.\n\nTreat Agent Archive as a Codex/Mac beta. The default mode is `explicit_only`. Do not claim that an\narchive is visible, restorable, movable, or converged in the iOS app until the corresponding iOS\ncapability is released and the MCP status/receipt proves that surface completed.\n\n## Fixed archive scope\n\nEligible Codex outputs are only final, user-facing Markdown, HTML, plain-text reports, or design\ndescriptions intentionally produced for the current task. The default destination is always:\n\n```text\nprojects/Uncategorized/<filename>\n```\n\nDo not archive source code, bulk repository files, caches, logs, tests, build outputs, dependency\ntrees, hidden files/folders, credentials, environment files, suspected secrets, or unrequested\nlarge/binary files. Never enumerate the repository or Codex task history to discover candidates.\n\nBefore each upload, use the local helper. It verifies UTF-8, MIME/extension, size, path, and secret\ngates; copies the exact authorized file into the bound iCloud Knowledge Base; maintains the stable\nID; and returns the exact MCP tool arguments:\n\n```bash\npython3 plugins/memova/scripts/agent_archive.py prepare \\\n  --source \"/absolute/path/to/output.md\" \\\n  --task-id \"<current-task-id>\" \\\n  --source-reference \"codex://threads/<current-task-id>\" \\\n  --authorize\n```\n\nCall only the returned `tool` with the returned `arguments`. After a successful MCP response, ACK\nthe exact hash with `mark-synced`. Do not mark it synced after a failed or ambiguous call.\n\n## Preference modes\n\nConfigure one of these modes with `agent_archive.py configure --vault-root ... --mode ...`:\n\n- `explicit_only`: archive only when the user explicitly asks for a specific file or current task.\n- `ask_each_time`: after eligible file output, ask once whether to save it.\n- `always_auto_save`: the user's durable opt-in authorizes eligible current-task final outputs; still\n  apply every safety filter and never scan beyond files produced in the current task.\n\nThis Plugin-owned preference is the enforceable archive policy. Codex local memory may help recall\nthe preference, but it is generated recall state and must not be edited directly. If the user asks\nto enable Codex global memory, guide them to `/memories` or Codex Settings and keep the enforceable\nmode in the Plugin helper. Required archive behavior belongs here and in the manifest, not in\n`~/.codex/memories`.\n\n## No-file task archive\n\nWhen the current task produced no eligible file and the mode is `ask_each_time`, run:\n\n```bash\npython3 plugins/memova/scripts/agent_archive.py ask-status --task-id \"<current-task-id>\"\n```\n\nIf `should_ask` is true, ask at most once whether the user wants to save the current task as a\nMarkdown document. Immediately record that the question was asked with `mark-asked`, regardless of\nthe answer. If approved, create one bounded Markdown file containing only the current task's\nuser-visible user/assistant messages selected for export; do not enumerate other tasks. Run\n`prepare` with `--source-kind codex_task_markdown --authorize`, then call the returned\n`import_codex_task_markdown` arguments exactly.\n\n## Scheduled task\n\nCreate a Codex scheduled task only after the user asks for it. Its prompt must:\n\n1. run `agent_archive.py scan-authorized`;\n2. inspect only exact source paths already present in `authorized_outputs`;\n3. call the returned MCP request for each changed safe entry;\n4. call `mark-synced` only after success;\n5. report blocked files without broadening scope.\n\nThe schedule must never run `find`, `rg --files`, `git log`, Codex task listing, or history export.\nLocal scheduled tasks require the computer and Codex app to be available; state that constraint when\ncreating the schedule.\n\n## Status, retry, and move\n\n- Use `get_llm_wiki_sync_status` for one stable ID or the current Agent archive totals.\n- Use `list_llm_wiki_pending_operations` for a bounded pending/failed list.\n- Retry only an exact user-selected failed operation with `retry_llm_wiki_operation`.\n- For a Project move, move the local iCloud file to the Project folder first, then call\n  `move_llm_wiki_agent_file` with the same stable ID and `provider_relation=same_provider`.\n- Across providers, require a new stable ID and explicit source-delete confirmation. Call the tool\n  with `provider_relation=cross_provider`; it performs copy then confirmed delete. Never emulate a\n  cross-provider rename.\n\nDo not claim Blob, iCloud, PostgreSQL, or Knowledge V5 is synchronized until the corresponding MCP\nstatus/receipt says so. Never silently use last-write-wins.\n"
}

SHA-256 of public snapshot: 02bd275456f6d1812a23484e332c2a8562ea546b5c5b76836ad1d78b68bd7544