<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>FMLOps | Writing</title>
  <subtitle>Substrate failures of LLM-driven multi-session development.</subtitle>
  <link href="https://fmlops.dev/writing/" rel="alternate" type="text/html" />
  <link href="https://fmlops.dev/writing/feed.xml" rel="self" type="application/atom+xml" />
  <id>https://fmlops.dev/writing/</id>
  <updated>2026-04-30T00:00:00.000Z</updated>
  <author>
    <name>Josh Duffy</name>
    <uri>https://fmlops.dev</uri>
  </author>
  <entry>
    <title>Memory you can&apos;t trust: Why the Workbench OAuth bug took five sessions to find, and the contract that wasn&apos;t enforced</title>
    <link href="https://fmlops.dev/writing/memory-you-cant-trust" />
    <id>https://fmlops.dev/writing/memory-you-cant-trust</id>
    <updated>2026-04-30T00:00:00.000Z</updated>
    <published>2026-04-30T00:00:00.000Z</published>
    <summary>The Workbench debugger had a four-layer bug with an asymmetric-probe smoking gun. The reason it took five sessions to find wasn&apos;t the bug. It was that each session inherited a clobbered handoff and re-attempted ruled-out theories. The fix wasn&apos;t a better handoff. It was making bad handoffs structurally impossible.</summary>
    <author>
      <name>Josh Duffy</name>
      <uri>https://fmlops.dev</uri>
    </author>
  </entry>
  <entry>
    <title>Two reasonable invariants: How a supervisor and an indexer agreed on a cursor file and disagreed on what it meant</title>
    <link href="https://fmlops.dev/writing/two-reasonable-invariants" />
    <id>https://www.joshduffy.dev/writing/two-reasonable-invariants</id>
    <updated>2026-04-29T00:00:00.000Z</updated>
    <published>2026-04-29T00:00:00.000Z</published>
    <summary>Eight parallel slices, ten million trades each, and a thirty-line bash supervisor I thought was thin. It completed the same six hours of work three times before I noticed.</summary>
    <author>
      <name>Josh Duffy</name>
      <uri>https://fmlops.dev</uri>
    </author>
  </entry>
  <entry>
    <title>The hash-skip pattern: How I almost shipped a $2.40-a-day Sonnet burn</title>
    <link href="https://fmlops.dev/writing/the-hash-skip-pattern" />
    <id>https://www.joshduffy.dev/writing/the-hash-skip-pattern</id>
    <updated>2026-04-19T00:00:00.000Z</updated>
    <published>2026-04-19T00:00:00.000Z</published>
    <summary>AI inference inverted the cost model of my stack. I caught the burn because Anthropic&apos;s usage dashboard happens to show a bar chart that exposes metronomes.</summary>
    <author>
      <name>Josh Duffy</name>
      <uri>https://fmlops.dev</uri>
    </author>
  </entry>
</feed>
