store: Cognitive memory auto-pushes to Gitea on every store and relate

This commit is contained in:
Cal Corum 2026-02-19 23:36:46 -06:00
parent 34bb613c57
commit 17200763bf

View File

@ -0,0 +1,21 @@
---
id: ead5bac2-a4db-49dd-87ff-b577eacde170
type: configuration
title: "Cognitive memory auto-pushes to Gitea on every store and relate"
tags: [cognitive-memory, gitea, automation, mcp]
importance: 0.7
confidence: 0.8
created: "2026-02-20T05:36:46.569737+00:00"
updated: "2026-02-20T05:36:46.569737+00:00"
---
## Setup
Added fire-and-forget git sync to the MCP server's `memory_store` and `memory_relate` handlers. Every time a memory is stored or an edge is created via MCP, `memory-git-sync.sh` runs asynchronously in the background.
## Components
- **`scripts/memory-git-sync.sh`** — Stages all changes, commits with a summary message (added/modified/deleted counts + edge count), pushes to origin/main. No-ops if nothing changed.
- **`mcp_server.py`** — `_trigger_git_sync()` helper fires the script via `subprocess.Popen` with `start_new_session=True` (non-blocking).
- **Daily timer** — Kept as fallback for CLI-based stores that bypass MCP.
## Pre-commit hook fix
Edge files in `graph/edges/` were blocked by the frontmatter validation hook which required a `title` field. Updated the hook to validate edges against their own schema: `id`, `type`, `from_id`, `to_id`.