<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: AlexLeo</title>
    <description>The latest articles on DEV Community by AlexLeo (@alexleotz23086493).</description>
    <link>https://dev.to/alexleotz23086493</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F497541%2F14988e26-f30b-4779-9c3b-4e8aa4b08ec0.jpg</url>
      <title>DEV Community: AlexLeo</title>
      <link>https://dev.to/alexleotz23086493</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/alexleotz23086493"/>
    <language>en</language>
    <item>
      <title>Solving AI Amnesia: Why Your Coding Agents Needs Institutional Memory</title>
      <dc:creator>AlexLeo</dc:creator>
      <pubDate>Sun, 23 Aug 2026 13:43:14 +0000</pubDate>
      <link>https://dev.to/alexleotz23086493/solving-ai-amnesia-why-your-coding-agents-needs-institutional-memory-5c46</link>
      <guid>https://dev.to/alexleotz23086493/solving-ai-amnesia-why-your-coding-agents-needs-institutional-memory-5c46</guid>
      <description>&lt;h3&gt;
  
  
  &lt;strong&gt;Solving AI Amnesia: Why Your Coding Agents Needs Institutional Memory&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Every developer using AI coding agents eventually hits the same wall.&lt;/p&gt;

&lt;p&gt;You spend three hours debugging a subtle race condition in an async worker. The agent finds an undocumented quirk in your queue library, applies a targeted workaround, and the test suite turns green. Two days later, you open a fresh chat session or switch models. You ask the agent to refactor the worker module. Within thirty seconds, the agent deletes the workaround, assumes standard queue behavior, and re-introduces the exact bug you spent half your week fixing.&lt;/p&gt;

&lt;p&gt;This is the AI amnesia problem.&lt;/p&gt;

&lt;p&gt;LLMs process instructions well within an active context window. Once that context window compacts, rolls over, or resets, the reasoning vanishes. The code remains in Git, but the &lt;em&gt;tacit knowledge,&lt;/em&gt; the architectural constraints, environment quirks, and hard-earned reasons behind specific decisions disappears.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;The Missing Layer: Git for Decisions&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Code belongs in Git. Chat transcripts belong in ephemeral logs. Tacit knowledge needs its own layer.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/AlexLeoTz/tacit" rel="noopener noreferrer"&gt;Tacit&lt;/a&gt; is an open-source, local-first Model Context Protocol (MCP) server that gives AI coding agents persistent institutional memory.&lt;/p&gt;

&lt;p&gt;Instead of dumping multi-megabyte chat transcripts into a vector database, Tacit forces agents to store distilled decision nodes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;What changed&lt;/strong&gt;: The core technical choice or workaround.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Why it changed&lt;/strong&gt;: The root cause, limitation, or error condition.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Causal lineage&lt;/strong&gt;: Directed Acyclic Graph (DAG) links to parent decisions.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verification&lt;/strong&gt;: Cryptographic content hashes (SHA-256) and Merkle root verification.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;How It Works in Practice&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;When an agent initializes a session, it queries Tacit for recent context:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;memory_context(timeframe=”week”)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The agent immediately sees active architectural decisions, known environment workarounds, and recently resolved errors before it writes a single line of code.&lt;/p&gt;

&lt;p&gt;When the agent finishes a complex task, it records the distilled knowledge:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;memory_add(&lt;br&gt;
type="hack",&lt;br&gt;
title="Pinned Redis client pool to 10 connections due to TCP socket leak on worker restart",&lt;br&gt;
rationale="Uvicorn reload spawns zombie connections if pool size exceeds system file descriptor threshold.",&lt;br&gt;
scope=["/services/queue.py"],&lt;br&gt;
tags=["redis", "networking", "uvicorn"]&lt;br&gt;
)&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Because Tacit runs locally on SQLite with FTS5 search, retrieval takes less than a millisecond. Everything mirrors human-readable Markdown files in .tacit/memories/, keeping your team’s knowledge version-controlled and independent of any single AI harness vendor.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Getting Started&lt;/strong&gt;
&lt;/h3&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 1: Install Tacit from source&lt;/strong&gt;
&lt;/h3&gt;

&lt;h1&gt;
  
  
  Clone the repository
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/AlexLeoTz/tacit.git&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  Install globally on your machine (editable mode for active development)
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;pip install -e .&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 2: Register MCP server globally&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;This registration command modifies your editor’s settings globally. It can be run from any folder or terminal directory:&lt;/p&gt;

&lt;h1&gt;
  
  
  For Antigravity CLI
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;tacit install-mcp --client antigravity&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  For Claude Desktop
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;tacit install-mcp --client claude&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  For Claude Code (Terminal CLI)
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;tacit install-mcp --client claude-code&lt;/code&gt;&lt;/p&gt;

&lt;h1&gt;
  
  
  For Cursor
&lt;/h1&gt;

&lt;p&gt;&lt;code&gt;tacit install-mcp --client cursor  &lt;br&gt;
&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 3: Initialize the project memory directory&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Navigate to your specific project workspace directory (e.g. &lt;code&gt;cd /path/to/my-project&lt;/code&gt;) and initialize the database. This command must be run inside your project root directory:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;tacit init&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;strong&gt;Step 4: Run the live markdown preview server&lt;/strong&gt;
&lt;/h3&gt;

&lt;p&gt;Start the web dashboard to search, view, and insert project memories directly. This command must be run inside your project root directory:&lt;br&gt;
&lt;code&gt;&lt;br&gt;
tacit serve&lt;br&gt;
&lt;/code&gt;&lt;br&gt;
Tacit is open source and available on &lt;a href="https://github.com/AlexLeoTz/tacit" rel="noopener noreferrer"&gt;GitHub&lt;/a&gt;. Try it&lt;/p&gt;

</description>
      <category>ai</category>
      <category>coding</category>
      <category>webdev</category>
      <category>programming</category>
    </item>
  </channel>
</rss>
