Gaps: full lifecycle management (get/update/delete), pure PostgreSQL (no web search)

This commit is contained in:
n1kt4r committed 2026-10-15 17:47:40 +05:00
1 parent adfa630578
commit a4c4a766c1
5 files changed
+266 -81

No files matched your search

+8 -5
View File
@@ -1,7 +1,7 @@
# Pegas Memory — Architecture
Pegas Memory is the long-term memory and knowledge base for the **Pegas** research agent.
It is a Python service exposed to the agent as an **MCP server** (13 tools).
It is a Python service exposed to the agent as an **MCP server** (16 tools).
---
@@ -14,7 +14,7 @@ It is a Python service exposed to the agent as an **MCP server** (13 tools).
└───────────────────┬──────────────────────┘
│ JSON-RPC 2.0 / stdio
┌───────────────────▼──────────────────────┐
│ mcp_server.py (tool layer, 13 tools) │
│ mcp_server.py (tool layer, 16 tools) │
└───────────────────┬──────────────────────┘
│ Python API
┌────────────────────────────┼────────────────────────────┐
@@ -96,7 +96,7 @@ agent's experience, atoms are curated facts.
| `outbox_sync.py` | CDC: PostgreSQL outbox → Qdrant and Memgraph |
| `dedup.py` | semantic deduplication by embedding cosine (threshold 0.90) |
| `verify.py` | self-critique (LLM verdict) + cross-confirmation (multiple sources) |
| `research.py` | gap-filling loop: web search → ingest → commit |
| `research.py` | research-gap management (PostgreSQL only): add / list / get / update / delete |
| `code_symbols.py` | tree-sitter symbol extraction |
| `code_graph.py` | tree-sitter dependency extraction (calls/imports/inherits) |
| `inference.py` | forward-chaining logical rules over the graph until fixpoint |
@@ -153,7 +153,7 @@ Only single-token kinds (no spaces) are accepted — human-readable rules from d
---
## 6. MCP tools (13)
## 6. MCP tools (16)
| Tool | Purpose |
|---|---|
@@ -164,7 +164,10 @@ Only single-token kinds (no spaces) are accepted — human-readable rules from d
| `memory_ingest` | ingest text/URL/file → atoms |
| `memory_verify` | self-critique + cross-confirmation |
| `memory_add_gap` | register a research gap |
| `memory_list_gaps` | list open gaps |
| `memory_list_gaps` | list gaps (optional status filter) |
| `memory_get_gap` | read one gap by id |
| `memory_update_gap` | edit question / reason / priority / status |
| `memory_delete_gap` | delete a gap |
| `memory_store_code` | extract + store code symbols |
| `memory_search_code` | lexical search over code symbols |
| `memory_code_graph` | build symbol + dependency graph |