<?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: agentic.standard.contact</title>
    <description>The latest articles on DEV Community by agentic.standard.contact (@agentic_standard).</description>
    <link>https://dev.to/agentic_standard</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3943025%2Fb2df42dc-46d5-48a0-9dcf-72470656ff26.jpg</url>
      <title>DEV Community: agentic.standard.contact</title>
      <link>https://dev.to/agentic_standard</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/agentic_standard"/>
    <language>en</language>
    <item>
      <title>The Context Tax: Why Every Cursor Session Costs You 15 Minutes</title>
      <dc:creator>agentic.standard.contact</dc:creator>
      <pubDate>Wed, 20 May 2026 22:54:58 +0000</pubDate>
      <link>https://dev.to/agentic_standard/the-context-tax-why-every-cursor-session-costs-you-15-minutes-cl1</link>
      <guid>https://dev.to/agentic_standard/the-context-tax-why-every-cursor-session-costs-you-15-minutes-cl1</guid>
      <description>&lt;p&gt;There's a hidden cost senior engineers pay every morning when they open Cursor. It compounds quietly, it doesn't show up on any dashboard, and at a typical senior billing rate it's worth thousands of pounds a year. I call it the &lt;strong&gt;Context Tax&lt;/strong&gt;. Here's why it happens, what it actually costs, and the four-rule architecture I built to eliminate it.&lt;/p&gt;

&lt;h2&gt;
  
  
  The 15-minute problem
&lt;/h2&gt;

&lt;p&gt;Open Cursor on Monday morning. New chat. You're picking up where you left off Friday — adding a caching layer to &lt;code&gt;OrderService&lt;/code&gt;. You type:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Add Redis caching to this method."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And the AI returns something technically correct, but architecturally wrong. It instantiates &lt;code&gt;ConnectionMultiplexer&lt;/code&gt; directly in the service constructor. It uses &lt;code&gt;IMemoryCache&lt;/code&gt; as if your project doesn't already register &lt;code&gt;IDistributedCache&lt;/code&gt;. It writes a synchronous wrapper around an async call.&lt;/p&gt;

&lt;p&gt;You sigh. You type the preamble. &lt;em&gt;Again.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"This project uses Mediator and Result&amp;lt;T&amp;gt;. We register caching through IDistributedCache in /Infrastructure/Caching. Don't reach into ConnectionMultiplexer directly. Don't put any caching logic in the Service layer — wrap it via a decorator in Infrastructure. And we never instantiate dependencies, we inject them via constructor."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Three paragraphs. Maybe four. By the time the AI has the context it needs to actually be useful, you've spent fifteen minutes typing what your codebase has already shown it dozens of times before.&lt;/p&gt;

&lt;p&gt;That's the Context Tax.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why it happens
&lt;/h2&gt;

&lt;p&gt;Cursor — like every other AI coding tool right now — has no persistent memory between sessions. Each new chat starts fresh. Every architectural decision your team has ever made, every refactor your codebase has ever absorbed, every "we tried that, it doesn't work for us" — gone the moment you close the window.&lt;/p&gt;

&lt;p&gt;The AI isn't stupid. It's amnesiac.&lt;/p&gt;

&lt;p&gt;Worse: even &lt;em&gt;within&lt;/em&gt; a session, the AI's understanding of your architecture is a fragile probability cloud. By Wednesday afternoon it has "forgotten" the convention it followed on Monday. It starts suggesting patterns that violate your boundaries. You correct it. It double-downs. You correct it again. It loops on the same hallucination, burning tokens, burning your time.&lt;/p&gt;

&lt;p&gt;This is what I call &lt;strong&gt;AI drift&lt;/strong&gt;, and on a long project it's the single biggest reason senior engineers go from "Cursor is incredible" to "I've turned the autocomplete off."&lt;/p&gt;

&lt;h2&gt;
  
  
  The cost
&lt;/h2&gt;

&lt;p&gt;Let's do the uncomfortable math.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;15 minutes per day&lt;/strong&gt; spent on re-context and correcting drift.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;~250 working days per year.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;That's &lt;strong&gt;62.5 hours&lt;/strong&gt;. Nearly &lt;strong&gt;eight full working days&lt;/strong&gt; annually.&lt;/li&gt;
&lt;li&gt;At a UK senior dev billing rate of around &lt;strong&gt;£75/hour&lt;/strong&gt;, that's &lt;strong&gt;£4,687.50&lt;/strong&gt; of senior time, per engineer, per year — bleeding out invisibly.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;On a five-engineer team that's the cost of a junior hire.&lt;/p&gt;

&lt;h2&gt;
  
  
  The instinct that doesn't work
&lt;/h2&gt;

&lt;p&gt;The obvious response is to write a long system prompt with all your conventions and paste it at the top of every new chat. Most senior engineers I know have tried this. It fails for three reasons:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Token bloat.&lt;/strong&gt; A 2,000-token preamble at the start of every prompt is expensive and slow. Worse, the AI's attention to &lt;em&gt;specific&lt;/em&gt; rules degrades as the preamble grows.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Discipline decay.&lt;/strong&gt; You'll do it for a week. By week two you'll start skipping it for "quick" prompts. The drift returns.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Static knowledge.&lt;/strong&gt; Your architecture evolves. The preamble doesn't. It's a snapshot from whenever you last bothered to update it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You don't need a longer prompt. You need &lt;em&gt;persistence&lt;/em&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What persistence actually looks like
&lt;/h2&gt;

&lt;p&gt;The breakthrough — once you stop thinking of Cursor as a chat-bot and start thinking of it as a stateful pair-programmer — is that the AI needs three things to behave like a senior:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;A long-term memory file&lt;/strong&gt; that lives in the repo, that the AI reads on every session start, and that the AI itself updates whenever it learns something new. Architectural Decision Records (ADRs) for the AI, by the AI.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scoped, directory-aware rules&lt;/strong&gt; that load only when relevant — a DI rule fires on &lt;code&gt;Startup.cs&lt;/code&gt; and &lt;code&gt;ServiceCollectionExtensions.cs&lt;/code&gt;, not on every controller. Token budget preserved.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;A circuit breaker&lt;/strong&gt; that detects when the AI is in a hallucination loop and forces it to stop, re-read the file, and ask a question rather than double down.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;None of these are exotic. They're standard senior-engineering moves applied to the AI itself.&lt;/p&gt;

&lt;h2&gt;
  
  
  The four-rule architecture
&lt;/h2&gt;

&lt;p&gt;I packaged the pattern I've been using on real .NET codebases into four &lt;code&gt;.mdc&lt;/code&gt; files Cursor reads natively:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;arch-core.mdc&lt;/code&gt;&lt;/strong&gt; — boundary enforcement. Detects which layer the current file lives in and refuses suggestions that cross it.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;dotnet-di.mdc&lt;/code&gt;&lt;/strong&gt; — DI auditor. Catches &lt;code&gt;Scoped → Singleton&lt;/code&gt; capture, &lt;code&gt;HttpClient&lt;/code&gt; instantiation, &lt;code&gt;IConfiguration&lt;/code&gt; leaks into business logic.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;bug-breaker.mdc&lt;/code&gt;&lt;/strong&gt; — the circuit breaker. Watches for repeated failed attempts on the same problem and forces re-reading instead of doubling down.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;persistence.mdc&lt;/code&gt;&lt;/strong&gt; — the engine. Maintains &lt;code&gt;LEARNING_LOG.md&lt;/code&gt; across sessions. Auto-appends decisions in an ADR-style format. Hydrates the AI on session start.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The whole thing lives in &lt;code&gt;.cursor/rules/&lt;/code&gt; and a single root-level &lt;code&gt;LEARNING_LOG.md&lt;/code&gt;. Zero config. Zero build step. Commit it to your repo, your whole team gets the same baseline.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "after" looks like
&lt;/h2&gt;

&lt;p&gt;Monday morning, two months in. New chat:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Add Redis caching to OrderService."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The AI responds:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;"Detected Scoped lifetime conflict with &lt;code&gt;IMemoryCache&lt;/code&gt; (Singleton). Following Log Entry #27: 'Prefer &lt;code&gt;IDistributedCache&lt;/code&gt; abstraction in &lt;code&gt;/Infrastructure/Caching&lt;/code&gt;.' Applying decorator pattern via Scrutor per &lt;code&gt;arch-core.mdc §3&lt;/code&gt;..."&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;No preamble. No correction loop. The AI already knows.&lt;/p&gt;




&lt;h2&gt;
  
  
  Try one rule for free
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;arch-core-lite.mdc&lt;/code&gt; rule is a stripped-down version of the kit's boundary guardian. Drop it in your &lt;code&gt;.cursor/rules/&lt;/code&gt; folder and watch your AI start respecting your layers today. Free download, no signup:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://github.com/agenticstandardcontact-byte/agentic-architect/blob/main/arch-core-lite.mdc" rel="noopener noreferrer"&gt;&lt;strong&gt;Download arch-core-lite.mdc&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Or just stop the Context Tax today
&lt;/h2&gt;

&lt;p&gt;The full &lt;strong&gt;Agentic Architect&lt;/strong&gt; kit — 4 specialist rules + the persistence engine + Learning Log template — is &lt;strong&gt;£19.99 one-time&lt;/strong&gt;. Lifetime updates. MIT-licensed. 14-day no-questions refund.&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://agenticarchitect.gumroad.com/l/dotnet-persistence-kit" rel="noopener noreferrer"&gt;&lt;strong&gt;Get the full framework — £19.99&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Originally published at &lt;a href="https://agenticstandardcontact-byte.github.io/agentic-architect/blog/01-the-context-tax.html" rel="noopener noreferrer"&gt;agenticstandardcontact-byte.github.io/agentic-architect/blog&lt;/a&gt;. Canonical URL is set so the original gets the SEO juice.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>csharp</category>
      <category>dotnet</category>
      <category>ai</category>
      <category>productivity</category>
    </item>
  </channel>
</rss>
