Smriti MCP synthesis
Type: agentic-system-analyses/types/agentic-system-synthesis.md
Bounded synthesis
Smriti MCP is a file-backed memory service for agents, not an agent runtime that decides its own next task. It retains facts, preferences, decisions and project notes supplied by callers, then serves them on request. This account covers the whole shipped artifact at commit 8264bf9103477d9521e57b27c81dcc2e943a3230, with analysis cutoff 2026-10-14. Its sole source, SRC-1, supplies implementation and declared intent, plus attributed operational claims. The analysts inspected the package, instructions, library callers and tests; they did not execute them. No production corpus, host trace or causal experiment is supplied. External hosts, models and dependency internals are outside the boundary. Thus implemented operations are distinguishable from unobserved execution and unestablished benefit (boundary, Source register).
A caller admits content; code admits a file operation
The installed CLI starts an MCP server over stdio by default, with SSE available as a caller-selected alternative. Registered tools share one MemoryStore; direct Python callers can use the same store without MCP input models. The external agent or operator chooses the operation, supplies semantic content and receives control after the result. Python rules handle metadata, paths, matches and filesystem effects; no internal model call or worker delegation owns a continuation (RT-CMP-memory-store, RT-RTE-memory-write).
Durable notes combine readable Markdown bodies with YAML metadata. Their consumers differ: an external reader can interpret the prose, while Smriti consumes terms, aliases, status, scope, confidence, salience and counters as symbolic selection inputs. Confidence and verification-date fields are assertions, not checked evidence. Generic caller identity and initial externally edited file provenance remain unresolved (MEM-OBJ-memory-body, MEM-OBJ-memory-meta).
Ordinary writes check shape, target availability and note-path containment, not factual support. The remember interface automatically appends only when its best candidate clears a score threshold and has an equal normalized title; otherwise it creates. Explicit modes bypass that choice, and lower-level writes bypass trace recording. This supports deterministic branch selection, not semantic duplicate prevention or universal auditing. Storing a proposition does not constitute evidence-consuming acceptance for a named truth use (EPI-RTE-shape-check, EPI-RTE-write-admission, RT-RTE-memory-write).
Creation also exposes a consequential documentation mismatch: omitted descriptions can become a collapsed 160-character body prefix, contrary to the documented omission behavior. Truncation can remove a necessary condition; the resulting display is not guaranteed to preserve meaning. This is an implemented reduction, not evidence that Smriti checked or produced a warranted new claim (EPI-CLM-summary-omission, EPI-RTE-maintenance-rewrite).
Retained material returns through requested selection
A later caller can get full Markdown by ID, browse metadata, search, or request a recall bundle. Recall scans current files and derives lexical, alias and link structures in memory. It uses weighted lexical matches and metadata affinity, optionally expands one-hop wikilinks/backlinks, then applies limits and an approximate word budget. Metadata related associations do not establish another traversal route. There is no embedding selector in this account (RT-RTE-context-recall, MEM-OBJ-machine-index, memory annotations).
Compact recall delivers titles/IDs, descriptions, selected metadata and at most two body snippets per note. It normally omits full sources, verification dates, reasons and most prose. Full retrieval remains available, but must be requested. Its word heuristic admits the first item even if oversized and does not account for every response field. Recall therefore controls response supply, not the host's accumulated conversation or a strict model-token ceiling. All established shipped read-back is requested; automatic ranking within a request is not unsolicited memory delivery (EPI-RTE-recall-selection, RT-RTE-context-recall, MEM-OBJ-markdown-index).
Archive and supersession preserve historical notes and normally exclude them from recall; explicit retrieval and overrides remain. Expiry downweights rather than evicts. Generated Markdown indexes can be loaded but remain stale until refreshed. Saved YAML is an export, not an established reload source; search and recall rebuild their own structures from notes (EPI-RTE-lifecycle-disposition, MEM-OBJ-markdown-index, MEM-OBJ-machine-index). These distinctions matter when the intended scenario requires withdrawal or evidence-complete reuse: default filtering is not universal revocation, and compact delivery is not complete qualification delivery.
Experience can reach a note, but semantic review stays outside
The representative workflow is record observations → request grouped traces → submit consolidated prose → request later retrieval. It is supported by connected tool guidance and implementation, not a supplied successful run. Raw events persist as NDJSON outside ordinary note scanning. Review groups them by normalized terms and returns raw observations, related-memory metadata and heuristic recommendations. The external caller can decline, investigate or supply final content; Smriti does not summarize the traces itself (MEM-OBJ-trace-events, EPI-RTE-trace-review, workflow account).
Consolidation create/update attach supplied trace-reference strings; append ignores the newly prepared metadata. Those IDs need not resolve to supporting events. No mandatory evidence check connects the prose to the references, and keeping references does not establish source warrant. Delivery inside the artifact ends at a saved note and returned operation result, followed only on request by full or compact content. Host prompt inclusion, reliance and completion of an external task remain unobserved (RT-RTE-trace-consolidation, EPI-RTE-content-retention, workflow annotations).
Recovery is also caller-led. Ordinary note replacement is per-file; a later trace append can fail after the note persists. Retrying create can then conflict, while retrying append can repeat text. There is no encompassing rollback for note-plus-trace or sequential supersession saves. Instance-local locks do not coordinate independent processes. Note-ID containment does not cover the separate agent-named trace-path construction, and maintenance/index writes do not all use atomic replacement. These source-level counterpaths prevent interpreting the service as a transactional store or universal root sandbox (RT-CLM-file-controls, workflow account).
Durable adaptation is supported; improvement remains a separate question
The strongest supported adaptation is automatic access reinforcement. Requested recall normally increments access counts and raises salience, capped at 1.0; later affinity scoring consumes those persisted values. Callers can disable marking or invoke it directly. This is a wired use-to-ranking feedback path across calls, even without semantic rewriting. No comparison establishes better selection or improved future capacity, and the recorded selected-ID/metadata inputs do not settle the separate classification of automatic trace-fed learning (MEM-RTE-access-reinforcement, profile verification).
Invoked maintenance independently repairs metadata, inserts links and regenerates indexes. Health checks derive structural diagnostics such as duplicate titles, inactivity, oversize and unresolved links; they do not test factual explanations or automatically reject notes. Link insertion can change retrieval reachability without establishing that the association is warranted. Hidden-path exclusions can suppress frontmatter repair, including under a hidden root or ancestor, and dry-run is not a complete preview of real repairs (RT-RTE-store-maintenance, EPI-RTE-maintenance-check, EPI-RTE-maintenance-rewrite).
At this boundary, evidence does not establish a theory-building cycle. Condition 1, localized theory content, is not established by generic supplied prose; condition 2, decisions depending on what such a theory says, is not established by delivery. Condition 3, formulated content-directed criticism with changed reliance or revision, is not established by health diagnostics or matching. Condition 4, retaining criticism's result to shape a next round, is not established by stored events alone. These are independent evidential limits, not inferred absences. Criticism of a consumed theory improving future capacity is likewise unestablished. The source supports caller-led semantic work and automatic numerical updates, not an autonomous semantic review loop. Reflection and self-improvement remain unestablished independently; access adaptation alone does not demonstrate either property (RT-RTE-trace-consolidation, epistemic conclusion, report verification).
For a caller-driven persistence-and-retrieval scenario, the discriminating capacity is inspectable Markdown with selective requested return and durable ranking feedback. For a scenario requiring verified knowledge, autonomous experience consolidation or demonstrated task improvement, the missing semantic controller, acceptance evidence and comparative outcomes prevent that stronger assessment. Host traces linking inputs, review, admitted prose and later consumption would change the activation and lineage assessment. Objective-linked before/after retrieval or task comparisons could change the benefit assessment, with attribution bounded by the intervention. Implemented support checking, branch-consistent provenance and provenance-preserving recall would change the corresponding architectural limits; none is supplied here.
Limitations
The accepted report and profile verifications declare no additional publication limits, and the supplied reconciliation identifies no unresolved analyst conflict. The following rows retain the substantive boundaries and mechanism limits of the account.
| limitation | affected SRC IDs and record citations | inspected boundary | conclusion prevented | evidence that would resolve it |
|---|---|---|---|---|
| Implementation without supplied execution or comparison | SRC-1; RT-RTE-context-recall, MEM-RTE-access-reinforcement | Frozen package, callers and test source; no target execution | Observed reliability, retrieval quality, improved capacity or causal benefit | Inspectable executions and objective-linked controlled comparisons |
| External semantic control and host consumption | SRC-1; RT-RTE-trace-consolidation, EPI-RTE-recall-selection | Shipped service and guidance; host/model implementation excluded | Per-content human approval, automatic semantic consolidation, actual prompt use or instruction compliance | Caller control records and linked host traces showing admission and later consumption |
| Unresolved origin and unchecked support | SRC-1; MEM-OBJ-memory-body, MEM-OBJ-trace-events, EPI-RTE-content-retention | API acquisition, filesystem reload and trace references | Authenticated provenance, preserved source warrant, accepted ampliative knowledge or fully classified trace learning/source | Provenance-bearing inputs, resolved support links and recorded evidence-consuming decisions; caller/update lineage |
| Lossy descriptions and compact recall | SRC-1; EPI-RTE-maintenance-rewrite, EPI-RTE-recall-selection | Prefix derivation, snippets and budget gate | Universal semantic preservation, complete evidence/rationale delivery or strict token ceiling | Condition-preserving transformation and delivery mechanisms with checked size accounting; linked full-content consumption |
| Nonuniform withdrawal and freshness | SRC-1; EPI-RTE-lifecycle-disposition, MEM-OBJ-markdown-index | Default recall, alternate reads and saved display | Universal revocation, eviction on expiry or continuously fresh navigation | Changed cross-route withdrawal/freshness contracts and supporting implementation |
| Bounded durability, containment and repair | SRC-1; RT-CLM-file-controls, RT-RTE-store-maintenance | Note, trace, supersession, repair and index write paths | Composite atomicity, cross-process coordination, universal root containment or complete repair preview | Transaction/recovery and containment controls covering alternate writes; aligned scan and dry-run behavior; failure/concurrency evidence |
| No supported theory/criticism/improvement cycle | SRC-1; RT-RTE-trace-consolidation, EPI-RTE-maintenance-check, MEM-RTE-access-reinforcement | Caller-supplied prose, structural diagnostics and numerical feedback | Theory-builder conditions 1–4, learning from theory criticism, reflection, autonomous semantic review or self-improvement | Individuated theories and consumers, criticism/revision/iteration records, reflection's causal links and objective-responsive self-change with later dependent operation |