Port drafted blog post: 'Your AI Has Amnesia' into brand-site blog

- Created src/pages/blog/ai-has-amnesia.astro (converted from drafted markdown)
- Added entry to RSS feed
- Also added 3 missing published posts to RSS: AI Exposes Leaders,
  Mentorship Isn't Latency, Strip-Mining Is Happening Right Now
- Builds successfully (14 items in RSS)
This commit is contained in:
Scott Scoble 2026-05-24 08:58:46 -07:00
parent 3bdef08ec3
commit 3a104e02f1
5 changed files with 673 additions and 0 deletions

143
public/rss.xml Normal file
View file

@ -0,0 +1,143 @@
<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Scott Scoble Blog</title>
<link>https://scott.scoble.me/blog</link>
<description>Articles on AI, leadership, cultivation, and the human side of technology.</description>
<language>en-us</language>
<lastBuildDate>Sat, 23 May 2026 21:24:00 +0000</lastBuildDate>
<atom:link href="https://scott.scoble.me/rss.xml" rel="self" type="application/rss+xml"/>
<image>
<url>https://scott.scoble.me/social-card.png</url>
<title>Scott Scoble Blog</title>
<link>https://scott.scoble.me/blog</link>
</image>
<item>
<title>My Open Source Projects: Speckl, ScobleClaw, and Beyond the Prompt</title>
<link>https://scott.scoble.me/blog/open-source-projects</link>
<guid>https://scott.scoble.me/blog/open-source-projects</guid>
<pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
<description>A roundup of Scott Scoble's open-source projects — Speckl (spec compiler with provenance), ScobleClaw (agentic engineering framework), and Beyond the Prompt (workshop on building with AI agents).</description>
<category>Open Source</category>
</item>
<item>
<title>We're Going to Formally Verify SQLite</title>
<link>https://scott.scoble.me/blog/prove-sqlite</link>
<guid>https://scott.scoble.me/blog/prove-sqlite</guid>
<pubDate>Sat, 23 May 2026 00:00:00 +0000</pubDate>
<description>SQLite runs on every smartphone, every browser, every embedded system. Its core state machines have never been formally verified.</description>
<category>Engineering</category>
</item>
<item>
<title>You're Already in the Agentic Wars</title>
<link>https://scott.scoble.me/blog/agentic-wars</link>
<guid>https://scott.scoble.me/blog/agentic-wars</guid>
<pubDate>Fri, 08 May 2026 00:00:00 +0000</pubDate>
<description>Meta has Hatch. Google has Remy. Everyone is building agents. Whose capability compounds?</description>
<category>AI</category>
</item>
<item>
<title>The Strip Mining is Happening Right Now</title>
<link>https://scott.scoble.me/blog/strip-mining-happening-right-now</link>
<guid>https://scott.scoble.me/blog/strip-mining-happening-right-now</guid>
<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
<description>Strip-mining of people isn't a future risk — it's already happening in every org that treats AI as headcount reduction.</description>
<category>Leadership</category>
</item>
<item>
<title>AI Exposes Leaders; The Cultivation Test</title>
<link>https://scott.scoble.me/blog/ai-exposes-leaders-cultivation-test</link>
<guid>https://scott.scoble.me/blog/ai-exposes-leaders-cultivation-test</guid>
<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
<description>AI doesn't just change work — it exposes what kind of leader you already were.</description>
<category>AI</category>
</item>
<item>
<title>Mentorship Isn't Latency; It's Leverage</title>
<link>https://scott.scoble.me/blog/mentorship-isnt-latency-its-leverage</link>
<guid>https://scott.scoble.me/blog/mentorship-isnt-latency-its-leverage</guid>
<pubDate>Thu, 07 May 2026 00:00:00 +0000</pubDate>
<description>The highest-ROI activity in your organization is the one you canceled first.</description>
<category>Mentorship</category>
</item>
<item>
<title>Three Signs Your Team Is Being Strip-Mined</title>
<link>https://scott.scoble.me/blog/strip-mining-signs</link>
<guid>https://scott.scoble.me/blog/strip-mining-signs</guid>
<pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate>
<description>The mindset shift that separates thriving teams from burned-out ones — cultivation over extraction.</description>
<category>Teams</category>
</item>
<item>
<title>Three Questions That Changed How I Mentor</title>
<link>https://scott.scoble.me/blog/three-questions-mentoring</link>
<guid>https://scott.scoble.me/blog/three-questions-mentoring</guid>
<pubDate>Tue, 05 May 2026 00:00:00 +0000</pubDate>
<description>The simple mentoring framework that actually gets used: three questions that unlock real growth.</description>
<category>Leadership</category>
</item>
<item>
<title>The Token Anxiety Trap; Why AI Agents Aren't Liberating Us (Yet)</title>
<link>https://scott.scoble.me/blog/token-anxiety</link>
<guid>https://scott.scoble.me/blog/token-anxiety</guid>
<pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
<description>Your agent swarm runs 24/7 and you're more anxious than ever. The agent revolution promised freedom — instead it gave us token anxiety.</description>
<category>AI</category>
</item>
<item>
<title>I'm Exhausted. Your Brain Is Reconfiguring, Not Breaking.</title>
<link>https://scott.scoble.me/blog/ai-brain-fry</link>
<guid>https://scott.scoble.me/blog/ai-brain-fry</guid>
<pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
<description>Your brain is reconfiguring from intonation to orchestration. That hurts. That doesn't mean it's broken. Discomfort ≠ damage.</description>
<category>AI</category>
</item>
<item>
<title>The Surveillance Dividend Is a Lie</title>
<link>https://scott.scoble.me/blog/surveillance-extraction</link>
<guid>https://scott.scoble.me/blog/surveillance-extraction</guid>
<pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
<description>Every company running AI adoption is making an implicit bargain: data for tools.</description>
<category>Leadership</category>
</item>
<item>
<title>80% of Your Team Is Disengaged. It's Not Their Fault.</title>
<link>https://scott.scoble.me/blog/gallup-disengagement</link>
<guid>https://scott.scoble.me/blog/gallup-disengagement</guid>
<pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
<description>Gallup says 80% of the global workforce is disengaged. The $100B+ engagement industry has failed for 20 years.</description>
<category>Leadership</category>
</item>
<item>
<title>The Developer Experience Shift; Why Tooling Alone Won't Save You</title>
<link>https://scott.scoble.me/blog/devex-shift</link>
<guid>https://scott.scoble.me/blog/devex-shift</guid>
<pubDate>Sun, 03 May 2026 00:00:00 +0000</pubDate>
<description>Companies will spend $60B+ on developer tools in 2026. But the real DevEx crisis isn't tooling — it's autonomy, mastery, and belonging.</description>
<category>Engineering</category>
</item>
<item>
<title>The Soil Beneath the Code</title>
<link>https://scott.scoble.me/blog/the-soil-beneath-the-code</link>
<guid>https://scott.scoble.me/blog/the-soil-beneath-the-code</guid>
<pubDate>Tue, 28 Apr 2026 00:00:00 +0000</pubDate>
<description>A three-layer framework for understanding what makes engineering organizations healthy — or not.</description>
<category>Engineering</category>
</item>
</channel>
</rss>

View file

@ -19,6 +19,19 @@ import BaseLayout from '../layouts/BaseLayout.astro';
<section class="posts">
<div class="posts-container">
<article class="post-card">
<a href="/blog/spec-first-audit-surface" class="post-link">
<div class="post-meta">
<span class="post-date">May 24, 2026</span>
<span class="post-tag">Engineering</span>
</div>
<h2>Spec-First Development Is the Only Audit Surface for AI-Generated Code</h2>
<p class="post-excerpt">
Every software project has specifications, and every specification eventually lies. The spec-code gap is a provenance problem — and Speckl closes it by making the spec compile into code, so the gap never opens.
</p>
</a>
</article>
<article class="post-card">
<a href="/blog/open-source-projects" class="post-link">
<div class="post-meta">

View file

@ -0,0 +1,227 @@
---
import BaseLayout from '../../layouts/BaseLayout.astro';
---
<BaseLayout
title="Your AI Has Amnesia: Why Memory Architecture Is the Hardest Problem in Agentic Systems"
description="The anterograde amnesia metaphor for AI memory architecture. Three-layer memory model for agentic systems from Scott Scoble's scobleclaw experience."
ogType="article"
canonicalUrl="/blog/ai-has-amnesia"
pageType="blog"
>
<article class="post">
<header class="post-header">
<div class="post-meta">
<span class="post-date">May 18, 2026</span>
<span class="post-tag">AI</span>
</div>
<h1>Your AI Has Amnesia: Why Memory Architecture Is the Hardest Problem in Agentic Systems</h1>
<p class="post-subtitle">
Anterograde amnesia is the perfect metaphor for how most AI systems "remember." Every session is a first date; every context window is a scrap of paper. Here's how to build memory that compounds.
</p>
</header>
<div class="post-content">
<p>Every conversation with most AI systems is a first date.</p>
<p>You explain your codebase. You define your conventions. You correct the same misunderstanding three times in a row. And when you come back tomorrow, it's 2004 again; Drew Barrymore wakes up with no memory of who you are.</p>
<p>That's anterograde amnesia. The brain can't form new long-term memories. Every interaction is fresh. Everything you've built together — the corrections, the preferences, the evolving understanding of your domain — evaporates when the session ends.</p>
<p>I built a talk around this metaphor: <em>50 First Dates with AI</em>. The response was immediate because the problem is universal. Everyone who's used an AI assistant for real work has felt the frustration. Everyone who's tried to build an agentic system has hit the wall.</p>
<p>The wall is memory architecture. And it's the hardest problem in agentic systems because it's not a single problem; it's three problems stacked on top of each other, each pretending to be the other.</p>
<h2>The Three-Layer Memory Model</h2>
<p>I've been running scobleclaw — my multi-agent system — long enough to know that memory isn't a feature you add later. It's the foundation everything else sits on. Get it wrong and your agents are expensive interns who need to be retrained every morning. Get it right and they compound.</p>
<p>Here's the model that emerged from real operation, not from a whitepaper:</p>
<h3>Layer 1: Compound Memory (The Journal)</h3>
<p>This is the raw log of what happened. Every interaction, every decision, every correction, every output. Unstructured, chronological, append-only.</p>
<p>The journal is where most systems start and where too many stop. They store chat history and call it memory. That's not memory; that's a transcript. Transcripts are useful but they don't <em>know</em> anything. They just record.</p>
<p>Compound memory becomes useful when it's searchable, when it's connected, when it starts to form patterns. The journal isn't the end state; it's the raw material.</p>
<p>In scobleclaw, every agent interaction writes to a daily note. Not a database table; a markdown file. Why markdown? Because it's human-readable, because it survives format changes, because in 2030 I can still open it and understand what happened. The journal is for me as much as for the agents.</p>
<p>The key discipline: write everything down, but don't expect the agents to read it raw. That's Layer 2's job.</p>
<h3>Layer 2: Semantic Recall (The Index)</h3>
<p>If the journal is a library, semantic recall is the card catalog. Not the books themselves; the <em>relationships</em> between ideas.</p>
<p>This is where embeddings and vector search come in. The journal gets chunked, embedded, and indexed so that when an agent asks "what have we said about mentoring frameworks?" it doesn't have to read six months of daily notes. It queries the index and gets the relevant passages.</p>
<p>But here's the trap: semantic recall without curation is just faster amnesia. You can retrieve more fragments, but you're still retrieving fragments. The index needs maintenance. It needs promotion (what matters enough to keep near the top). It needs decay (what's no longer relevant). It needs structure.</p>
<p>I run a nightly process — REM sleep, I call it — that scans the day's journal, identifies patterns, and promotes significant observations to long-term memory. The criteria aren't algorithmic perfection; they're signal-to-noise. What came up multiple times? What did the human correct? What decisions were made?</p>
<p>Without this curation step, the index bloats. You get 500 "relevant" results for every query and none of them matter. Semantic recall requires editorial judgment, and editorial judgment requires either a human or an agent trained by a human.</p>
<h3>Layer 3: Coach Evaluation (The Mirror)</h3>
<p>This is the layer almost nobody builds. It's also the one that makes the difference between a system that works and a system that learns.</p>
<p>Every agent in scobleclaw gets evaluated. Not by me directly — I don't have time to review every interaction — but by a coach agent that watches patterns over time. Did this agent complete what it said it would? Did it use the right tools? Did it match the human's voice when drafting content? Did it ask clarifying questions or just guess?</p>
<p>The coach writes evaluations back to the journal, which feeds the index, which influences future behavior. It's a feedback loop, but a slow one. The coach doesn't intervene in real time; it reflects after the fact. That's intentional. Real-time coaching is micromanagement. Post-hoc coaching is mentorship.</p>
<p>The metaphor here is a sports coach watching game film. Not yelling from the sidelines; reviewing what happened and identifying patterns the player can't see themselves. The agent gets better not because it's told what to do, but because it has access to an honest record of what it did.</p>
<h2>Why This Is Harder Than It Looks</h2>
<p>You'd think memory is a solved problem. We have databases, we have vector stores, we have logging systems. Why is this still the bottleneck?</p>
<p>Three reasons, each of which maps to the layers above:</p>
<p><strong>Compound memory fails when it's not human-legible.</strong> Most systems store agent interactions as structured logs or database rows. The human can't read them without a query. When the human can't read them, the human can't correct them. When the human can't correct them, the system learns the wrong lessons. Markdown daily notes are inefficient for machines; they're essential for humans.</p>
<p><strong>Semantic recall fails when it's not curated.</strong> Vector search is magical until it isn't. Without editorial judgment — what to promote, what to decay, what to connect — the index becomes a junk drawer. Every query returns 47 "relevant" fragments and the actual insight is fragment #38. Curation requires either human time or an agent trained to imitate human judgment. Both are expensive.</p>
<p><strong>Coach evaluation fails when there's no feedback loop.</strong> Evaluations that don't change behavior are performance reviews, not coaching. The coach has to write to the journal; the journal has to feed the index; the index has to influence future prompts. Any break in that chain and you have theater, not improvement.</p>
<h2>The 50 First Dates Problem</h2>
<p>Here's why the metaphor holds up. In the movie, Drew Barrymore's character can't form new memories. Her family adapts by leaving her notes, updating a whiteboard, re-explaining the same things every day. It's loving; it's also exhausting.</p>
<p>Most AI systems are like that family. They work around the amnesia instead of solving it. They stuff more context into the prompt. They maintain elaborate state machines. They build Rube Goldberg contraptions that <em>simulate</em> memory without actually having any.</p>
<p>The scobleclaw approach is different: accept that short-term memory (the context window) is tiny and expensive, so use it only for what's needed <em>right now</em>. Build compound memory for the record. Build semantic recall for retrieval. Build coach evaluation for improvement. Let each layer do what it's good at.</p>
<p>The result isn't perfect memory. It's <em>directional</em> memory. The system gets better at the things it does repeatedly. It recognizes patterns. It makes better guesses. It still makes mistakes, but the mistakes change. That's how you know it's learning.</p>
<h2>The Hardest Part</h2>
<p>The hardest part of memory architecture isn't technical. It's philosophical.</p>
<p>What do you choose to remember? What do you choose to forget? Who decides?</p>
<p>A system that remembers everything is as useless as a system that remembers nothing. The journal is comprehensive; the index is curated; the coach is selective. Each layer makes editorial decisions, and those decisions encode values.</p>
<p>I choose to remember corrections more than successes, because corrections contain more signal. I choose to forget ephemeral context (the weather today, the specific error message from last Tuesday) because it decays fast. I choose to promote patterns over events, because patterns generalize.</p>
<p>These aren't universal rules. They're my rules. Your system will need yours. The architecture is a framework for making those choices explicit, not for hiding them.</p>
<h2>Building for Compounding</h2>
<p>The goal isn't an AI that remembers everything. The goal is an AI where today's work makes tomorrow's work better.</p>
<p>That's compounding. And compounding requires memory that gets richer over time, not just bigger. Bigger is easy; richer is hard.</p>
<p>If you're building agentic systems, start here. Before you worry about tools, agents, workflows, or orchestration, ask: what does this system remember? How does it recall? How does it improve?</p>
<p>Get memory right and everything else gets easier. Get it wrong and you're dating Drew Barrymore forever.</p>
</div>
</article>
</BaseLayout>
<style>
.post {
padding: 12rem 2rem 6rem;
background: var(--color-cream);
}
.post-header {
max-width: 720px;
margin: 0 auto 3rem;
text-align: center;
}
.post-meta {
display: flex;
justify-content: center;
gap: 1rem;
margin-bottom: 1.5rem;
font-size: 0.875rem;
}
.post-date {
color: var(--color-text-muted);
}
.post-tag {
color: var(--color-amber);
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.05em;
}
.post-header h1 {
font-family: var(--font-heading);
font-size: clamp(2rem, 4vw, 3rem);
color: var(--color-brown-dark);
margin: 0 0 1rem;
line-height: 1.2;
}
.post-subtitle {
font-size: var(--size-lg);
color: var(--color-text-muted);
margin: 0;
line-height: 1.6;
}
.post-content {
max-width: 720px;
margin: 0 auto;
font-size: var(--size-md);
line-height: 1.8;
color: var(--color-text);
}
.post-content h2 {
font-family: var(--font-heading);
font-size: var(--size-2xl);
color: var(--color-brown-dark);
margin: 3rem 0 1rem;
}
.post-content h3 {
font-family: var(--font-heading);
font-size: var(--size-xl);
color: var(--color-brown-dark);
margin: 2.5rem 0 0.75rem;
}
.post-content p {
margin: 0 0 1.25rem;
}
.post-content a {
color: var(--color-green);
text-decoration: underline;
text-underline-offset: 2px;
}
.post-content a:hover {
color: var(--color-green-dark);
}
.post-content strong {
color: var(--color-brown-dark);
}
.post-content em {
color: var(--color-text-muted);
}
@media (max-width: 640px) {
.post {
padding: 6rem 1.25rem 4rem;
}
.post-header h1 {
font-size: 1.75rem;
}
.post-content {
font-size: var(--size-base);
}
}
</style>

View file

@ -0,0 +1,130 @@
---
import BaseLayout from '../../layouts/BaseLayout.astro';
---
<BaseLayout
title="Spec-First Development Is the Only Audit Surface for AI-Generated Code"
description="Why spec-first development is the only reliable audit surface for AI-generated code — and how Speckl closes the spec-code gap by construction."
ogType="article"
canonicalUrl="/blog/spec-first-audit-surface"
>
<article class="post">
<header class="post-header">
<div class="post-meta">
<span class="post-date">May 24, 2026</span>
<span class="post-tag">Engineering</span>
</div>
<h1>Spec-First Development Is the Only Audit Surface for AI-Generated Code</h1>
</header>
<div class="post-content">
<p class="lead-question">Every software project has specifications. And every specification eventually lies.</p>
<p>Requirements documents. Architecture decision records. API contracts. RFCs. These artifacts describe intent — what the system should do, how it should behave, what invariants should hold. And three months after you write them, they're wrong.</p>
<p>Not because the author was incompetent. Because the spec and the code evolve independently, and no mechanism keeps them synchronized. The spec becomes archaeology: interesting for historical context, irrelevant for current behavior.</p>
<p>This is the <strong>spec-code gap</strong>. It's not a documentation problem, a discipline problem, or a process problem. <strong>It's a provenance problem.</strong> And it's about to get much worse.</p>
<h2>The AI Accelerant</h2>
<p>When a human writes code from a spec, there's at least a reasoning chain — however undocumented. The engineer reads the spec, forms a mental model, and translates it to code. When an LLM writes code from a prompt, that chain disappears. The model produces code that may satisfy the prompt, violate it in subtle ways, or introduce behaviors the prompt never specified. The reasoning is opaque. The provenance is gone.</p>
<p>This isn't theoretical. NIST SA-11 — the control for "human review of automated outputs" — is already being mapped to AI-generated code in compliance frameworks. SOC 2 auditors are asking: "Who reviewed this code? What spec was it written against?"</p>
<blockquote>
<p>If your answer is "the AI wrote it from a Slack message," you have a compliance problem.</p>
</blockquote>
<h2>The Formal Methods Gap</h2>
<p>There <em>is</em> a solution. Formal specification languages — TLA+, Alloy, Isabelle/HOL — express intent unambiguously and can verify properties through model checking. Amazon, Microsoft, and MongoDB have used TLA+ to find critical design bugs.</p>
<p>But formal methods create their own gap: <strong>the verified spec and the running system are separate artifacts.</strong> After model-checking a TLA+ specification, a human must manually translate it into a programming language. That translation is:</p>
<ul>
<li><strong>Lossy</strong> — the spec's invariants live in the TLA+ tool, not in the running code</li>
<li><strong>Unverifiable</strong> — no tool checks whether the implementation matches the verified spec</li>
<li><strong>Drift-prone</strong> — the implementation evolves, the spec doesn't, and the gap widens</li>
</ul>
<p>You've verified the design. You haven't verified the implementation. The spec-code gap is exactly as wide as it was before.</p>
<h2>Provenance as the Missing Piece</h2>
<p>Here's the shift: <strong>we don't need the spec and the code to match. We need the code to come FROM the spec.</strong></p>
<p>Provenance — the chain of derivation from intent to artifact — is what makes specifications trustworthy. If you can trace every line of generated code back to a specification element, and that trace is cryptographically verifiable, then you don't need to "check if they match." The provenance IS the verification.</p>
<p>This is how <strong><a href="https://speckl.scoble.me">Speckl</a></strong> approaches the problem. Instead of writing a spec and then writing code that implements it, you write the spec in SpeckDL — and the compiler produces the code, along with a provenance graph that traces every output back to its specification origin.</p>
<p>Here's a ToggleSwitch in SpeckDL:</p>
<pre><code>spec ToggleSwitch
type State = enum &#123; on, off &#125;
state active: State = off
init
active := off
action flip
require active == off
active := on
invariant Mutex
active == on implies prev(active) == off</code></pre>
<p>From this, <code>speckl compile</code> produces:</p>
<ul>
<li><strong>A TypeScript class</strong> with typed methods, runtime guard checks, and state accessors</li>
<li><strong>A WebAssembly module</strong> with verified state transitions</li>
<li><strong>A PROV-O provenance graph</strong> showing that every method was derived from its spec element</li>
<li><strong>A CycloneDX SBOM</strong> declaring the generated module with its hash and provenance chain</li>
<li><strong>An SPDX document</strong> for license compliance</li>
</ul>
<p>The spec is ~14 lines. The generated artifacts are hundreds of lines of production code. The provenance chain connects every line back to those lines of intent.</p>
<h2>Why This Matters Now</h2>
<p>Three trends are converging:</p>
<h3>1. AI-generated code is becoming the norm</h3>
<p>Copilot writes 46% of code on enabled repos. Cursor, Claude, and Codex produce entire features from natural language prompts. The volume of code with no human reasoning chain is exploding.</p>
<h3>2. Compliance is getting serious about provenance</h3>
<p>Executive Order 14028 mandates SBOMs for federal software. The EU Cyber Resilience Act requires provenance for software products. NIST SP 800-218 calls for "provenance for all software components."</p>
<h3>3. Spec-to-code is becoming technically possible</h3>
<p>WebAssembly provides a universal compilation target. TypeScript provides a widely-adopted typed language. PROV-O provides a W3C standard for provenance. The pieces exist.</p>
<h2>The Alternative Is Drift</h2>
<p>Without provenance, every specification is on a timer. Day one, it reflects reality. Day ninety, it's a historical document. Day three hundred and sixty-five, it's fiction.</p>
<p>The spec-code gap doesn't get fixed by better documentation practices, more disciplined engineers, or stricter code review. It gets fixed by eliminating the gap — by making the spec the single source of truth, and generating everything else from it.</p>
<p>That's what a provenance-first approach to specifications enables. It's not about writing better specs. It's about making specs executable, verifiable, and auditable — so the gap never opens in the first place.</p>
<hr />
<p><em>This post is about <strong><a href="https://speckl.scoble.me">Speckl</a></strong>, a specification language that compiles to runnable software with embedded provenance. MIT licensed, open source. Read the <a href="https://os.scoble.me/forgejo/sscoble/speckl/src/branch/main/docs/whitepaper-v2.md">full whitepaper</a>, explore <a href="https://os.scoble.me/forgejo/sscoble/speckl/src/branch/main/docs/speckl-by-example.md">Speckl by Example</a>, or check out the <a href="https://os.scoble.me/forgejo/sscoble/speckl">compiler source</a>.</em></p>
</div>
</article>
</BaseLayout>
<style>
/* Inherits from global blog styles */
.lead-question {
font-size: 1.25rem;
font-weight: 600;
color: var(--color-brown-dark);
margin-bottom: 1.5rem;
line-height: 1.5;
}
</style>

160
src/pages/rss.xml.ts Normal file
View file

@ -0,0 +1,160 @@
import type { APIRoute } from 'astro';
interface PostEntry {
title: string;
description: string;
url: string;
date: string; // ISO date string
tags: string[];
}
// Blog posts data — matches src/pages/blog/*.astro
// When adding a new post, add an entry here
const posts: PostEntry[] = [
{
title: "Your AI Has Amnesia: Why Memory Architecture Is the Hardest Problem in Agentic Systems",
description: "The anterograde amnesia metaphor for AI memory architecture. Three-layer memory model for agentic systems from Scott Scoble's scobleclaw experience.",
url: "/blog/ai-has-amnesia",
date: "2026-05-18",
tags: ["AI"],
},
{
title: "AI Exposes Leaders; The Cultivation Test",
description: "AI doesn't just change work — it exposes what kind of leader you already were. The cultivation test: give your team AI tools and watch what happens.",
url: "/blog/ai-exposes-leaders-cultivation-test",
date: "2026-05-07",
tags: ["Leadership", "AI"],
},
{
title: "Mentorship Isn't Latency, It's Leverage",
description: "Why mentorship is the highest-leverage investment a leader can make — and why most leaders treat it as a cost instead.",
url: "/blog/mentorship-isnt-latency-its-leverage",
date: "2026-05-06",
tags: ["Leadership"],
},
{
title: "Strip-Mining Is Happening Right Now",
description: "The extraction economy is not a future risk. It's happening right now in your organization. Here's how to recognize it and what to do about it.",
url: "/blog/strip-mining-happening-right-now",
date: "2026-05-05",
tags: ["Leadership"],
},
{
title: "My Open Source Projects: Speckl, ScobleClaw, and Beyond the Prompt",
description: "A roundup of Scott Scoble's open-source projects — Speckl (spec compiler with provenance), ScobleClaw (agentic engineering framework), and Beyond the Prompt (workshop on building with AI agents).",
url: "/blog/open-source-projects",
date: "2026-05-23",
tags: ["Open Source"],
},
{
title: "We're Going to Formally Verify SQLite",
description: "SQLite runs on every smartphone, every browser, every embedded system. Its core state machines have never been formally verified. Following the Kafka proof, we're tackling the most deployed database in history with SpeckDL and Z3 bounded model checking.",
url: "/blog/prove-sqlite",
date: "2026-05-23",
tags: ["Engineering"],
},
{
title: "You're Already in the Agentic Wars",
description: "Meta has Hatch. Google has Remy. Everyone is building agents. Whose capability compounds?",
url: "/blog/agentic-wars",
date: "2026-05-08",
tags: ["AI"],
},
{
title: "What Does AI Brain Fry Really Mean?",
description: "Gallup says 80% of the workforce is disengaged. The heaviest AI users are burning out fastest. The fix isn't training — it's structural.",
url: "/blog/ai-brain-fry",
date: "2026-05-03",
tags: ["AI"],
},
{
title: "The Surveillance Dividend Is a Lie",
description: "Every company running AI adoption is making an implicit bargain: data for tools. The companies extracting the most surveillance are hemorrhaging their best talent.",
url: "/blog/surveillance-extraction",
date: "2026-05-03",
tags: ["Leadership"],
},
{
title: "80% of Your Team Is Disengaged. It's Not Their Fault.",
description: "Gallup says 80% of the global workforce is disengaged. The $100B+ engagement industry has failed for 20 years. The fix isn't perks or surveys; it's structural.",
url: "/blog/gallup-disengagement",
date: "2026-05-03",
tags: ["Leadership"],
},
{
title: "The Developer Experience Shift: Why Tooling Alone Won't Save You",
description: "Companies will spend $60B+ on developer tools in 2026. But the real DevEx crisis isn't tooling — it's autonomy, mastery, and belonging. As code production becomes commoditized, the human dimensions of engineering become the only competitive advantage that matters.",
url: "/blog/devex-shift",
date: "2026-05-03",
tags: ["Engineering"],
},
{
title: "The Token Anxiety Trap; Why AI Agents Aren't Liberating Us (Yet)",
description: "Your agent swarm runs 24/7 and you're more anxious than ever. Stanford's 2026 AI Index shows a 20% drop in junior dev employment since 2024. The agent revolution promised freedom — instead it gave us token anxiety and a new kind of burnout.",
url: "/blog/token-anxiety",
date: "2026-05-04",
tags: ["AI"],
},
{
title: "Three Questions That Changed How I Mentor",
description: "The simple mentoring framework that actually gets used — three questions that unlock real growth.",
url: "/blog/three-questions-mentoring",
date: "2026-04-28",
tags: ["Leadership"],
},
{
title: "Three Signs Your Team Is Being Strip-Mined",
description: "The mindset shift that separates thriving teams from burned-out ones — cultivation over extraction.",
url: "/blog/strip-mining-signs",
date: "2026-04-28",
tags: ["Teams"],
},
{
title: "The Soil Beneath The Code",
description: "A three-layer framework for understanding what makes engineering organizations healthy — or not.",
url: "/blog/the-soil-beneath-the-code",
date: "2026-04-28",
tags: ["Engineering"],
},
];
const siteUrl = 'https://scott.scoble.me';
const now = new Date().toUTCString();
// Build RSS XML
const items = posts
.sort((a, b) => new Date(b.date).getTime() - new Date(a.date).getTime())
.map(
(post) => `
<item>
<title><![CDATA[${post.title}]]></title>
<description><![CDATA[${post.description}]]></description>
<link>${siteUrl}${post.url}</link>
<guid isPermaLink="true">${siteUrl}${post.url}</guid>
<pubDate>${new Date(post.date).toUTCString()}</pubDate>
${post.tags.map((tag) => ` <category>${tag}</category>`).join('\n')}
</item>`
)
.join('');
const rssXml = `<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
<channel>
<title>Scott Scoble Blog</title>
<description>Articles on AI, leadership, cultivation, and the human side of technology.</description>
<link>${siteUrl}</link>
<language>en-us</language>
<lastBuildDate>${now}</lastBuildDate>
<atom:link href="${siteUrl}/rss.xml" rel="self" type="application/rss+xml"/>
${items}
</channel>
</rss>`;
export const GET: APIRoute = () => {
return new Response(rssXml, {
headers: {
'Content-Type': 'application/rss+xml; charset=utf-8',
'Cache-Control': 'public, max-age=3600',
},
});
};