<?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: Cristian K</title>
    <description>The latest articles on DEV Community by Cristian K (@crisstiank).</description>
    <link>https://dev.to/crisstiank</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%2F4205144%2F840d4513-db9e-4a8a-b8d2-b09ba89e4db0.jpg</url>
      <title>DEV Community: Cristian K</title>
      <link>https://dev.to/crisstiank</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/crisstiank"/>
    <language>en</language>
    <item>
      <title>Your AI agent has amnesia. Make the repository its memory.</title>
      <dc:creator>Cristian K</dc:creator>
      <pubDate>Sat, 24 Oct 2026 17:28:21 +0000</pubDate>
      <link>https://dev.to/crisstiank/your-ai-agent-has-amnesia-make-the-repository-its-memory-4f0i</link>
      <guid>https://dev.to/crisstiank/your-ai-agent-has-amnesia-make-the-repository-its-memory-4f0i</guid>
      <description>&lt;p&gt;AI agents are good at writing code. They are not good at remembering what they decided last week. After months of using Cursor and Claude Code on real products, my biggest cost wasn't bad code. It was re-explaining the same architecture, re-catching the same mistakes, and reconstructing &lt;em&gt;why&lt;/em&gt; something changed from a diff. The only context that survives every session is the repository, so I started treating it as the agent's memory. That became Agent Runway, an open-source layer that keeps specs, decisions, checkpoints and run logs next to your code. Here's how it works and how to try it in under a minute.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Disclosure: I'm the author of Agent Runway. It's MIT-licensed and free.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;h2&gt;
  
  
  The problem: generating code isn't the hard part anymore
&lt;/h2&gt;

&lt;p&gt;Maintaining continuity across a real codebase is. If you've used coding agents on anything that lives longer than a weekend, you've probably hit some version of this wall:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;context lost between sessions&lt;/li&gt;
&lt;li&gt;architectural decisions made and forgotten&lt;/li&gt;
&lt;li&gt;the same mistakes showing up in different features&lt;/li&gt;
&lt;li&gt;autonomous runs with no traceability&lt;/li&gt;
&lt;li&gt;implementations that slowly drift from the requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;None of these are about the model being "dumb". They're about the model starting from zero every time, and about nobody (human or agent) writing down the things that matter in a place the next session will actually read.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why a rules file isn't enough
&lt;/h2&gt;

&lt;p&gt;The usual first fix is a &lt;code&gt;CLAUDE.md&lt;/code&gt;, a &lt;code&gt;.cursor/rules&lt;/code&gt; folder or &lt;code&gt;.github/copilot-instructions.md&lt;/code&gt;. Those are useful, and Agent Runway generates them too. But a rules file answers one question: &lt;em&gt;how should code look here?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It doesn't answer:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;em&gt;What&lt;/em&gt; are we building, and what does "done" mean? (spec)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;In what order&lt;/em&gt; should the work happen, and what has to pass before it moves on? (workflow and gates)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;What did we learn&lt;/em&gt; last time, and what did we decide? (memory)&lt;/li&gt;
&lt;li&gt;
&lt;em&gt;Where did we stop&lt;/em&gt;, and what's still open? (checkpoints and run logs)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Cramming all that into one ever-growing instruction file is how you get documentation entropy. Agent Runway uses the generated instruction files (&lt;code&gt;AGENTS.md&lt;/code&gt;, &lt;code&gt;CLAUDE.md&lt;/code&gt;, Copilot instructions) as lightweight entrypoints, and puts durable knowledge in a dedicated folder in the repo.&lt;/p&gt;

&lt;h2&gt;
  
  
  The model: four layers
&lt;/h2&gt;

&lt;p&gt;Agent Runway is artifact-driven. Work moves through four layers:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Spec       -&amp;gt; define intent and behavior
Workflow   -&amp;gt; orchestrate execution with quality gates
Rules      -&amp;gt; enforce standards at every step
Memory     -&amp;gt; capture decisions and lessons for future sessions
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;All of it lives in &lt;code&gt;.agent-runway/&lt;/code&gt; inside your repository:&lt;/p&gt;

&lt;p&gt;Here's the real listing after a Lite &lt;code&gt;init&lt;/code&gt; (&lt;code&gt;tree -a -L 2 .agent-runway&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;.agent-runway
.agent-runway/config
.agent-runway/docs
.agent-runway/docs/architecture
.agent-runway/docs/business
.agent-runway/docs/contracts
.agent-runway/docs/examples
.agent-runway/docs/testing
.agent-runway/docs/tickets
.agent-runway/logs
.agent-runway/memory
.agent-runway/memory/common-failures.md
.agent-runway/memory/execution-memory.md
.agent-runway/memory/project-decisions.md
.agent-runway/memory/reasoning-memory.md
.agent-runway/memory/recurring-patterns.md
.agent-runway/memory/review-findings.md
.agent-runway/memory/testing-notes.md
.agent-runway/memory/ticket-quality-notes.md
.agent-runway/rules
.agent-runway/rules/engineering-principles.mdc
.agent-runway/rules/engineering-security.mdc
.agent-runway/rules/testing.mdc
.agent-runway/skills
.agent-runway/skills/checkpoint
.agent-runway/skills/code-review
.agent-runway/skills/council
.agent-runway/skills/express
.agent-runway/skills/learning
.agent-runway/skills/safety-check
.agent-runway/skills/start
.agent-runway/specs
.agent-runway/workflows
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;These aren't passive docs. Specs, tickets, memory files, checkpoints and run logs shape how the agent reasons, plans and executes across sessions. And because it's just files in the repo, the artifact layer is portable across Cursor, Claude Code and VS Code Copilot, and you can commit and share it with your team.&lt;/p&gt;

&lt;p&gt;It doesn't replace your stack, architecture or process. It wraps around them.&lt;/p&gt;

&lt;h2&gt;
  
  
  Step by step with Lite
&lt;/h2&gt;

&lt;p&gt;You don't need the full ceremony on day one. The Vibe/Lite preset is a fast, skill-first setup for prototypes, solo work and low-ceremony coding. You need Node.js 22 or newer:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @adonai-labs/agent-runway init &lt;span class="nt"&gt;--preset&lt;/span&gt; vibe-lite &lt;span class="nt"&gt;--target&lt;/span&gt; all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Lite installs a handful of skills plus a small rule set for engineering principles, security and testing. No slash commands, no agents, no heavy workflows:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Skill&lt;/th&gt;
&lt;th&gt;What it's for&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@start&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Route vague work to the right skill&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@express&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;A small, well-scoped change with minimal ceremony&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@code-review&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Review code without slash commands or agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@checkpoint&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Save current state for pause, resume or handoff&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@learning&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Save durable lessons to project memory&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@safety-check&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Quick Go / Go with caution / Stop risk check&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;@council&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Preview council review for an idea, hypothesis or implementation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffgcngf7v2vpvhymvkt9g.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Ffgcngf7v2vpvhymvkt9g.png" alt="Agent Runway init output" width="800" height="450"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There's no fixed order between these skills. One way I use them:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;@express&lt;/code&gt;&lt;/strong&gt; for the change itself: small scope, little ceremony.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;@checkpoint&lt;/code&gt;&lt;/strong&gt; when you stop for the day or hand off. The current state goes into the logs, so the next session (yours or the agent's) resumes from there instead of from a guess.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;@learning&lt;/code&gt;&lt;/strong&gt; when you catch something worth remembering: a recurring mistake, a decision, a convention. It goes to &lt;code&gt;.agent-runway/memory/&lt;/code&gt;, where future sessions will pick it up.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's just my habit, not a required sequence. The &lt;code&gt;@learning&lt;/code&gt; step is the one I'd encourage most. Fixing a mistake once is easy. The point is that the next session doesn't repeat it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Moving to Structured: /spec-creator → /lead
&lt;/h2&gt;

&lt;p&gt;When the work outgrows Lite, upgrade in place:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx agent-runway upgrade &lt;span class="nt"&gt;--to&lt;/span&gt; structured
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This keeps your memory, logs, checkpoints and docs, and adds the full Structured workflow set. Or start there directly, for example:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @adonai-labs/agent-runway init &lt;span class="nt"&gt;--preset&lt;/span&gt; node-typescript &lt;span class="nt"&gt;--target&lt;/span&gt; all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Structured adds slash commands, agents, specs, tickets, lead/autonomous workflows, architecture/contrarian gates, full rules and optional governance checks. The core path is:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/spec-creator    -&amp;gt; define intent and behavior before implementation
/ticket-creator  -&amp;gt; turn that into ready-to-dev tickets
/lead            -&amp;gt; full implementation workflow with quality gates
/review          -&amp;gt; structured review: engineering, security, performance
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;There are more entry points when you need them: &lt;code&gt;/architect&lt;/code&gt; for design decisions, trade-offs and ADRs, &lt;code&gt;/contrarian&lt;/code&gt; for an adversarial review of a chosen approach, &lt;code&gt;/validate&lt;/code&gt; and &lt;code&gt;/po-eval&lt;/code&gt; for ticket and product readiness, &lt;code&gt;/refactor&lt;/code&gt; for behavior-preserving changes, and &lt;code&gt;/iac&lt;/code&gt; for Infrastructure as Code.&lt;/p&gt;

&lt;p&gt;Two ideas run through all of these workflows:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test-Driven Delivery.&lt;/strong&gt; For behavior changes, the workflow starts by understanding the problem, defining expected behavior and choosing the evidence that will prove the change, &lt;em&gt;before&lt;/em&gt; implementation. When strict test-first isn't practical, it records why and uses the smallest credible alternative.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Narrative Delivery.&lt;/strong&gt; Tickets, commits, PR descriptions, checkpoints and memory entries tell a short technical story: why the work exists, what changed, what evidence shows it's safe, and what's still open. Not longer docs, but intent you can recover without reverse-engineering the diff.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Stacks are added separately and have no slash commands of their own. They install rules, code-review integration and stack skills (.NET, TypeScript, Node.js, React, Python, Go, Rust):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;agent-runway add &amp;lt;stack&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Autonomous, but governed: /autonomous-lead
&lt;/h2&gt;

&lt;p&gt;For unattended or low-supervision runs, there's &lt;code&gt;/autonomous-lead&lt;/code&gt;. It holds the same quality bar as &lt;code&gt;/lead&lt;/code&gt;, plus three things I wasn't willing to skip:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;mandatory run logs&lt;/li&gt;
&lt;li&gt;ADR gates&lt;/li&gt;
&lt;li&gt;human approval before destructive actions&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The goal isn't "let the agent loose". It's being able to come back later and see exactly what it did and why. To be clear, Agent Runway is not a fully autonomous AI engineer, and it doesn't remove the need for engineering judgment.&lt;/p&gt;

&lt;h2&gt;
  
  
  PR review: compact vs isolated
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;@code-review&lt;/code&gt; and &lt;code&gt;/review&lt;/code&gt; produce a consolidated PR-style report: a verdict, deduplicated severity counts, findings with their impact, paste-ready PR comments, positives, technical debt notes and a suggested merge gate. You choose the mode explicitly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/review
Files changed: [list of files]
Lens: all
Mode: compact
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Compact&lt;/strong&gt; is the default for ordinary PRs. It reviews the diff once and labels findings by source: &lt;code&gt;CR&lt;/code&gt; (standard review), &lt;code&gt;SEC&lt;/code&gt; (security), &lt;code&gt;SNR&lt;/code&gt; (senior architecture/operational).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;/review
Files changed: [list of files]
Lens: all
Mode: isolated
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Isolated&lt;/strong&gt; is for high-risk PRs: auth, PII, compliance, public contracts, data migrations, IaC, concurrency, large cross-layer changes. It runs separate, focused &lt;code&gt;CR&lt;/code&gt;, &lt;code&gt;SEC&lt;/code&gt; and &lt;code&gt;SNR&lt;/code&gt; passes over the same diff, then consolidates and deduplicates them. For high-impact changes there's also an optional contrarian lens (&lt;code&gt;CTR&lt;/code&gt;), which isn't a default gate.&lt;/p&gt;

&lt;p&gt;Both modes review only the introduced change and keep broad technical debt separate from line-level findings.&lt;/p&gt;

&lt;p&gt;If you want numbers, &lt;code&gt;agent-runway metrics&lt;/code&gt; gives you a delivery scorecard from gate verdicts and run logs, and &lt;code&gt;agent-runway ci-check&lt;/code&gt; (preview, opt-in) validates governance artifacts in CI, in advisory mode by default or with &lt;code&gt;--profile strict&lt;/code&gt; once your team is ready.&lt;/p&gt;

&lt;h2&gt;
  
  
  Limitations and roadmap
&lt;/h2&gt;

&lt;p&gt;Some honest caveats:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;It's not an application framework, an SDK abstraction layer or a replacement for architecture and documentation practices.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;@council&lt;/code&gt; and &lt;code&gt;ci-check&lt;/code&gt; are previews. They work, but their behavior and the &lt;code&gt;ci-check&lt;/code&gt; JSON output may still change.&lt;/li&gt;
&lt;li&gt;Structure has a cost. That's why Lite exists, and why the roadmap explicitly says not every small task should use heavyweight governance.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Next up (v1.7): modularizing the CLI internals, more artifact-level and install/update regression tests, better docs for local testing and releases, and stabilizing &lt;code&gt;@council&lt;/code&gt; with real examples. Later on I want to experiment with a "Shared Workspace" model (intent, hypothesis, context, constraints, confidence, plan) to improve handoff and resume quality, but only after testing it on real multi-session tasks. The full list is in &lt;a href="https://github.com/adonai-labs/agent-runway/blob/HEAD/ROADMAP.md" rel="noopener noreferrer"&gt;ROADMAP.md&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @adonai-labs/agent-runway init &lt;span class="nt"&gt;--preset&lt;/span&gt; vibe-lite &lt;span class="nt"&gt;--target&lt;/span&gt; all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Start small. Keep what works. Upgrade when the work needs it.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo: &lt;a href="https://github.com/adonai-labs/agent-runway" rel="noopener noreferrer"&gt;https://github.com/adonai-labs/agent-runway&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/@adonai-labs/agent-runway" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/@adonai-labs/agent-runway&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you try it, tell me where it got in your way: which skill felt like too much ceremony, or which piece of context your agent still forgets between sessions. Issues, ideas and critical feedback are all welcome, and a star helps other people find the project.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>claudecode</category>
      <category>cursor</category>
      <category>opensource</category>
    </item>
  </channel>
</rss>
