<?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>Forem: Lê Tú Hào</title>
    <description>The latest articles on Forem by Lê Tú Hào (@letuhao).</description>
    <link>https://forem.com/letuhao</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%2F3926215%2Fae0c4d11-0bad-4d16-8e8f-11d62872ab00.jpeg</url>
      <title>Forem: Lê Tú Hào</title>
      <link>https://forem.com/letuhao</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/letuhao"/>
    <language>en</language>
    <item>
      <title>Dead Light Framework · Part 2 — a copy-paste setup so your AI agents stop losing context between sessions</title>
      <dc:creator>Lê Tú Hào</dc:creator>
      <pubDate>Fri, 22 May 2026 12:28:40 +0000</pubDate>
      <link>https://forem.com/letuhao/dead-light-framework-part-2-a-copy-paste-setup-so-your-ai-agents-stop-losing-context-between-4n84</link>
      <guid>https://forem.com/letuhao/dead-light-framework-part-2-a-copy-paste-setup-so-your-ai-agents-stop-losing-context-between-4n84</guid>
      <description>&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.amazonaws.com%2Fuploads%2Farticles%2Fr47e5l9o0xqxgjduvwrb.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.amazonaws.com%2Fuploads%2Farticles%2Fr47e5l9o0xqxgjduvwrb.png" alt="Stop your AI agents from losing context and silently reverting past decisions. A 10-minute, two-file setup (HANDOFF + LOG) you can copy today." width="799" height="422"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Every Session Starts in Darkness. Your Documents Shouldn't. — A Copy-Paste Setup So AI Agents Stop Losing Context Between Sessions (Dead Light Framework, Part 2)&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Two files, four rules, ten minutes. Skip the theory; the templates are below and you can paste them into a repo right now.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Dead Light Framework — Part 2 of an ongoing series.&lt;/strong&gt; Series so far: &lt;a href="https://dev.to/letuhao/dead-light-framework-an-experimental-framework-for-human-ai-collaboration-post-1-5bh8"&gt;1 · The Emperor Is All But Dead&lt;/a&gt; · &lt;strong&gt;2 · Every Session Starts in Darkness&lt;/strong&gt; · &lt;em&gt;next: when two files aren't enough — the paperwork-vs-runtime decision&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;By a developer running AI agents as daily teammates — a peer, not an authority (&lt;a href="https://dev.to/letuhao/dead-light-framework-an-experimental-framework-for-human-ai-collaboration-post-1-5bh8"&gt;full framing in #1&lt;/a&gt;). · &lt;strong&gt;~7 min&lt;/strong&gt; · &lt;a href="https://github.com/letuhao/dead-light-framework" rel="noopener noreferrer"&gt;the Dead Light Framework repository (MIT)&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The tax you're paying (and want gone)
&lt;/h2&gt;

&lt;p&gt;If you hand real work to AI agents, you pay this every day: each new session &lt;strong&gt;starts from zero&lt;/strong&gt;. You re-explain the project, what you decided last time, what's in flight, which files matter. Fifteen, twenty minutes of re-priming a human teammate would never need — and worse, the agent cheerfully re-litigates Monday's decision on Wednesday because nothing told it the decision was settled.&lt;/p&gt;

&lt;p&gt;My least favourite version of it: I once left a comment explaining &lt;em&gt;why&lt;/em&gt; an ugly branch of code had to stay. Two days later a fresh session, sent in to tidy up TODOs, read the comment &lt;em&gt;as&lt;/em&gt; a TODO and deleted the branch by morning. The reasoning died with the session that wrote it. That's the tax — and it compounds.&lt;/p&gt;

&lt;p&gt;It isn't a model problem. Each session is stateless by design; the last session's reasoning is gone unless something on disk carries it. So put it on disk — deliberately, in a shape the next session can consume in one read. Here's the smallest setup that does it.&lt;/p&gt;




&lt;h2&gt;
  
  
  The setup: two files, four rules (≈10 min)
&lt;/h2&gt;

&lt;p&gt;Drop two files at your repo root. That's the whole mechanism.&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;HANDOFF.md&lt;/code&gt; — the snapshot a fresh session reads first
&lt;/h3&gt;

&lt;p&gt;Your project's &lt;strong&gt;current state on one screen&lt;/strong&gt;: what's true now, what's mid-task, what's decided, what to do next. It's the &lt;em&gt;first&lt;/em&gt; thing an agent reads each session — the thing that replaces fifteen minutes of you re-explaining. &lt;strong&gt;Rewrite it freely;&lt;/strong&gt; it always describes "now" (running history lives in &lt;code&gt;LOG.md&lt;/code&gt;, below). Think of it as the project's working memory, externalised so a memoryless teammate can borrow it.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;doc_kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;state&lt;/span&gt;
&lt;span class="na"&gt;status&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;working&lt;/span&gt;          &lt;span class="c1"&gt;# draft | working | sealed&lt;/span&gt;
&lt;span class="na"&gt;updated&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;2026-05-22&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="gh"&gt;# HANDOFF — &amp;lt;project&amp;gt;&lt;/span&gt;

&lt;span class="gu"&gt;## Now            # what is true today&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Frontend v2 rename is done; auth is on the new schema.

&lt;span class="gu"&gt;## In flight      # mid-task work + who owns it&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Migrating &lt;span class="sb"&gt;`users`&lt;/span&gt; table — session-12, half done; next step is the backfill.

&lt;span class="gu"&gt;## Decided        # do NOT re-litigate these&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Auth must not import billing. Why: layering; billing changes shouldn't ripple into auth.

&lt;span class="gu"&gt;## Start here next&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; Run the &lt;span class="sb"&gt;`users`&lt;/span&gt; backfill, then delete the legacy column.
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Copy the full, commented template:&lt;/em&gt; &lt;a href="https://github.com/letuhao/dead-light-framework/blob/main/distribution/templates/handoff-template.md" rel="noopener noreferrer"&gt;&lt;code&gt;handoff-template.md&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  &lt;code&gt;LOG.md&lt;/code&gt; — the append-only history
&lt;/h3&gt;

&lt;p&gt;If &lt;code&gt;HANDOFF.md&lt;/code&gt; is "now", &lt;code&gt;LOG.md&lt;/code&gt; is "everything that happened" — one line per event, &lt;strong&gt;append-only; you never edit a past line&lt;/strong&gt; (a correction is a new line). Why keep it when the snapshot already shows the current state? Because the snapshot &lt;em&gt;overwrites itself&lt;/em&gt;: the moment you need to know &lt;em&gt;why&lt;/em&gt; something was decided, replay how you got here, or recover after a session left a mess, you need the history the snapshot threw away. The snapshot is derived &lt;em&gt;from&lt;/em&gt; this log — not the other way round.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight markdown"&gt;&lt;code&gt;&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="na"&gt;doc_kind&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;log&lt;/span&gt;
&lt;span class="nn"&gt;---&lt;/span&gt;
&lt;span class="gh"&gt;# LOG — &amp;lt;project&amp;gt;   (append-only; a correction is a NEW line, never an edit)&lt;/span&gt;
&lt;span class="p"&gt;
-&lt;/span&gt; 2026-05-22 · session-12 · decided  · auth must not import billing (layering)        &lt;span class="c"&gt;&amp;lt;!-- sealed --&amp;gt;&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; 2026-05-22 · session-12 · created  · users-table migration draft                     [candidate]
&lt;span class="p"&gt;-&lt;/span&gt; 2026-05-22 · session-12 · note     · backfill must run before dropping legacy column
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Copy the full, commented template:&lt;/em&gt; &lt;a href="https://github.com/letuhao/dead-light-framework/blob/main/distribution/templates/log-template.md" rel="noopener noreferrer"&gt;&lt;code&gt;log-template.md&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  The four rules
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Two kinds, never mixed.&lt;/strong&gt; &lt;code&gt;HANDOFF.md&lt;/code&gt; is &lt;em&gt;current state&lt;/em&gt; — overwrite it freely. &lt;code&gt;LOG.md&lt;/code&gt; is &lt;em&gt;history&lt;/em&gt; — &lt;strong&gt;append only; never edit a past line&lt;/strong&gt; (a correction is a new line). This one split is what makes the whole thing trustworthy.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;First thing every session:&lt;/strong&gt; read &lt;code&gt;HANDOFF.md&lt;/code&gt;, then the new lines in &lt;code&gt;LOG.md&lt;/code&gt; since you last looked. That's your re-prime — under a minute, no human needed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Last thing every session:&lt;/strong&gt; append what you did to &lt;code&gt;LOG.md&lt;/code&gt;, then update &lt;code&gt;HANDOFF.md&lt;/code&gt; to match. (An agent can do both as part of "wrap up.")&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Tag what isn't settled.&lt;/strong&gt; &lt;code&gt;[candidate]&lt;/code&gt; = produced by an agent, not human-confirmed. &lt;code&gt;&amp;lt;!-- sealed --&amp;gt;&lt;/code&gt; = a decision that must not be "cleaned up" away. Agents read these.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That's it. No tool to install, no service to run — git plus two markdown files. Want it as one copy-paste page (both templates + the rules + the agent instruction)? &lt;a href="https://github.com/letuhao/dead-light-framework/blob/main/distribution/agent-context-quickstart.md" rel="noopener noreferrer"&gt;The Agent Context Quickstart&lt;/a&gt;.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Tell your agent once&lt;/strong&gt; (system prompt / &lt;code&gt;CLAUDE.md&lt;/code&gt; / &lt;code&gt;.cursorrules&lt;/code&gt;): &lt;em&gt;"At the start of every session read HANDOFF.md and the recent LOG.md lines before doing anything. At the end, append your actions to LOG.md and update HANDOFF.md. Never edit past LOG lines; never touch a &lt;code&gt;&amp;lt;!-- sealed --&amp;gt;&lt;/code&gt; decision without asking."&lt;/em&gt; Now the discipline is the agent's job, not yours.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What you actually get
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Re-prime drops from ~15 min to ~1 min.&lt;/strong&gt; The agent reads two files and is current — you stop being a human context-cache.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decisions stop silently reverting.&lt;/strong&gt; A &lt;code&gt;sealed&lt;/code&gt; line in &lt;code&gt;Decided&lt;/code&gt; is a wall the next session sees; the Wednesday-undoes-Monday failure mostly stops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You can stop mid-task and resume clean.&lt;/strong&gt; &lt;code&gt;In flight&lt;/code&gt; + the LOG tail tell the next session exactly where to pick up — even a &lt;em&gt;different&lt;/em&gt; agent, even weeks later.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Honest cost: ~2 minutes of discipline per session (append + update), and it pays off only once you're past a handful of sessions or running more than one agent. Below that, a plain README is fine — don't over-build.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why it works (the 30-second version)
&lt;/h2&gt;

&lt;p&gt;Documentation is your team's shared memory. When some teammates wipe their memory every session, the documents have to &lt;em&gt;carry state&lt;/em&gt; — and the reliable way to carry state across actors that can't sync live is exactly this: one &lt;strong&gt;append-only history&lt;/strong&gt; plus a &lt;strong&gt;derived current-state&lt;/strong&gt; view. That's the eventually-consistent coordination pattern distributed systems have used for decades; I just borrowed it. The full standard — including the multi-repo and multi-agent versions, and the failure modes — is &lt;a href="https://github.com/letuhao/dead-light-framework/blob/main/framework/paperwork-standard.md" rel="noopener noreferrer"&gt;&lt;code&gt;framework/paperwork-standard.md&lt;/code&gt;&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;This covers one repo and one session at a time.&lt;/strong&gt; The moment you have &lt;em&gt;two agents writing at the same instant&lt;/em&gt;, or an invariant that must never break even for a second, two markdown files can't promise it — and that's a real, provable limit, not a gap you patch with better notes. Knowing which side of that line you're on is the next post.&lt;/p&gt;




&lt;h2&gt;
  
  
  The story below the setup &lt;em&gt;(optional — skip if you came for the templates)&lt;/em&gt;
&lt;/h2&gt;

&lt;p&gt;You can stop here with a working setup. If you want the &lt;em&gt;why behind the why&lt;/em&gt;, here it is.&lt;/p&gt;

&lt;p&gt;Back in late 2024 / early 2025, when I first started handing agents real work — &lt;em&gt;audit this service&lt;/em&gt;, &lt;em&gt;draft this migration&lt;/em&gt;, &lt;em&gt;pick up where the last session left off&lt;/em&gt; — this was a dumb, recurring tax. Every new session opened with me re-explaining the same context, and by the third I was burning fifteen or twenty minutes re-establishing state a human teammate would simply have &lt;em&gt;had&lt;/em&gt;. So I wrote a better &lt;code&gt;HANDOFF.md&lt;/code&gt;. Then a better one. The overhead kept climbing, and a voice in the back of my head kept saying: &lt;em&gt;you're carving this at the wrong joint.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;So I made the mistake of &lt;em&gt;following&lt;/em&gt; the problem — and it turned out not to be the problem I thought it was. Strip the word "documentation" and it's stark: I had actors that &lt;strong&gt;start cold, run briefly, and can't talk to each other in real time&lt;/strong&gt;, and they had to act coherently anyway. That's not a docs question — it's &lt;em&gt;distributed systems&lt;/em&gt;, a field that's been proving theorems about exactly this since the 1970s. I'd been hand-rolling a worse version of it in markdown without noticing.&lt;/p&gt;

&lt;p&gt;That's also why this framework wears &lt;em&gt;Warhammer 40,000&lt;/em&gt; names, in case the "darkness" felt like an affectation. The Imperium of Man runs a galaxy with &lt;strong&gt;no real-time communication&lt;/strong&gt; — its ships cross the &lt;em&gt;warp&lt;/em&gt;, where they're simply unreachable. So it governs on three things: &lt;strong&gt;frozen edicts&lt;/strong&gt; (decided once, not renegotiable by whoever's nearest), the &lt;strong&gt;Adeptus Administratum&lt;/strong&gt; (literally galactic paperwork), and the &lt;strong&gt;Astronomican&lt;/strong&gt; — a beacon of light a ship lost in the dark steers by. Strip the gothic paint and that's the entire engineering of this post: frozen authority, durable records, and a signal that survives. The darkness in the title is the warp between your sessions; your two files are the Astronomican.&lt;/p&gt;

&lt;p&gt;And there's a catch I'll be honest about, because it shapes the whole series: that "real, provable limit" two paragraphs up isn't hand-waving — coordinating actors with no live channel runs into a genuine theorem (CAP), and it caps what &lt;em&gt;any&lt;/em&gt; pile of documents can promise. So after I'd borrowed all this and wired it together, I spent more effort trying to &lt;strong&gt;break&lt;/strong&gt; it than to build it — cold, hostile reviewers; an independent pass over every borrowed citation; benchmarks designed to make it fail. Some of it failed. That story is the rest of the series — but your setup above doesn't wait on any of it.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;New here? I'm a developer who runs AI agents daily — a peer, not an authority; full framing in &lt;a href="https://dev.to/letuhao/dead-light-framework-an-experimental-framework-for-human-ai-collaboration-post-1-5bh8"&gt;#1&lt;/a&gt;. Standing caveat: one developer, essentially one case study — useful, not proven. Tell me where it breaks for you.&lt;/em&gt;&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;"Every session starts in darkness" is Warhammer-flavoured naming, nothing more. Independent practitioner exploration; no affiliation with Games Workshop. Repository MIT-licensed.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h1&gt;
  
  
  DeadLightFramework #AIAgents #AIProductivity #Documentation #ContextContinuity #AIAgentGovernance #HumanAICollaboration #PromptEngineering #DevTools
&lt;/h1&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>productivity</category>
      <category>tutorial</category>
    </item>
    <item>
      <title>Dead Light Framework: An Experimental Framework for Human-AI Collaboration #Post 1</title>
      <dc:creator>Lê Tú Hào</dc:creator>
      <pubDate>Tue, 12 May 2026 04:39:23 +0000</pubDate>
      <link>https://forem.com/letuhao/dead-light-framework-an-experimental-framework-for-human-ai-collaboration-post-1-5bh8</link>
      <guid>https://forem.com/letuhao/dead-light-framework-an-experimental-framework-for-human-ai-collaboration-post-1-5bh8</guid>
      <description>&lt;h2&gt;
  
  
  The Emperor Is All But Dead. The Light Remains.
&lt;/h2&gt;

&lt;h2&gt;
  
  
  An experimental governance framework for software teams of humans and AI agents — and a request to be argued with
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;Status: experimental. Unverified in the field. Looking for sparring partners more than followers.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;By:&lt;/strong&gt; a developer with ~10 years across many projects, not an academic or industry authority — full bio at the bottom.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Published:&lt;/strong&gt; 2026-05-11 · &lt;strong&gt;~8 min read&lt;/strong&gt; ·&lt;br&gt;
&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/letuhao/dead-light-framework" rel="noopener noreferrer"&gt;github.com/letuhao/dead-light-framework&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  TL;DR
&lt;/h2&gt;

&lt;p&gt;I have been building software with AI agents long enough to see the same governance failure mode appear over and over: agents and humans contradicting Monday's decisions on Wednesday, layers leaking into each other, no anchor to navigate by. I am testing the hypothesis that &lt;strong&gt;human + AI software projects need a frozen source of authority that no participant — including the author — can rewrite at will.&lt;/strong&gt; This post is the opening of an open debate; sharper arguments against it would help me more than agreement.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;One question I most want to be wrong about:&lt;/strong&gt; Is "frozen authority" actually compatible with "evolutionary architecture"? I think yes — argue with me.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  The pain I keep running into
&lt;/h2&gt;

&lt;p&gt;I have been building software with AI agents long enough — daily, across multiple projects — to recognize a pattern that does not look like a bug.&lt;/p&gt;

&lt;p&gt;On Monday, an agent and I agree that the auth layer should not know about billing. On Wednesday, a different session of the same agent cheerfully imports a billing helper into the auth module, because the prompt of the day made it convenient. The change passes review, because the human reviewer has also forgotten the Monday conversation. By the time anyone notices, the layering decision has been quietly inverted in three places.&lt;/p&gt;

&lt;p&gt;Another version of the same story: I commit a fix with a comment explaining &lt;em&gt;why&lt;/em&gt; a specific branch of code must stay. Two days later, a fresh agent session is sent in to clean up TODOs and reads the comment as a TODO. By morning the carefully-preserved branch is gone, and the previous session's reasoning died with the previous session.&lt;/p&gt;

&lt;p&gt;This is not a model failure. It is not a human failure either. It is the predictable result of a team in which:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Some members are stateless.&lt;/strong&gt; Foundation-model agents have well-documented memory and identity limits across sessions (see Bommasani et al. 2021, &lt;em&gt;On the Opportunities and Risks of Foundation Models&lt;/em&gt;; Park et al. 2023, &lt;em&gt;Generative Agents&lt;/em&gt;).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The "why" behind past decisions is in nobody's working memory.&lt;/strong&gt; Humans forget. Agents don't even start with the context.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Many actors can each "decide".&lt;/strong&gt; When everyone has authority to nudge a direction, nothing actually sticks.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Latest input dominates.&lt;/strong&gt; Agents will amplify whatever the most recent prompt suggests, including the wrong directions.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I have come to think of these as &lt;strong&gt;governance gaps wearing technical disguises.&lt;/strong&gt; No amount of better prompts, better tests, or better refactor discipline patches them. They are properties of the &lt;em&gt;team shape&lt;/em&gt;, not of any single contributor.&lt;/p&gt;




&lt;h2&gt;
  
  
  What we're fighting against — "The Chaos"
&lt;/h2&gt;

&lt;p&gt;The failure pattern above has a name in this framework: &lt;strong&gt;The Chaos.&lt;/strong&gt; It is the umbrella for four specific drift modes that tend to compound:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Context rot&lt;/strong&gt; — agents lose the &lt;em&gt;why&lt;/em&gt; behind past decisions and re-invent or contradict prior choices across sessions (the Monday/Wednesday and TODO-misread stories above).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Architect rot&lt;/strong&gt; — without a fixed reference, refactors land in incompatible directions. Humans and agents drift further apart from any earlier coherent design.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Scope creep&lt;/strong&gt; — the project keeps absorbing new concerns. Agents amplify it because the latest prompt is always more vivid than the original mandate.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Accumulated technical debt&lt;/strong&gt; — local conveniences that, once normal, are hard to undo. Humans and agents together can ship more of it, faster than a single human could.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is roughly what the AI-dev community has lately started calling &lt;strong&gt;"vibe coding"&lt;/strong&gt;: shipping code by feel, with agents steering, no anchor strong enough to make Monday's promise survive into Wednesday's commit. Vibe coding is wonderful for prototypes. It is brutal for anything that has to outlive a single session.&lt;/p&gt;

&lt;p&gt;The framework's job is not to forbid vibe coding. It is to give a project enough of a fixed backdrop that, when it graduates from prototype to &lt;em&gt;thing-people-rely-on&lt;/em&gt;, decisions can be made against something stable instead of against the void.&lt;/p&gt;




&lt;h2&gt;
  
  
  Where existing methodologies leave a design slot empty
&lt;/h2&gt;

&lt;p&gt;I want to be careful here, because this is the easiest place to overreach.&lt;/p&gt;

&lt;p&gt;Waterfall, Agile, Scrum, SAFe, RUP — these work. I am not in a position to grade them. If an AI agent shows up to a stand-up the way a competent teammate does — persistent role, accountable for decisions, reads the working agreements, follows what was decided yesterday — Scrum runs the same as it always has. Sometimes better, frankly, because the agent does not forget the meeting on the drive home.&lt;/p&gt;

&lt;p&gt;So I do not want to claim the methodologies "fail" or "stop covering" anything when agents join. That would be both arrogant and inaccurate.&lt;/p&gt;

&lt;p&gt;What I do think is narrower: &lt;strong&gt;none of these methodologies were designed with AI agents as first-class participants in mind.&lt;/strong&gt; They do not specify what an "agent role" looks like — its memory model, its onboarding procedure, its authority bounds, its drift profile, how its decisions are attributed across sessions. That is an unfilled design slot, not a coverage failure.&lt;/p&gt;

&lt;p&gt;The Dead Light Framework is one attempt at filling that slot. It sits &lt;em&gt;on top of&lt;/em&gt; whatever delivery framework you already run, not in place of it. If your Scrum is well-disciplined and your reviews are tight, you will catch some of the failure modes I described above without any of this. The framework is for the parts your existing process was never asked to handle in the first place.&lt;/p&gt;




&lt;h2&gt;
  
  
  The hypothesis (the part you should attack)
&lt;/h2&gt;

&lt;p&gt;The thing I am testing is one sentence:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;A software project for humans + AI agents needs a frozen source of authority that no participant — human or agent — can rewrite at will.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Codified once by a small council. Sealed before kickoff. Humans interpret it. Agents execute within it. Neither group obeys a &lt;em&gt;person&lt;/em&gt; — both navigate by the same fixed light.&lt;/p&gt;

&lt;p&gt;This is not a radical idea outside software. It is roughly how constitutional federalism works (the U.S. Constitution constrains every subsequent administration), how religious institutional canon works (the Nicene Creed is older than any living interpreter), how central-bank mandates work (a price-stability mandate outlasts any single governor), and how RFC-driven protocol governance works (TCP/IP does not get rewritten because a vendor finds it inconvenient).&lt;/p&gt;

&lt;p&gt;What is novel — &lt;em&gt;if anything&lt;/em&gt; — is applying this pattern at the level of an individual software project, with AI agents as first-class participants whose context windows guarantee the authority cannot live in their heads.&lt;/p&gt;

&lt;p&gt;I call the sealed document the &lt;strong&gt;Astronomican&lt;/strong&gt;. I call the sealing meeting the &lt;strong&gt;Ascension Council&lt;/strong&gt;. I call the agent-type rulebooks &lt;strong&gt;Codices&lt;/strong&gt;. The names are borrowed from Warhammer 40,000.&lt;/p&gt;




&lt;h2&gt;
  
  
  About the metaphor (important)
&lt;/h2&gt;

&lt;p&gt;I want to be honest about this up front, because it is the obvious objection.&lt;/p&gt;

&lt;p&gt;The Imperium of Mankind in Warhammer 40,000 is a &lt;em&gt;cautionary tale&lt;/em&gt;. It is grimdark by design: a bureaucratic, paranoid, ossified empire that fails spectacularly across ten thousand years. Picking it as a governance metaphor without acknowledging that is internally contradictory.&lt;/p&gt;

&lt;p&gt;So I do not use it as evidence. The framework's policy, written into its own rules, is:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;strong&gt;40k vocabulary is naming and shared metaphor only.&lt;/strong&gt; Every load-bearing argument must rest on a real-world system with an observable track record: constitutional federalism, military command-and-control doctrine, central-bank mandates, religious canon, established corporate practice (Toyota Production System, Amazon two-pizza teams), open-source governance, established software methodologies.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;When the 40k name and the real-world precedent disagree, the real-world precedent governs. The Imperium provides memorable names. Toyota's Andon Cord, the U.S. military's C2/SIGINT loop, and Bezos-era Amazon's API mandate provide the actual design lessons — particularly on the hardest problem the Imperium itself failed at: &lt;strong&gt;centralized authority combined with distributed sensing&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;If you find a place in the framework where I leaned on 40k &lt;em&gt;as an argument&lt;/em&gt; rather than as a name, that is a finding. Please file it.&lt;/p&gt;




&lt;h2&gt;
  
  
  Glossary — 40k terms used above
&lt;/h2&gt;

&lt;p&gt;For readers who do not know Warhammer 40,000 — one-liners on each term used in this post.&lt;/p&gt;

&lt;blockquote&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Astronomican&lt;/strong&gt; — In W40k, the psychic beacon that guides the Imperium's space travel after its god-emperor has all but died. &lt;strong&gt;In this framework:&lt;/strong&gt; the name for the sealed project document of purpose, immutable laws, and guiding principles.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Imperium of Mankind&lt;/strong&gt; — The fictional galactic empire in W40k. Used here only as a memorable source of names; &lt;em&gt;not&lt;/em&gt; as a governance role model (the empire fails spectacularly in canon — that is part of why I quote it carefully).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Codex / Codices&lt;/strong&gt; — In W40k, the rulebook each Space Marine Chapter operates under. &lt;strong&gt;In this framework:&lt;/strong&gt; the rulebook each AI agent type operates under (operational bounds, hard stops, output contract, notify triggers).&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Adeptus Administratum&lt;/strong&gt; — In W40k, the Imperial bureau of records, taxation, and administrative logistics — the empire's "chief of paperwork." &lt;strong&gt;In this framework:&lt;/strong&gt; the first sealed Chapter — a PM / High-Lord aide role.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ascension Council&lt;/strong&gt; — &lt;em&gt;Not&lt;/em&gt; from canon. The framework's name for the one-time small group of humans who seal the project's founding document before kickoff and then disband.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Chapter / Chapters&lt;/strong&gt; — In W40k, a self-contained battle order of Space Marines, each with its own Codex. &lt;strong&gt;In this framework:&lt;/strong&gt; an agent &lt;em&gt;type&lt;/em&gt;, each with its own Codex.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The Chaos&lt;/strong&gt; — In W40k, the warp-based corrupting forces the Imperium fights eternally. &lt;strong&gt;In this framework:&lt;/strong&gt; the umbrella failure mode the framework tries to defend against — context rot, architect rot, scope creep, accumulated technical debt; roughly the kind of drift "vibe coding" produces when extended beyond prototyping.&lt;/li&gt;
&lt;/ul&gt;
&lt;/blockquote&gt;




&lt;h2&gt;
  
  
  What this is and is not
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;This is:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A &lt;em&gt;composition layer&lt;/em&gt; that sits on top of Agile / Scrum / Kanban / whatever you already run. It does not replace delivery rhythm.&lt;/li&gt;
&lt;li&gt;An attempt to give projects a constitution-like artifact and an explicit protocol for agent participation.&lt;/li&gt;
&lt;li&gt;A working hypothesis with a documented audit trail (38 findings against my own claims, all remediated, still openly listed).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;This is not:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Proven. I have one in-flight case study (a 358-KLOC project called LoreWeave). One case is not evidence. It is a smoke test.&lt;/li&gt;
&lt;li&gt;A productivity tool. It will add overhead before it removes any.&lt;/li&gt;
&lt;li&gt;A claim that you should run your project this way. It is a claim that the failure modes are real, that existing methodologies were simply not designed with agent participants in scope, and that &lt;em&gt;some&lt;/em&gt; framing in this neighborhood is probably needed to fill that slot.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Where this stands today
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Phase 0 (the calibration/audit phase for retrofit projects) — &lt;strong&gt;sealed&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;Phase 1 (the Astronomican itself) — partial. Six known open questions, listed publicly.&lt;/li&gt;
&lt;li&gt;Phase 2 (Codex per Chapter) — first Chapter sealed (a PM/High-Lord aide called the Adeptus Administratum). Others wait for real-project triggers.&lt;/li&gt;
&lt;li&gt;Phase 3 (drift detection) and Phase 4 (re-consecration) — not started.&lt;/li&gt;
&lt;li&gt;One case study (LoreWeave) — Phase 0 Pass 1 about to begin.&lt;/li&gt;
&lt;li&gt;Internal audit (Independent Verification Pass) — five of seven phases complete. The audit is public, including the times the framework failed its own audit.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything is in the open. The framework is being built in a single repo with full debate history.&lt;/p&gt;

&lt;p&gt;Repository: &lt;a href="https://github.com/letuhao/dead-light-framework" rel="noopener noreferrer"&gt;github.com/letuhao/dead-light-framework&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What I want from readers
&lt;/h2&gt;

&lt;p&gt;Not converts. Arguments.&lt;/p&gt;

&lt;p&gt;Specifically, I want people to attack these:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Is "frozen authority" actually compatible with "evolutionary architecture"?&lt;/strong&gt; I think yes, with a re-consecration ceremony. But that ceremony is unsealed and you might convince me it is impossible.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Does the 40k vocabulary do more harm than good?&lt;/strong&gt; I find it useful as memorable scaffolding for a debate-driven team. But it may be repelling readers who would otherwise engage.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Where does an industry standard already do this job?&lt;/strong&gt; If COCOMO II / CMMI v3.0 / ITIL 4 / DORA already cover one of the gaps I think I am filling, I want to know before adding another box.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What is the smallest experiment that would falsify the framework?&lt;/strong&gt; I am genuinely unsure how to design this. A failed retrofit on one project is suggestive, not conclusive.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What did I import from the Imperium that I should not have?&lt;/strong&gt; I keep finding things. Help me find more.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  What's coming next
&lt;/h2&gt;

&lt;p&gt;A short series of posts will work through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The case study in detail (where it hurt, with numbers).&lt;/li&gt;
&lt;li&gt;Why Agile/Scrum specifically do not cover this gap.&lt;/li&gt;
&lt;li&gt;The mechanics of sealing an Astronomican.&lt;/li&gt;
&lt;li&gt;The Codex pattern for AI agents.&lt;/li&gt;
&lt;li&gt;How the framework audits itself (and the times it has failed).&lt;/li&gt;
&lt;li&gt;The anti-patterns I knowingly imported from a fictional dying empire, and how I compensate.&lt;/li&gt;
&lt;li&gt;Open questions where the framework could still be wrong.&lt;/li&gt;
&lt;li&gt;A practical adoption sketch — without promising it works.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If any of the failure modes I described sound like the project you are in right now, I would especially like to hear from you. The framework is far more useful as a piñata than as a manifesto.&lt;/p&gt;




&lt;h2&gt;
  
  
  About the author
&lt;/h2&gt;

&lt;p&gt;A working developer with roughly ten years of experience across a range of projects. Not an academic, not an industry authority on software methodology, not a methodologist of any kind. No chair, no certification body, no track record of published frameworks behind me.&lt;/p&gt;

&lt;p&gt;The Dead Light Framework — the subject of this post and the series it opens — is a personal exploration: one practitioner's attempt at finding methods that hold up when AI agents become full-time teammates. I publish it openly because I would rather be told I am wrong by people who have stood in front of the same problems than be politely ignored.&lt;/p&gt;

&lt;p&gt;If I sounded certain anywhere above, treat that as a slip in tone, not a claim of authority. The framework is at hypothesis stage. Everything is in scope to be argued with.&lt;/p&gt;




&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The Emperor is all but dead. The light remains.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Repository:&lt;/strong&gt; &lt;a href="https://github.com/letuhao/dead-light-framework" rel="noopener noreferrer"&gt;github.com/letuhao/dead-light-framework&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Independent practitioner exploration. No affiliation with Games Workshop. Repository MIT-licensed.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>productivity</category>
      <category>discuss</category>
      <category>agents</category>
    </item>
  </channel>
</rss>
