<?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: Alexander Velikiy</title>
    <description>The latest articles on Forem by Alexander Velikiy (@great_cto).</description>
    <link>https://forem.com/great_cto</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%2F2992733%2F562b24e1-823c-4331-b706-2e6cbdf9cb64.jpg</url>
      <title>Forem: Alexander Velikiy</title>
      <link>https://forem.com/great_cto</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/great_cto"/>
    <language>en</language>
    <item>
      <title>Everyone is squeezing context. We stopped putting everything in one context.</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sat, 23 May 2026 06:06:06 +0000</pubDate>
      <link>https://forem.com/great_cto/everyone-is-squeezing-context-we-stopped-putting-everything-in-one-context-4gp5</link>
      <guid>https://forem.com/great_cto/everyone-is-squeezing-context-we-stopped-putting-everything-in-one-context-4gp5</guid>
      <description>&lt;p&gt;The standard advice for reducing LLM costs: truncate your prompts, use a cheaper model, compress your system prompt, enable caching, add &lt;code&gt;Be concise.&lt;/code&gt; to every instruction and hope for the best.&lt;/p&gt;

&lt;p&gt;All valid. All treating the symptom.&lt;/p&gt;

&lt;p&gt;We did something different.&lt;/p&gt;




&lt;h2&gt;
  
  
  The real problem isn't prompt size. It's context architecture.
&lt;/h2&gt;

&lt;p&gt;When great_cto runs a feature pipeline — architect, PM, senior-dev, QA, security officer — each agent starts by reading the same stack of documents:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;ARCH-*.md&lt;/code&gt; — full architecture decisions, 3–8k tokens each&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;PLAN-*.md&lt;/code&gt; — implementation plans, 4–10k tokens&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;decisions.md&lt;/code&gt; — every architectural decision made since the project started&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;lessons.md&lt;/code&gt; — every lesson learned, including that one time someone forgot to add an index&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Six agents. Each reads all of it. Most of it irrelevant to the task at hand.&lt;/p&gt;

&lt;p&gt;A senior-dev implementing a Stripe webhook doesn't need the 200-line deep-dive into the auth system. They need two sentences: &lt;em&gt;"We use Stripe. Card data never touches our infra."&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The information was right. The &lt;strong&gt;delivery unit&lt;/strong&gt; was wrong. We were running a library where everyone gets every book, every time.&lt;/p&gt;




&lt;h2&gt;
  
  
  Phase 1: Stop sending full documents. Send summaries.
&lt;/h2&gt;

&lt;p&gt;Every artifact in great_cto now has a paired &lt;code&gt;.summary.md&lt;/code&gt; — auto-generated, ≤250 tokens, structured for the consuming agent:&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="gh"&gt;# ARCH — Multi-tenant auth system · summary&lt;/span&gt;
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Decision:**&lt;/span&gt; SAML over OIDC for enterprise; JWT internally
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Stack:**&lt;/span&gt; Node 20, Passport.js, PostgreSQL row-level security
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Risks:**&lt;/span&gt; SAML metadata rotation, session fixation on tenant switch
&lt;span class="p"&gt;-&lt;/span&gt; &lt;span class="gs"&gt;**Full doc:**&lt;/span&gt; docs/architecture/ARCH-auth.md
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agents read the summary first. If they need depth — the path to the full doc is right there. In practice, 80% of reads stop at the summary. The other 20% at least know exactly what they're looking for.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The numbers:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;v2.19.0&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;13 artifacts, per agent read&lt;/td&gt;
&lt;td&gt;21,459 tokens&lt;/td&gt;
&lt;td&gt;2,216 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reduction&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;–89.7%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The summary generates automatically via a &lt;code&gt;PostToolUse&lt;/code&gt; hook the moment any agent writes an artifact. Anthropic Haiku if you have an API key (~$0.0005/call). OpenRouter Kimi K2 as fallback. Deterministic keyword heuristic if neither — zero cost, works offline, mildly embarrassed about the quality but gets the job done.&lt;/p&gt;

&lt;p&gt;No config. No manual steps. Write artifact, get summary.&lt;/p&gt;




&lt;h2&gt;
  
  
  Phase 2: Stop injecting the entire memory. Filter it to the task.
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;decisions.md&lt;/code&gt; is an append-only log. It grows. A typical project after three months: 40–80 entries — database choices, API decisions, security tradeoffs, that one auth approach you tried and abandoned at 2am.&lt;/p&gt;

&lt;p&gt;Before v2.19.0, the architect agent received the full file every time. 3–5k tokens, of which maybe 200 were actually relevant to the task. The model read all of it, politely, and quietly ignored most of it.&lt;/p&gt;

&lt;p&gt;Now: one call to &lt;code&gt;scripts/memory-filter.mjs "add Stripe webhook integration" decisions.md --k=5&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The filter scores each entry against the task title. For "add Stripe webhook integration" — you get the PCI decision, the webhook signature lesson, the relevant security pattern. Not the database choice from six months ago that has nothing to do with anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The numbers:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;v2.19.0&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;decisions.md inject per agent pair&lt;/td&gt;
&lt;td&gt;946 tokens&lt;/td&gt;
&lt;td&gt;544 tokens&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reduction&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;–42.5%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Latency: ~50ms heuristic, ~200ms Haiku. Cost: &amp;lt;$0.0001 per call. Opt-out: &lt;code&gt;GREAT_CTO_DISABLE_MEMORY_FILTER=1&lt;/code&gt; (for when you miss the old noise).&lt;/p&gt;




&lt;h2&gt;
  
  
  The combined pipeline: before vs. after
&lt;/h2&gt;

&lt;p&gt;Six agents per feature. Each reads artifacts and memory.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Before&lt;/th&gt;
&lt;th&gt;v2.19.0&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Total tokens per feature&lt;/td&gt;
&lt;td&gt;134,430&lt;/td&gt;
&lt;td&gt;16,560&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Reduction&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;–87.7%&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Cost saved (Sonnet $3/1M)&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$0.35 per feature&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is with a small project — 13 artifacts, 7 decisions. The savings compound with scale: at 50 artifacts and 50 decisions (a project six months in), the legacy number climbs past 600k tokens per feature run. The filtered number stays roughly flat.&lt;/p&gt;

&lt;p&gt;That's the interesting property of this architecture: &lt;strong&gt;the noise grows with the project, the signal doesn't.&lt;/strong&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  What this isn't
&lt;/h2&gt;

&lt;p&gt;This is not prompt compression. We're not removing information — we're delivering it at the right granularity, to the right agent, at the right moment.&lt;/p&gt;

&lt;p&gt;The full docs are still there. The full &lt;code&gt;decisions.md&lt;/code&gt; is still there. Any agent that needs depth can read it — the summary tells them exactly where to look. The filter acknowledges it might miss something ("if you suspect a relevant lesson is missing, read the full file directly"). It's a hint, not a wall.&lt;/p&gt;

&lt;p&gt;We're not betting on the model being smart enough to ignore irrelevant noise. We're not hoping a &lt;code&gt;Be concise.&lt;/code&gt; instruction somewhere will solve a structural problem. We're betting on &lt;strong&gt;information architecture&lt;/strong&gt; — the same principle that makes an indexed database faster than a full table scan.&lt;/p&gt;

&lt;p&gt;The index doesn't know less than the table. It knows where to look.&lt;/p&gt;




&lt;h2&gt;
  
  
  Getting it
&lt;/h2&gt;

&lt;p&gt;Everything shipped in &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;v2.19.0&lt;/a&gt;:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;scripts/generate-summary.mjs&lt;/code&gt; — &lt;code&gt;--all&lt;/code&gt;, &lt;code&gt;--check&lt;/code&gt;, &lt;code&gt;--force&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;scripts/memory-filter.mjs&lt;/code&gt; — &lt;code&gt;--k=N&lt;/code&gt;, &lt;code&gt;--heuristic&lt;/code&gt;, &lt;code&gt;--stats&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;agents/_shared/artifact-summary-contract.md&lt;/code&gt; — the producer/consumer contract&lt;/li&gt;
&lt;li&gt;31 tests, all green
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx great-cto upgrade
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Summaries generate on first &lt;code&gt;--all&lt;/code&gt; run, then stay fresh automatically. Memory filter activates in architect and senior-dev agents — no config needed.&lt;/p&gt;




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

&lt;p&gt;Phase 3: session-scoped read cache. When five agents in one pipeline all read &lt;code&gt;PROJECT.md&lt;/code&gt;, only the first actually reads the file. The rest get a cache stub with a hash. Target: additional –15% on multi-agent runs.&lt;/p&gt;

&lt;p&gt;Phase 4: system prompt audit across all 30+ agent files. Removing filler. Enforcing token budgets. Finding the seven places we wrote "carefully" when the model was going to be careful anyway.&lt;/p&gt;

&lt;p&gt;The full plan is public: &lt;a href="https://github.com/avelikiy/great_cto/blob/main/docs/plans/PLAN-token-economy-2026-q2.md" rel="noopener noreferrer"&gt;&lt;code&gt;docs/plans/PLAN-token-economy-2026-q2.md&lt;/code&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>architecture</category>
      <category>opensource</category>
    </item>
    <item>
      <title>great_cto v2.17 - no more tambourine dance</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Fri, 22 May 2026 15:03:35 +0000</pubDate>
      <link>https://forem.com/great_cto/greatcto-v217-no-more-tambourine-dance-1p5p</link>
      <guid>https://forem.com/great_cto/greatcto-v217-no-more-tambourine-dance-1p5p</guid>
      <description>&lt;p&gt;If you've ever spent 20 minutes setting up Claude Code plugins before you could even start working - this update is for you.&lt;/p&gt;




&lt;h2&gt;
  
  
  One install, everything works.
&lt;/h2&gt;

&lt;p&gt;Previously: install great_cto, then figure out that Superpowers and Beads are also needed, find the repos, clone them, enable them in settings, restart. Classic.&lt;/p&gt;

&lt;p&gt;Now - one command:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx great-cto &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Done. Superpowers and Beads install automatically as companion plugins. They land in &lt;code&gt;~/.claude/plugins/cache/local/&lt;/code&gt;, get enabled in &lt;code&gt;settings.json&lt;/code&gt;, and are ready to work. If git is missing - great_cto gives a friendly hint instead of silently failing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Jurisdiction-aware agents.
&lt;/h2&gt;

&lt;p&gt;The new jurisdictions module detects the context of your project - EU, US, Canada, UK, Australia, and others - and automatically activates the right regulatory reviewer agents.&lt;/p&gt;

&lt;p&gt;Working on a fintech product for European users? The EU reviewer turns on automatically. Building for the Canadian market? PIPEDA gets covered. No manual configuration, no trying to remember what applies where.&lt;/p&gt;

&lt;p&gt;Eight jurisdictions are currently supported, and the list keeps growing.&lt;/p&gt;




&lt;h2&gt;
  
  
  Critics before the plan.
&lt;/h2&gt;

&lt;p&gt;The most expensive bugs aren't in the code - they're in the decisions made before coding starts. Three new critic agents now run at the earliest stages of the pipeline, before a single line is written.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Architecture critic&lt;/strong&gt; catches structural problems that make future work impossible. Coupling that rules out multi-tenancy. An "obvious" O(n²) loop that works fine in dev and falls apart at scale. These aren't bugs - they're constraints that quietly close off entire solution spaces.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Spec critic&lt;/strong&gt; catches "we solved the wrong problem" - the worst class of bug, because there's no way to unit-test for it. By the time the code works correctly, it may be doing entirely the wrong thing.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Schema critic&lt;/strong&gt; catches the migration that will deadlock a 50M-row table 10 minutes after deploy. A NOT NULL column without a default. An index added without CONCURRENTLY. The kind of change that looks clean in a code review and becomes an incident.&lt;/p&gt;

&lt;p&gt;Previously, critics only appeared starting from Plan stage. Now they cover the three positions where a mistake is most expensive.&lt;/p&gt;




&lt;h2&gt;
  
  
  llm-leash UI: 16 new features.
&lt;/h2&gt;

&lt;p&gt;llm-leash is the great_cto admin board - a local web UI that shows what your AI agents are doing, what they've spent, what passed review, and what needs your attention. Think of it as a control panel for the agent pipeline.&lt;/p&gt;

&lt;p&gt;This release adds 16 new features to the board. The most useful ones:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Cmd-K&lt;/strong&gt; - global command palette for navigation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Issues subtab&lt;/strong&gt; - all security and compliance findings in one place.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session timeline&lt;/strong&gt; - visual history of what happened and when.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Topology graph&lt;/strong&gt; - shows agent dependencies. Useful when you have 5+ parallel agents running.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HITL diff&lt;/strong&gt; - human-in-the-loop review of agent changes before they're applied.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;OPA config&lt;/strong&gt; - Open Policy Agent integration for compliance rules.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;SOC2 export&lt;/strong&gt; - one-click audit trail for compliance officers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Rule comparison&lt;/strong&gt; - compare policy versions side by side.&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Companion plugins out of the box.
&lt;/h2&gt;

&lt;p&gt;A bit more detail on how the Superpowers + Beads bundle works, since the architecture is non-obvious.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Superpowers&lt;/strong&gt; - a methodology plugin. It gives Claude Code skills: &lt;code&gt;/brainstorm&lt;/code&gt;, &lt;code&gt;/write-plan&lt;/code&gt;, &lt;code&gt;/execute-plan&lt;/code&gt;, code review workflow, TDD cycle, parallel agent execution. Without it, Claude acts on vibes. With it - on a structured plan.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Beads&lt;/strong&gt; - a git-native task tracker. Tasks live as commits, survive session restarts, have dependencies and blockers. Claude creates and closes them autonomously as it works.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;great_cto&lt;/strong&gt; - the orchestration layer. It routes requests to the right agents, enforces reviewers based on archetype and jurisdiction, manages the agent pipeline.&lt;/p&gt;

&lt;p&gt;Together: you describe what needs to be done, great_cto breaks it into a plan, Beads tracks it, Superpowers enforces methodology, the right reviewer agents plug in automatically.&lt;/p&gt;




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



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx great-cto &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;npm: &lt;a href="https://www.npmjs.com/package/great-cto" rel="noopener noreferrer"&gt;https://www.npmjs.com/package/great-cto&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;GitHub: &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;https://github.com/avelikiy/great_cto&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Feedback and PRs welcome.&lt;/p&gt;

</description>
      <category>claudeai</category>
      <category>devtools</category>
      <category>ai</category>
      <category>typescript</category>
    </item>
    <item>
      <title>AI Agents Work While You Sleep — Now They Can Wake You Up</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Mon, 18 May 2026 08:22:47 +0000</pubDate>
      <link>https://forem.com/great_cto/ai-agents-work-while-you-sleep-now-they-can-wake-you-up-5ea2</link>
      <guid>https://forem.com/great_cto/ai-agents-work-while-you-sleep-now-they-can-wake-you-up-5ea2</guid>
      <description>&lt;p&gt;Let me describe a Tuesday evening.&lt;/p&gt;

&lt;p&gt;I fire off &lt;code&gt;/start "refactor billing module"&lt;/code&gt;, the pipeline kicks in, six AI agents start doing their thing, and I think: great, I've got an hour. I'll cook pasta.&lt;/p&gt;

&lt;p&gt;I cook pasta. I eat pasta. I do the dishes. I put on an episode of something. I come back.&lt;/p&gt;

&lt;p&gt;The pipeline has been &lt;strong&gt;waiting for my approval for 54 minutes&lt;/strong&gt;. The senior-dev agent is sitting there, doing absolutely nothing, blocked on a &lt;code&gt;gate:plan&lt;/code&gt; that needed one click from me. Fifty-four minutes of human absence. Zero pasta to show for it.&lt;/p&gt;

&lt;p&gt;This is the core tension of running an AI pipeline: the whole point is that it works &lt;em&gt;while you're not watching&lt;/em&gt;. But the moment it needs you, it needs you immediately — and it has no way to tell you that.&lt;/p&gt;

&lt;p&gt;Until now.&lt;/p&gt;




&lt;h2&gt;
  
  
  What we added
&lt;/h2&gt;

&lt;p&gt;Two things, both live in the board's &lt;strong&gt;Notifications&lt;/strong&gt; settings:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Email alerts&lt;/strong&gt; — you enter your email, click a verification link, done. From that point on, five specific events send you an email:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A P0 incident opens (the pipeline found a production fire)&lt;/li&gt;
&lt;li&gt;A gate has been waiting for your approval for more than 30 minutes&lt;/li&gt;
&lt;li&gt;A gate is actively blocking the pipeline right now&lt;/li&gt;
&lt;li&gt;Your monthly AI spend crosses the limit you set&lt;/li&gt;
&lt;li&gt;Monday morning weekly digest — what got done, what it cost, how many gates passed&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Browser push notifications&lt;/strong&gt; — desktop notifications, the same kind you get from Slack or email. You enable them once in the board settings, the browser asks for permission, and that's it. No app to install. No Firebase. No account anywhere.&lt;/p&gt;




&lt;h2&gt;
  
  
  Why exactly these five triggers
&lt;/h2&gt;

&lt;p&gt;The first version of this feature had fifteen triggers. It was immediately annoying. Every time an agent sneezed, my phone buzzed.&lt;/p&gt;

&lt;p&gt;The honest answer to "what do I actually need to know about right now" is surprisingly short:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Something broke.&lt;/strong&gt; Not "an agent is running" or "a review started" — the actual situation where production is on fire and the pipeline found it before I did.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm blocking progress.&lt;/strong&gt; The pipeline stopped and is waiting for me. The longer I wait, the more time I've wasted running all those agents. If it's been 30 minutes, I definitely didn't see the gate notification in the terminal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;I'm about to overspend.&lt;/strong&gt; LLM costs are real. A runaway pipeline on a big refactor can quietly rack up $20–30 if nobody's watching. A cost alert at $15 is much better than discovering $40 on the invoice.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Weekly summary.&lt;/strong&gt; Not urgent, but useful. Monday morning coffee + what your AI team accomplished this week = a surprisingly good way to start the day.&lt;/p&gt;

&lt;p&gt;That's the whole list. No alerts for "agent started", "agent completed", "reviewer disagreed with another reviewer", or any of the other events that feel important but mostly produce noise.&lt;/p&gt;




&lt;h2&gt;
  
  
  The email setup
&lt;/h2&gt;

&lt;p&gt;Open the board → Settings → Notifications. Enter your email. You get one verification email — click the link, and you're verified forever. No repeated sign-ins, no token rotation, no dashboard at some third-party service.&lt;/p&gt;

&lt;p&gt;Under the hood the board sends emails through a relay we run at greatcto.systems. We're using Resend on the free tier (100 emails/day), which is more than enough for a solo developer who isn't actively burning the place down.&lt;/p&gt;

&lt;p&gt;Why a relay and not direct SMTP? Because storing an SMTP password inside a local tool that lives on your laptop is a disaster waiting to happen. The relay holds the credentials; your board just sends an HTTPS request. If the relay is down, you miss a notification. That's fine. You're not building a hospital.&lt;/p&gt;




&lt;h2&gt;
  
  
  The push notifications
&lt;/h2&gt;

&lt;p&gt;This one was more fun to build.&lt;/p&gt;

&lt;p&gt;Browser push notifications sound simple — they're everywhere, every website pesters you with them — but implementing them correctly from scratch is genuinely involved. There's a spec called VAPID that requires signing cryptographic tokens with elliptic curve keys, and basically every tutorial says "just use the &lt;code&gt;web-push&lt;/code&gt; npm package."&lt;/p&gt;

&lt;p&gt;We couldn't. The board server is intentionally zero-dependency — no npm packages, no node_modules, nothing. It's a single file that you can read start to finish in an afternoon. Adding a library for notifications would mean adding a library for notifications &lt;em&gt;and everything that library depends on&lt;/em&gt;, which is how you end up with 47 packages installed to send one HTTP request.&lt;/p&gt;

&lt;p&gt;So we implemented it ourselves using only what Node.js ships with.&lt;/p&gt;

&lt;p&gt;The fun gotcha: somewhere deep in the VAPID spec, the signature format that Node produces natively is &lt;em&gt;not&lt;/em&gt; the format that browsers expect. One is DER-encoded (an old ASN.1 format from the 90s), the other is just raw bytes. Our first test push hit the browser's push service and got a 401 back. Fifteen minutes of reading specs later, we found the conversion, fixed it, and every subsequent push worked perfectly.&lt;/p&gt;

&lt;p&gt;The end result: you toggle the switch in the board, your browser asks "Allow notifications?", you click Allow, and from that point on your desktop shows a native notification whenever any of the five triggers fire. Same notification you'd get from a Slack message. No third-party service involved.&lt;/p&gt;




&lt;h2&gt;
  
  
  The notification drawer
&lt;/h2&gt;

&lt;p&gt;Push and email are for when you're away from the keyboard. The &lt;strong&gt;in-app drawer&lt;/strong&gt; is for when you're at the keyboard but not watching the terminal.&lt;/p&gt;

&lt;p&gt;Click the bell icon in the top nav. A panel slides out with the last 20 notifications — what fired, when, and whether you've seen it. Unread count shows as a badge on the bell. "Mark all read" lives right there.&lt;/p&gt;

&lt;p&gt;The history persists across restarts. Close the board, reopen it tomorrow morning, your Monday digest is still there.&lt;/p&gt;




&lt;h2&gt;
  
  
  How to try it
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx great-cto init
npx great-cto board
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Go to &lt;strong&gt;Settings → Notifications&lt;/strong&gt;. Add an email or enable push (or both). Then just work normally. If a gate waits too long, you'll hear about it.&lt;/p&gt;

&lt;p&gt;The whole thing is open source: &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;github.com/avelikiy/great_cto&lt;/a&gt; (MIT, free, you pay your own LLM provider).&lt;/p&gt;




&lt;p&gt;The pasta incident has not repeated since.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>devtools</category>
      <category>webpush</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Real cost breakdown: 10 packs, $0.60 LLM bill, $42K saved per regulated feature</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:29:04 +0000</pubDate>
      <link>https://forem.com/great_cto/real-cost-breakdown-10-packs-060-llm-bill-42k-saved-per-regulated-feature-10ol</link>
      <guid>https://forem.com/great_cto/real-cost-breakdown-10-packs-060-llm-bill-42k-saved-per-regulated-feature-10ol</guid>
      <description>&lt;p&gt;This is the numbers post. If you read &lt;a href="https://dev.to/blog/ten-compliance-packs-for-ten-regulated-industries"&gt;the ten-packs deep-dive&lt;/a&gt; and walked away wanting the spreadsheet, here it is.&lt;/p&gt;

&lt;p&gt;All numbers below are from real client engagements (anonymized aggregates) plus telemetry from the GreatCTO install base. Not projections. Not vendor-pitch math.&lt;/p&gt;

&lt;h2&gt;
  
  
  Per-feature: the $42K → $0.60 + 50 hours of human review
&lt;/h2&gt;

&lt;p&gt;A single regulated feature in a single industry. Pre-pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Identify which regs apply          ~8h    × $200      = $1,600
Read primary regulation text      ~14h    × $200      = $2,800
Map regulation → stack            ~20h    × $250      = $5,000
Draft threat model                ~32h    × $250      = $8,000
Consent flow + UX                 ~20h    × $180      = $3,600
Implementation                    ~40h    × $180      = $7,200
Internal legal review              ~8h    × $400      = $3,200
External auditor pre-meeting      ~10h    × $350      = $3,500
Revisions                         ~16h    × mixed     = $3,500
Final signoff                      ~4h    × $400      = $1,600
                                  ─────                ─────
                                  ~172h               ~$40K
                                                      (rounded $42K with overhead)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;With pipeline:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;LLM compute (architect+reviewers)  ~$0.60-$1.40 per feature
Human review of LLM output         ~14-18h × mixed     ~$3,800
External auditor pre-meeting       ~6-8h   (lower because tighter document)
Internal legal                     ~8h     (unchanged)
                                   ─────                ─────
                                   ~28-34h              ~$11-14K
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Net saved per feature: ~$28-30K and ~140 hours of human time.&lt;/strong&gt; LLM bill is rounding error.&lt;/p&gt;

&lt;p&gt;The $0.60 number is &lt;strong&gt;per feature, not per MVP&lt;/strong&gt;. Some readers conflated these. A small fintech feature on Claude Sonnet costs ~$0.60-$1.40 in LLM calls. A full MVP run with all 10 packs activated and ~30 features ships ~$500-$1,500 in LLM compute. Both numbers are honest, they describe different scopes.&lt;/p&gt;

&lt;h2&gt;
  
  
  Per-MVP: $287K → $128K (~55% reduction)
&lt;/h2&gt;

&lt;p&gt;A voice-AI MVP, three months of work, traditional team composition:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;1 Product Manager × 3 months × $180/h × 120h/mo  = $64,800&lt;/li&gt;
&lt;li&gt;4 Engineers × 3 months × $180/h × 140h/mo        = $302,400&lt;/li&gt;
&lt;li&gt;Architecture work (internal or fractional CTO)   = ~$20,000&lt;/li&gt;
&lt;li&gt;Security review (external)                       = ~$15,000&lt;/li&gt;
&lt;li&gt;Compliance setup (consultant + internal time)    = ~$28,000&lt;/li&gt;
&lt;li&gt;Misc (PM tools, hosting trial, design)           = ~$8,000
                                                 ─────────
                                                 ~$438K nominal
                                                 ~$287K after overlap &amp;amp; efficient teaming
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;
With pipeline + agentic SDLC, same MVP, 6-8 weeks:

- 1 Product Manager × 2 months × $180/h × 120h/mo  = $43,200
- 2 Engineers × 2 months × $180/h × 140h/mo        = $100,800
- LLM compute across the whole run                 = ~$1,200
- Architecture review (1 sr human, 3 sessions)     = ~$3,000
- Security review (external, same)                 = ~$15,000 (unchanged — see "what doesn't compress")
- Compliance setup (pipeline output + ~12h review) = ~$5,500
- Misc                                             = ~$8,000
                                                     ─────────
                                                     ~$176K nominal
                                                     ~$128K after similar overlap savings
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Net: ~$159K saved per MVP, ~45% time saved.&lt;/strong&gt; Most of the saving is &lt;em&gt;not&lt;/em&gt; the LLM bill — it is fewer engineer-months because senior-dev parallelism + auto-review compresses the build phase.&lt;/p&gt;

&lt;h2&gt;
  
  
  Per-quarter / per-runway: the bet that changes
&lt;/h2&gt;

&lt;p&gt;For a founder shipping into one regulated industry (most realistic scenario):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Traditional&lt;/th&gt;
&lt;th&gt;Pipeline&lt;/th&gt;
&lt;th&gt;Saved&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;MVP time&lt;/td&gt;
&lt;td&gt;3 months&lt;/td&gt;
&lt;td&gt;6-8 weeks&lt;/td&gt;
&lt;td&gt;~1.5 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;MVP cost&lt;/td&gt;
&lt;td&gt;$287K&lt;/td&gt;
&lt;td&gt;$128K&lt;/td&gt;
&lt;td&gt;$159K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Compliance setup (4 features, year 1)&lt;/td&gt;
&lt;td&gt;$168K&lt;/td&gt;
&lt;td&gt;$48K&lt;/td&gt;
&lt;td&gt;$120K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Year 1 total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$455K&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$176K&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;$279K&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Equivalent runway months @$50K burn&lt;/td&gt;
&lt;td&gt;9.1 mo&lt;/td&gt;
&lt;td&gt;3.5 mo&lt;/td&gt;
&lt;td&gt;5.6 months recovered&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;For a founder shipping into 10 industries (hypothetical "compliance-heavy AI products" portfolio):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;&lt;/th&gt;
&lt;th&gt;Traditional&lt;/th&gt;
&lt;th&gt;Pipeline&lt;/th&gt;
&lt;th&gt;Saved&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Year 1 (10 MVPs × overlap)&lt;/td&gt;
&lt;td&gt;$1.45M&lt;/td&gt;
&lt;td&gt;$580K&lt;/td&gt;
&lt;td&gt;$870K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wall-clock (sequential)&lt;/td&gt;
&lt;td&gt;30 months&lt;/td&gt;
&lt;td&gt;10 months&lt;/td&gt;
&lt;td&gt;20 months&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wall-clock (with parallelism)&lt;/td&gt;
&lt;td&gt;21 months&lt;/td&gt;
&lt;td&gt;7 months&lt;/td&gt;
&lt;td&gt;14 months&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 10-industry case is hypothetical — no real founder ships into all 10 simultaneously. But it shows the structural ratio: roughly &lt;strong&gt;60% cost reduction, roughly 67% wall-clock reduction&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  LLM compute: where the money goes
&lt;/h2&gt;

&lt;p&gt;Per-MVP LLM compute, ~$500-$1,500 total, breaks down roughly:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;senior-dev × 4-8 features            ~70%     (code-writing is expensive)
architect (per-feature ARCH.md)      ~12%
specialist reviewers (5 per feature) ~10%     (verdicts are cheap)
pm (decomposition)                   ~3%
qa-engineer (test scaffolds)         ~3%
detection + memory + misc            ~2%
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The reviewers are roughly 10% of cost despite being 5 of the 8 agents that run. They output verdicts, not code. If your LLM cost is exploding, look at how much code is being &lt;em&gt;generated&lt;/em&gt;, not how many agents are running.&lt;/p&gt;

&lt;h2&gt;
  
  
  Hardware / model-choice ratios
&lt;/h2&gt;

&lt;p&gt;We tested Sonnet 4.6 vs Haiku 4.5 vs Opus 4.5 on the same 23-feature batch:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model&lt;/th&gt;
&lt;th&gt;LLM cost ratio&lt;/th&gt;
&lt;th&gt;Wall-clock ratio&lt;/th&gt;
&lt;th&gt;architect output quality (human eval, blind)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Haiku 4.5&lt;/td&gt;
&lt;td&gt;0.31×&lt;/td&gt;
&lt;td&gt;0.74×&lt;/td&gt;
&lt;td&gt;"noticeably worse" — 4 of 23 ARCH docs unusable&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Sonnet 4.6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1.0× (baseline)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;1.0×&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;acceptable, default&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Opus 4.5&lt;/td&gt;
&lt;td&gt;5.1×&lt;/td&gt;
&lt;td&gt;1.27×&lt;/td&gt;
&lt;td&gt;"marginally better" — 1 ARCH doc clearly superior&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Conclusion: &lt;strong&gt;Sonnet for everything except deep-reasoning architecture decisions.&lt;/strong&gt; Use Opus only for &lt;code&gt;architect&lt;/code&gt; on greenfield features in unfamiliar territory. Haiku for high-volume worker agents (pair programming, code generation) where the ARCH note is not on the critical path.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does NOT compress
&lt;/h2&gt;

&lt;p&gt;I have called this out before, but in numbers terms:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Item&lt;/th&gt;
&lt;th&gt;Compressible?&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;External audit cycle (NYC bias auditor, 2-4 weeks)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;FDA pre-submission meeting (60-90 days)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;IRB approval (clinical trials, 8-12 weeks)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Wet-lab validation (drug discovery)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HARA signature (functional safety, 1 calendar moment)&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Lawyer reading the threat model&lt;/td&gt;
&lt;td&gt;Compresses (LLM-written threat model is faster to read than human-written long-form)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Regulator phone calls&lt;/td&gt;
&lt;td&gt;No&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Anything that requires another organization's calendar runs at human speed. Internal work compresses 5-25×. External-dependency work does not move.&lt;/p&gt;

&lt;p&gt;For an early-stage AI startup on 18-24 month runway, the bet that changes is the &lt;em&gt;internal&lt;/em&gt; portion. You can now run 3 external compliance cycles per year instead of 1.5, because the internal prep for each one compressed from six weeks to ten days.&lt;/p&gt;

&lt;h2&gt;
  
  
  The thing I underbet
&lt;/h2&gt;

&lt;p&gt;When I started building the packs, I assumed the ROI claim would be "30-40% on compliance cost." The number ended up larger and the shape surprised me — most of the saving is not the LLM compute (it is rounding error) but the &lt;em&gt;fewer engineering-months&lt;/em&gt; the parallelism enables, plus the &lt;em&gt;fewer consulting hours&lt;/em&gt; the LLM-drafted threat model enables.&lt;/p&gt;

&lt;p&gt;If you take one number from this post: &lt;strong&gt;the LLM compute is not the moat. The pipeline that runs the agents in parallel, gates the right humans at the right scope, and persists memory across incidents is the moat.&lt;/strong&gt; The LLM is the substrate.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code with 10 compliance packs. MIT, runs locally. Pay your own LLM API. Per-pack numbers (which 10 industries, what each pack does, real consulting-rate comparisons) are in &lt;a href="https://dev.to/blog/ten-compliance-packs-for-ten-regulated-industries"&gt;the W21 deep-dive&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>compliance</category>
      <category>cost</category>
      <category>roi</category>
    </item>
    <item>
      <title>The MTTR -94% claim, with receipts</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:28:21 +0000</pubDate>
      <link>https://forem.com/great_cto/the-mttr-94-claim-with-receipts-4ncl</link>
      <guid>https://forem.com/great_cto/the-mttr-94-claim-with-receipts-4ncl</guid>
      <description>&lt;p&gt;Earlier posts cite a "median MTTR drop of 94.1% across 47 paired P0 incidents." This post is the receipts. The full methodology is also in &lt;a href="https://github.com/avelikiy/great_cto/blob/main/docs/benchmarks/MTTR.md" rel="noopener noreferrer"&gt;docs/benchmarks/MTTR.md&lt;/a&gt; — this post explains why the number is what it is, and the four cases it does not capture.&lt;/p&gt;

&lt;h2&gt;
  
  
  What got measured
&lt;/h2&gt;

&lt;p&gt;Setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;12 production repositories (mix of fintech, voice-AI, clinical, dev-tools).&lt;/li&gt;
&lt;li&gt;P0 incident defined as: user-facing, paged a human, took ≥15 minutes to resolve.&lt;/li&gt;
&lt;li&gt;Window: rolling 6 months. Pre-treatment + post-treatment.&lt;/li&gt;
&lt;li&gt;Treatment: the project installed GreatCTO and started persisting &lt;code&gt;(pattern_hash, detection_order_that_worked, rationale)&lt;/code&gt; after each P0 resolved.&lt;/li&gt;
&lt;li&gt;Outcome: time from page to root-cause identified.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I measured detection time, not full resolution time. Resolution depends on rollout speed, blast radius, customer comms — too many confounds. Detection time is the part where memory could conceivably help, and it is the part where humans burn the most calendar hours on recurring bugs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The number
&lt;/h2&gt;

&lt;p&gt;47 paired incidents. "Paired" means: same shape (same &lt;code&gt;pattern_hash&lt;/code&gt;) seen at least twice across the 6-month window, once before persistence, once after.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Stat&lt;/th&gt;
&lt;th&gt;Pre&lt;/th&gt;
&lt;th&gt;Post&lt;/th&gt;
&lt;th&gt;Delta&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Median detection time&lt;/td&gt;
&lt;td&gt;178 min&lt;/td&gt;
&lt;td&gt;11 min&lt;/td&gt;
&lt;td&gt;−94.1%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Mean detection time&lt;/td&gt;
&lt;td&gt;224 min&lt;/td&gt;
&lt;td&gt;17 min&lt;/td&gt;
&lt;td&gt;−92.6%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;90th percentile&lt;/td&gt;
&lt;td&gt;412 min&lt;/td&gt;
&lt;td&gt;41 min&lt;/td&gt;
&lt;td&gt;−90.0%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Worst case (post)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;89 min&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Best case (post)&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;td&gt;4 min&lt;/td&gt;
&lt;td&gt;n/a&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Skewed by a couple of near-100% cases (postgres pool exhaustion and a connection-string typo that the agent matched to a prior incident's commit diff and flagged in under 5 minutes). I report median because it is less misleading than mean for skewed distributions. The 90th percentile is probably the number you should care about — it is the "still 6× faster on the bad cases" claim.&lt;/p&gt;

&lt;h2&gt;
  
  
  How the mechanism works
&lt;/h2&gt;

&lt;p&gt;The agent stores, for each resolved incident:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;pattern_hash&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;   &lt;span class="s"&gt;sha256(normalized_log_signature + topology_hint)&lt;/span&gt;
&lt;span class="na"&gt;detection_order&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;check_pg_pool_size"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;check_connections"&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;check_query_count"&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;
&lt;span class="na"&gt;rationale&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;      &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;connection_refused&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;logs&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;+&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;pool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;80%&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;utilization&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;→&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;pool&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;exhaustion,&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;not&lt;/span&gt;&lt;span class="nv"&gt; &lt;/span&gt;&lt;span class="s"&gt;network"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;On a new incident, the agent's &lt;em&gt;Step 0&lt;/em&gt; is: hash the current incident's signature, look up in &lt;code&gt;~/.great_cto/incident_memory.jsonl&lt;/code&gt;, if pattern hits, try the prior &lt;code&gt;detection_order&lt;/code&gt; first. If it identifies the root cause: log "memory hit." If it does not: fall back to systematic exploration.&lt;/p&gt;

&lt;p&gt;There is no inference. The agent is not "smarter" — it is just skipping hypothesis exploration time because someone (you, last time) already paid for that exploration.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚠ The 4 honest misses
&lt;/h2&gt;

&lt;p&gt;Memory-based detection is not magic. Four cases in the 47 had pattern matches that pointed in the wrong direction and burned 10-30 minutes before the agent gave up and fell back to systematic.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miss #1.&lt;/strong&gt; Pattern matched on log signature "OOMKilled in worker pool." Prior detection order was "check worker memory limits." Reality: this time, the OOM was a memory leak in a &lt;em&gt;different&lt;/em&gt; worker that pushed the wrong worker over its limit. Agent spent 18 minutes confirming the wrong worker's limits before noticing the leak. Total detection time: 34 minutes vs ~80 minutes baseline. Net positive but ugly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miss #2.&lt;/strong&gt; Pattern matched "5xx spike from API gateway." Prior cause was upstream DB lag. Reality: this time it was a misconfigured rate-limiter that started rejecting requests after a deploy. Agent ran "check DB lag" for 12 minutes before pivoting. 28 minutes total vs ~140 baseline. Still a win, but called a "miss" because the prior path was wrong.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miss #3.&lt;/strong&gt; Pattern matched "auth failures after deploy." Prior cause was OAuth client secret rotation. Reality: a clock skew on one node caused JWT signature validation to fail. Agent's prior detection order led it through token store inspection first. 41 minutes total vs ~200 baseline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Miss #4.&lt;/strong&gt; Worst case. Pattern matched "DNS resolution failures." Prior detection order was "check Route 53 health checks." Reality: a third-party CDN had an outage. The agent's path was completely wrong, did not give up early enough, and a human had to manually override at minute 22. 89 minutes total vs ~150 baseline. Win on absolute time, but I would not call this a "memory worked" case.&lt;/p&gt;

&lt;p&gt;If I report the 47 cases as "94.1% median drop," I owe the audience the 4 cases where the mechanism worked badly. They are 8.5% of the sample. The remaining 91.5% of cases saw memory either help significantly (74%) or be irrelevant (no pattern hit, fell straight to systematic exploration — 17%).&lt;/p&gt;

&lt;h2&gt;
  
  
  How to replicate in your own repo
&lt;/h2&gt;

&lt;p&gt;Three steps, no GreatCTO required:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Persist incident memory.&lt;/strong&gt; After each P0 resolves, write &lt;code&gt;(pattern_hash, detection_order, rationale)&lt;/code&gt; to a markdown file in your repo. Plain text. Git-trackable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;At incident start, ask your agent to read that file before doing anything else.&lt;/strong&gt; Even Claude Code with no plugins will use the file if you point it at one.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Track detection time.&lt;/strong&gt; Page-to-RC-identified, in minutes. Spreadsheet is fine.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Run for one quarter. If you see a consistent reduction in detection time on recurring patterns, you have your own version of this mechanism. If you do not see reduction, your incidents are too unique or your pattern hash is too coarse.&lt;/p&gt;

&lt;p&gt;The hash I use is &lt;code&gt;sha256(top_3_log_lines_normalized + topology_hint)&lt;/code&gt; where &lt;code&gt;topology_hint&lt;/code&gt; is the service name. This gets ~70% recall on similar incidents and very few false hits. You can tune for your domain.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I will not do
&lt;/h2&gt;

&lt;p&gt;Some readers ask for the raw data (anonymized incidents). I will not publish it — even anonymized, customers can be re-identified from incident shapes and timing. I will share the synthetic test cases in &lt;code&gt;tests/incident_memory.test.mjs&lt;/code&gt; and the aggregate statistics in &lt;code&gt;docs/benchmarks/MTTR.md&lt;/code&gt;. That is enough to verify the mechanism without leaking client incident data.&lt;/p&gt;

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

&lt;p&gt;Not an RCT. Observational. Twelve repos is small. The selection bias is real — the repos that adopted GreatCTO early were also the ones with the best L3 culture. A worse team might see 30% drop instead of 94%.&lt;/p&gt;

&lt;p&gt;The number I would defend to your board: &lt;strong&gt;on recurring incident patterns, memory-driven detection compresses detection time by 5-10× median, with a long tail of near-zero-improvement cases.&lt;/strong&gt; That is more honest than "94%." But "94%" is what shows up in the data.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code. MIT, runs locally. Memory layer source is in &lt;a href="https://github.com/avelikiy/great_cto/blob/main/packages/cli/src/main.ts" rel="noopener noreferrer"&gt;packages/cli/src/memory.ts&lt;/a&gt;. The full benchmark methodology is at &lt;a href="https://github.com/avelikiy/great_cto/blob/main/docs/benchmarks/MTTR.md" rel="noopener noreferrer"&gt;docs/benchmarks/MTTR.md&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>mttr</category>
      <category>operations</category>
    </item>
    <item>
      <title>Three days of code, six weeks of compliance — the math behind why</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:28:15 +0000</pubDate>
      <link>https://forem.com/great_cto/three-days-of-code-six-weeks-of-compliance-the-math-behind-why-48g8</link>
      <guid>https://forem.com/great_cto/three-days-of-code-six-weeks-of-compliance-the-math-behind-why-48g8</guid>
      <description>&lt;p&gt;If you have shipped into a regulated industry, you know this ratio. Engineering ships a feature in three days. Compliance setup around the feature takes six weeks. Some founders get used to it. The right reaction is: &lt;em&gt;the ratio is the bug.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;This post is for the CEO / CTO who reads &lt;a href="https://dev.to/blog/ten-compliance-packs-for-ten-regulated-industries"&gt;"What $1.4M of compliance work looks like in 14 hours"&lt;/a&gt; and wants to understand the mechanism — why six weeks specifically, and where in those weeks an LLM can save time without anyone getting sued.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where the six weeks actually go
&lt;/h2&gt;

&lt;p&gt;I priced this out properly the last three times I lived it as a CTO-for-hire. Numbers below are typical for a voice-AI or fintech feature shipping in 2025-2026.&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Median hours&lt;/th&gt;
&lt;th&gt;Hourly rate&lt;/th&gt;
&lt;th&gt;Subtotal&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Identify which regulations apply&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;$200 (senior legal)&lt;/td&gt;
&lt;td&gt;$1,600&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read primary regulation text&lt;/td&gt;
&lt;td&gt;12-16&lt;/td&gt;
&lt;td&gt;$200&lt;/td&gt;
&lt;td&gt;~$2,800&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Map regulation → your stack&lt;/td&gt;
&lt;td&gt;16-24&lt;/td&gt;
&lt;td&gt;$250 (compliance consultant)&lt;/td&gt;
&lt;td&gt;~$5,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Draft threat model&lt;/td&gt;
&lt;td&gt;32&lt;/td&gt;
&lt;td&gt;$250&lt;/td&gt;
&lt;td&gt;$8,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Draft consent flow + UX changes&lt;/td&gt;
&lt;td&gt;16-24&lt;/td&gt;
&lt;td&gt;$180 (senior PM + senior frontend)&lt;/td&gt;
&lt;td&gt;$3,600&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Implement consent + audit log&lt;/td&gt;
&lt;td&gt;40&lt;/td&gt;
&lt;td&gt;$180&lt;/td&gt;
&lt;td&gt;$7,200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal legal review of threat model&lt;/td&gt;
&lt;td&gt;8&lt;/td&gt;
&lt;td&gt;$400 (general counsel)&lt;/td&gt;
&lt;td&gt;$3,200&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;External auditor pre-meeting + Q&amp;amp;A&lt;/td&gt;
&lt;td&gt;10&lt;/td&gt;
&lt;td&gt;$350 (specialist)&lt;/td&gt;
&lt;td&gt;$3,500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revisions, second pass&lt;/td&gt;
&lt;td&gt;16&lt;/td&gt;
&lt;td&gt;mixed&lt;/td&gt;
&lt;td&gt;~$3,500&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Final sign-off&lt;/td&gt;
&lt;td&gt;4&lt;/td&gt;
&lt;td&gt;$400&lt;/td&gt;
&lt;td&gt;$1,600&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~190 hours&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;mixed&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$42,000&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;This is a single regulated feature. Multi-jurisdictional (US + EU + India + state-level US) doubles or triples it. Multi-feature (a startup shipping into a regulated industry has 8-15 such features in the first six months) makes the aggregate $300K-$500K of consulting before the product exists in production.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where an LLM helps
&lt;/h2&gt;

&lt;p&gt;Not all of those 190 hours are equal. Some are mechanical, some require judgment, some require relationships.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Mechanical (can be 80-90% automated):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reading primary regulation text. The CFR is plain text. The EU AI Act Annex III is plain text. LLMs read 200 pages faster than any human can think. &lt;strong&gt;Replaces ~12-16 hours.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Mapping regulation to stack. "Does our PCI-DSS scope include the webhook signature verifier?" is a deterministic question with a regex-and-citation answer. &lt;strong&gt;Replaces ~12-18 hours of the 16-24.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Drafting threat model. Each pack has a 200-word template (down from my first 800-word version — auditors politely asked for shorter). LLM fills it in using regulation text + your ARCH.md. &lt;strong&gt;Replaces ~24-28 hours of the 32.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Generating evidence artifacts (decision logs, gate signoffs, audit trail). The pipeline emits these as side effects, not as a separate phase. &lt;strong&gt;Replaces ~6-8 hours.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Judgment (human time stays roughly constant):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Identify which regulations apply. Mostly mechanical, but the "is this an edge case" call is human. &lt;strong&gt;Reduces from 8h to ~2-3h of review.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Drafting consent flow UX. Pure product judgment. The LLM writes a &lt;em&gt;first pass&lt;/em&gt; you can react to in 15 minutes instead of authoring from scratch in 4 hours. &lt;strong&gt;Reduces from 16-24h to ~4-6h.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;Implementation. Coding is faster with LLM assistance, but the gates are real. &lt;strong&gt;Reduces from 40h to ~10-15h.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Relationship (cannot be automated, and pretending otherwise is malpractice):&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Internal legal review. Your GC has to sign. Their time is your time. &lt;strong&gt;Unchanged at 8h.&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;External auditor pre-meeting. The auditor wants a &lt;em&gt;human&lt;/em&gt; on the other end of the phone who can defend the threat model under questioning. The LLM-generated threat model is the document the auditor reads. The conversation about it is yours. &lt;strong&gt;Unchanged at 10h, but the auditor reads a tighter document faster, so call it 6-8h net.&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;New math:&lt;/strong&gt;&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Phase&lt;/th&gt;
&lt;th&gt;Old&lt;/th&gt;
&lt;th&gt;New&lt;/th&gt;
&lt;th&gt;Saved&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Identify regs&lt;/td&gt;
&lt;td&gt;8h&lt;/td&gt;
&lt;td&gt;2-3h&lt;/td&gt;
&lt;td&gt;~6h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Read regs&lt;/td&gt;
&lt;td&gt;12-16h&lt;/td&gt;
&lt;td&gt;1-2h&lt;/td&gt;
&lt;td&gt;~13h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Map to stack&lt;/td&gt;
&lt;td&gt;16-24h&lt;/td&gt;
&lt;td&gt;3-4h&lt;/td&gt;
&lt;td&gt;~17h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Threat model&lt;/td&gt;
&lt;td&gt;32h&lt;/td&gt;
&lt;td&gt;4-6h&lt;/td&gt;
&lt;td&gt;~27h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Consent UX&lt;/td&gt;
&lt;td&gt;16-24h&lt;/td&gt;
&lt;td&gt;4-6h&lt;/td&gt;
&lt;td&gt;~15h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Implementation&lt;/td&gt;
&lt;td&gt;40h&lt;/td&gt;
&lt;td&gt;10-15h&lt;/td&gt;
&lt;td&gt;~28h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Internal legal&lt;/td&gt;
&lt;td&gt;8h&lt;/td&gt;
&lt;td&gt;8h&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;External auditor&lt;/td&gt;
&lt;td&gt;10h&lt;/td&gt;
&lt;td&gt;6-8h&lt;/td&gt;
&lt;td&gt;~3h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Revisions&lt;/td&gt;
&lt;td&gt;16h&lt;/td&gt;
&lt;td&gt;6-8h&lt;/td&gt;
&lt;td&gt;~9h&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Final signoff&lt;/td&gt;
&lt;td&gt;4h&lt;/td&gt;
&lt;td&gt;4h&lt;/td&gt;
&lt;td&gt;0&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~190h&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~50-65h&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~125-140h&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Wall-clock compresses from &lt;strong&gt;six weeks to about ten working days&lt;/strong&gt;, partly because removed work and partly because the work that remains can run in parallel (the LLM drafts while the auditor pre-meeting is scheduled).&lt;/p&gt;

&lt;p&gt;Cost compresses from ~$42K to ~$15-18K (LLM bill ~$50-150, human time the rest). Median compression I have measured: &lt;strong&gt;~60% on cost, ~67% on wall-clock&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this is not "AI replaces compliance consultants"
&lt;/h2&gt;

&lt;p&gt;The compliance specialist of 2027 is someone who knows which regulation applies in which jurisdiction &lt;em&gt;and&lt;/em&gt; can operate a pipeline to do the reading and templating for them. Same depth of judgment. Five times the productivity.&lt;/p&gt;

&lt;p&gt;That person is going to win market share against the consultant still billing by the hour to read 200 pages of regulation. Not because their judgment is better — it is the same. Because their cost-per-judgment is one-fifth.&lt;/p&gt;

&lt;p&gt;The judgment is the moat. The reading and templating around the judgment has been commoditized. This is the same transition that happened to junior associates in law firms when document-review tools landed in 2010-2015. Senior partners did not disappear; they got faster.&lt;/p&gt;

&lt;h2&gt;
  
  
  What does not compress
&lt;/h2&gt;

&lt;p&gt;External calendar time. The auditor still books two weeks out. The FDA pre-submission meeting is still 60-90 days. IRB approval is still 8-12 weeks. Internal work compresses 5-25×; external-dependency work does not move.&lt;/p&gt;

&lt;p&gt;If your runway is 18 months and you ship into a regulated industry, the realistic plan is:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compress internal compliance work from 6 weeks to 10 days.&lt;/li&gt;
&lt;li&gt;Use the recovered 4 weeks to run the &lt;em&gt;external&lt;/em&gt; cycles in parallel with the next feature.&lt;/li&gt;
&lt;li&gt;End up with one external cycle per quarter, not one every two quarters.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;That math doubles the number of features that ship through compliance per year for the same runway. For an early-stage AI startup, that is the difference between catching the wave and missing it.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code with 10 compliance packs. MIT, runs locally. The cost-by-pack breakdown is in &lt;a href="https://dev.to/blog/ten-compliance-packs-for-ten-regulated-industries"&gt;the W21 deep-dive&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>compliance</category>
      <category>startup</category>
      <category>engineeringmanagement</category>
    </item>
    <item>
      <title>How GreatCTO chooses which compliance pack to attach</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:27:39 +0000</pubDate>
      <link>https://forem.com/great_cto/how-greatcto-chooses-which-compliance-pack-to-attach-o64</link>
      <guid>https://forem.com/great_cto/how-greatcto-chooses-which-compliance-pack-to-attach-o64</guid>
      <description>&lt;p&gt;Every time someone runs &lt;code&gt;npx great-cto init&lt;/code&gt;, the CLI has to decide:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;What kind of project is this? (one of ~25 archetypes)&lt;/li&gt;
&lt;li&gt;Which compliance packs apply on top? (voice / clinical / fintech / lending / 6 more)&lt;/li&gt;
&lt;li&gt;Are any of those guesses wrong enough that the user will get a useless threat model and abandon the tool?&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;That last question is what makes the detection logic interesting. Get it wrong and the first impression is "this is producing nonsense about regulations I don't care about." Get it too conservative and the user has to manually configure packs that &lt;em&gt;should&lt;/em&gt; have auto-attached, defeating the point.&lt;/p&gt;

&lt;p&gt;After four months in production, here is what works.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I tried first: LLM-based detection
&lt;/h2&gt;

&lt;p&gt;Original design (rejected after 2 weeks): pipe the repo's README, package.json, and top-level directory listing into Claude and ask it to classify.&lt;/p&gt;

&lt;p&gt;Problems, in order of severity:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Latency.&lt;/strong&gt; First run of &lt;code&gt;init&lt;/code&gt; now takes 12-18 seconds instead of &amp;lt;1s. Users perceive this as broken.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost.&lt;/strong&gt; Roughly $0.04 per &lt;code&gt;init&lt;/code&gt;. Negligible per user, real money at scale.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hallucinations.&lt;/strong&gt; Claude classified a Helm chart for an internal Kubernetes operator as "fintech, because the README mentions billing in the Operator's logging section." It does not. The word "billing" appeared once, describing log volume.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Variance.&lt;/strong&gt; Same repo, same prompt, two runs: voice-AI then mlops. Probably temperature noise. Not acceptable for a decision that shapes the rest of the pipeline.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Killed it. Went to a regex-based detector. Latency dropped from 15s to 180ms. Cost dropped to $0. Variance dropped to zero.&lt;/p&gt;

&lt;p&gt;The trade-off: regex cannot read intent. It reads tokens. A repo that &lt;em&gt;says&lt;/em&gt; it does voice AI in its README but actually contains a music-recommender model will get the voice pack. That is a false positive I accept because the alternative (LLM in the loop) had its own false positives and was 80× slower.&lt;/p&gt;

&lt;h2&gt;
  
  
  The current detector
&lt;/h2&gt;

&lt;p&gt;Three signal layers:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 1 — package.json dependencies.&lt;/strong&gt; &lt;code&gt;twilio&lt;/code&gt; / &lt;code&gt;livekit&lt;/code&gt; / &lt;code&gt;deepgram&lt;/code&gt; / &lt;code&gt;elevenlabs&lt;/code&gt; → voice pack. &lt;code&gt;stripe&lt;/code&gt; / &lt;code&gt;plaid&lt;/code&gt; / &lt;code&gt;dwolla&lt;/code&gt; → fintech. &lt;code&gt;tensorflow&lt;/code&gt; / &lt;code&gt;pytorch&lt;/code&gt; + &lt;code&gt;transformers&lt;/code&gt; → ml-pack (different from voice-pack). And so on for ~80 strong signal tokens.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 2 — file paths.&lt;/strong&gt; &lt;code&gt;clinical/&lt;/code&gt;, &lt;code&gt;fda/&lt;/code&gt;, &lt;code&gt;phi/&lt;/code&gt;, &lt;code&gt;hipaa/&lt;/code&gt; in directory names → clinical pack. &lt;code&gt;webhook/&lt;/code&gt; + signature-related code → api-platform-pack.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Layer 3 — README + top-level docs grep.&lt;/strong&gt; Exact-match keywords only, not fuzzy. &lt;code&gt;"AEDT"&lt;/code&gt;, &lt;code&gt;"automated employment decision"&lt;/code&gt;, &lt;code&gt;"NYC Local Law 144"&lt;/code&gt; → hr-ai pack. &lt;code&gt;"21 CFR Part 11"&lt;/code&gt;, &lt;code&gt;"SaMD"&lt;/code&gt;, &lt;code&gt;"FDA pre-submission"&lt;/code&gt; → clinical pack.&lt;/p&gt;

&lt;p&gt;Each pack has a minimum signal count. voice-pack needs ≥2 of its 11 tokens. fintech needs ≥3 of 14. This is what cut false positives roughly in half.&lt;/p&gt;

&lt;h2&gt;
  
  
  The false positives I have logged
&lt;/h2&gt;

&lt;p&gt;Across 4 months and ~340 init runs (instrumented from telemetry), 12 confirmed false positives:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;repo type&lt;/th&gt;
&lt;th&gt;wrongly attached pack&lt;/th&gt;
&lt;th&gt;trigger&lt;/th&gt;
&lt;th&gt;fix&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;static-site generator&lt;/td&gt;
&lt;td&gt;voice-pack&lt;/td&gt;
&lt;td&gt;README explicitly disclaiming Twilio&lt;/td&gt;
&lt;td&gt;exact-match keywords only&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;music-recommender ML&lt;/td&gt;
&lt;td&gt;voice-pack&lt;/td&gt;
&lt;td&gt;"audio" in package description&lt;/td&gt;
&lt;td&gt;removed "audio" as solo trigger&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;internal Helm chart&lt;/td&gt;
&lt;td&gt;fintech&lt;/td&gt;
&lt;td&gt;"billing" in operator log section&lt;/td&gt;
&lt;td&gt;minimum 3 signals&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;docs-only repo&lt;/td&gt;
&lt;td&gt;clinical&lt;/td&gt;
&lt;td&gt;"patient" in user-research subfolder&lt;/td&gt;
&lt;td&gt;excluded &lt;code&gt;docs/&lt;/code&gt; from path scan&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;game-server prototype&lt;/td&gt;
&lt;td&gt;mlops&lt;/td&gt;
&lt;td&gt;
&lt;code&gt;torch&lt;/code&gt; in optional dev-dep&lt;/td&gt;
&lt;td&gt;only scan &lt;code&gt;dependencies&lt;/code&gt;, not &lt;code&gt;devDependencies&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;7 others&lt;/td&gt;
&lt;td&gt;various&lt;/td&gt;
&lt;td&gt;various&lt;/td&gt;
&lt;td&gt;each addressed via test case in &lt;code&gt;tests/detection.test.mjs&lt;/code&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;The 12 cases are committed as regression tests. If the detector ever re-introduces one of these false positives, CI fails.&lt;/p&gt;

&lt;h2&gt;
  
  
  The case I worry about: silent false negatives
&lt;/h2&gt;

&lt;p&gt;Easier to log a false positive (user complains "why is this thing telling me about TCPA"). Harder to catch a false negative (user runs init on a repo that &lt;em&gt;should&lt;/em&gt; have hr-ai pack attached, doesn't, ships with no bias audit, gets fined two years later).&lt;/p&gt;

&lt;p&gt;Mitigations:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;&lt;code&gt;/migrate&lt;/code&gt; command.&lt;/strong&gt; Rerun detection with updated rules. New packs (or new keywords for existing packs) get a second chance to attach.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PROJECT.md is editable.&lt;/strong&gt; The &lt;code&gt;packs:&lt;/code&gt; list is plain YAML. User can add manually if detection missed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Public catalogue.&lt;/strong&gt; &lt;a href="https://greatcto.systems/companies.html" rel="noopener noreferrer"&gt;greatcto.systems/companies.html&lt;/a&gt; lists 200+ companies and the packs that &lt;em&gt;would&lt;/em&gt; auto-attach to each. If a user's similar competitor is in the catalogue, they get a sanity check on whether their detection is correct.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Telemetry on no-pack runs.&lt;/strong&gt; When init detects zero packs, we log it (anon, opt-in). If a class of project keeps coming through with no pack and the cost-of-miss is high (regulated industry), I add detection rules.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;I have not had a confirmed regulatory false negative yet. That is partly because the user population is small (~500 active installs as of writing) and partly because the high-stakes archetypes (clinical, fintech, lending) have strong-signal vocabulary that is hard to miss.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I will not add
&lt;/h2&gt;

&lt;p&gt;People keep asking for two features I have rejected:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;"Pack confidence scores."&lt;/strong&gt; The detector should output 0-1 confidence per pack so the user can sort. I rejected this: it implies a precision the regex layer does not actually have, and users will treat a 0.6 score as "halfway right" when really it means "one signal matched, probably noise."&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;"Auto-update detection from telemetry."&lt;/strong&gt; If we see 10 users with &lt;code&gt;xyz&lt;/code&gt; in their repo overriding our detection, automatically add &lt;code&gt;xyz&lt;/code&gt; as a fintech signal. Rejected: too easy to poison. One determined attacker registers 10 fake &lt;code&gt;xyz/random-name&lt;/code&gt; repos with manual fintech tags and the global detector starts attaching fintech to everyone using &lt;code&gt;xyz&lt;/code&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Both of these are textbook examples of "the obvious feature that becomes a backdoor."&lt;/p&gt;

&lt;h2&gt;
  
  
  What I might add
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;LLM in the loop, but only for ambiguous cases.&lt;/strong&gt; If 2+ packs have signal but below threshold for any one, pipe the README into Claude with a strict "pick one or 'unclear'" prompt. Latency penalty only on the 5-10% of repos that are ambiguous, not all of them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-language detection.&lt;/strong&gt; Right now everything assumes Node/Python/JVM-ish patterns. Rust and Go projects sometimes have weak signal even when they are clearly fintech or healthcare. Not urgent — those communities are smaller in the user base.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The detection logic is small, boring, and one of the parts of the system I am most defensive of. It is the first thing every user sees, and a wrong first guess loses them.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code. MIT, runs locally. The detector source is in &lt;a href="https://github.com/avelikiy/great_cto/blob/main/packages/cli/src/main.ts" rel="noopener noreferrer"&gt;packages/cli/src/detect.ts&lt;/a&gt; — read or fork.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>compliance</category>
      <category>detection</category>
    </item>
    <item>
      <title>Why your agent system fails: missing gates, not missing intelligence</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:27:33 +0000</pubDate>
      <link>https://forem.com/great_cto/why-your-agent-system-fails-missing-gates-not-missing-intelligence-4591</link>
      <guid>https://forem.com/great_cto/why-your-agent-system-fails-missing-gates-not-missing-intelligence-4591</guid>
      <description>&lt;p&gt;A senior CTO emailed me last month: "We rolled out Devin across two teams. After three weeks the agents had merged 47 PRs. Three of them broke prod. Two contained a credential in the commit. One disabled rate limiting because the test fixtures didn't pass with rate limiting on. We're rolling back."&lt;/p&gt;

&lt;p&gt;Everyone with eyes on agentic coding has heard a version of this story. The most common diagnosis is &lt;em&gt;"the model isn't good enough yet."&lt;/em&gt; Reasonable on the surface. Wrong as a diagnosis.&lt;/p&gt;

&lt;p&gt;I've spent the last 4 months building a multi-agent SDLC layer on top of Claude Code. 34 specialist agents, 25 archetype overlays, two human gates per feature. The clearest finding from this work: &lt;strong&gt;the failures CTOs describe almost never trace to bad code generation. They trace to missing gates.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This article walks through why, and shows the state machine I think every agentic SDLC needs.&lt;/p&gt;

&lt;h2&gt;
  
  
  The problem with how everyone does it
&lt;/h2&gt;

&lt;p&gt;The default architecture for agentic coding is &lt;strong&gt;one autonomous loop&lt;/strong&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;loop:
  llm.generate(task, context)
  apply(diff)
  run_tests()
  if pass: commit
  else: revise
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This is fine for prototypes. It is a disaster for shipped code. Three reasons.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Tests aren't enough.&lt;/strong&gt; Tests verify &lt;em&gt;correctness against assertions you wrote&lt;/em&gt;. They do not verify: "is this PCI-DSS scope appropriate", "does this respect TCPA recording consent", "did we just add a hidden N+1 query", "is this idempotent under retry storms". You need humans, or specialist reviewers that act like humans, for each of those.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. One agent can't review itself.&lt;/strong&gt; Even if you ask GPT-4 or Claude Opus to review its own output, the same biases that wrote the bug are reading the diff. We have decades of evidence from code review at Google, Microsoft, and Apache that &lt;strong&gt;independent reviewers catch ~3× more defects than authors&lt;/strong&gt;. Independence requires separation. Agents aren't different.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Speed compounds errors.&lt;/strong&gt; When the loop runs unattended, errors accumulate quietly between human checkpoints. By the time a human sees the work, the agent has rebuilt on top of three earlier mistakes. You can't fix the lowest-level mistake without unwinding everything above it.&lt;/p&gt;

&lt;p&gt;The pattern that keeps emerging across teams that ship agentic systems successfully is &lt;strong&gt;explicit gates + specialist reviewers&lt;/strong&gt;, not bigger models.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this article will show
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;The 8-stage state machine I think every agentic SDLC needs&lt;/li&gt;
&lt;li&gt;Why two human gates per feature is the sweet spot&lt;/li&gt;
&lt;li&gt;The parallel implementer + parallel reviewer pattern&lt;/li&gt;
&lt;li&gt;How memory feedback closes the loop (the "94% MTTR" claim, with caveats)&lt;/li&gt;
&lt;li&gt;What this all costs (~$2 per small feature, with receipts)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The state machine
&lt;/h2&gt;

&lt;p&gt;The full pipeline, as a deterministic state machine:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;flowchart TD
    Init["$ init"] --&amp;gt; Detect["archetype-detect"]
    Detect --&amp;gt; Architect["architect (ARCH.md)"]
    Architect --&amp;gt; GatePlan{"⚐ gate: plan"}
    GatePlan --&amp;gt;|human approve| PM["pm (decompose)"]
    PM --&amp;gt; Impl["senior-dev × N (parallel)"]
    Impl --&amp;gt; Review["specialist review × 5 (parallel)"]
    Review --&amp;gt; GateShip{"⚐ gate: ship"}
    GateShip --&amp;gt;|human approve| Deploy["devops"]
    Deploy --&amp;gt; Operate["l3-support"]
    Operate -.-&amp;gt;|incident pattern| Learner["continuous-learner"]
    Learner -.-&amp;gt;|inject lesson| Architect
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The two diamond nodes are human gates. Everything else runs unattended.&lt;/p&gt;

&lt;p&gt;A few things to notice:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Parallelism is structural, not accidental.&lt;/strong&gt; At the implement stage, independent tasks run in isolated git worktrees. At the review stage, 5 reviewers run concurrently because they look at different aspects (QA, security, performance, archetype-specific compliance, 12-angle code review).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The memory loop is dashed.&lt;/strong&gt; It's an out-of-band feedback path. When a P0 incident resolves, the &lt;code&gt;continuous-learner&lt;/code&gt; agent extracts the detection pattern and writes it to &lt;code&gt;~/.great_cto/lessons.md&lt;/code&gt;. Next time a similar incident shape hits, the agent's &lt;em&gt;Step 0&lt;/em&gt; includes the prior detection order. This is where the MTTR savings come from.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Specialists run only when archetype matches.&lt;/strong&gt; The 34 agents in the pool aren't all firing every time. For a typical fintech feature, only 7 run: architect, pm, 2× senior-dev, qa-engineer, security-officer (PCI focus), code-reviewer. The voice-AI reviewer doesn't load because the archetype isn't voice-AI.&lt;/p&gt;

&lt;h2&gt;
  
  
  Two gates, not seven
&lt;/h2&gt;

&lt;p&gt;The hardest design question is: how many human gates?&lt;/p&gt;

&lt;p&gt;I started with seven: plan, design-review, security-review, qa-review, performance-review, compliance-review, ship. The complaint from every early user was: "this is just the human checkpoint problem from waterfall, but worse, because now I'm reviewing AI outputs."&lt;/p&gt;

&lt;p&gt;Down to two. Specifically:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gate 1: plan.&lt;/strong&gt; You approve the ARCH note + cost estimate + task decomposition &lt;em&gt;before&lt;/em&gt; any code is written. This is the cheapest decision in the pipeline — if scope is wrong, fixing it now is free. If you approve it, you've committed to "ship this if implementation passes."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Gate 2: ship.&lt;/strong&gt; You see the full review panel — 5 verdicts, with rationale and diff per reviewer. APPROVED chips and BLOCKED chips. You either approve, or push back on a specific reviewer.&lt;/p&gt;

&lt;p&gt;Everything in between is the agents' problem. If they disagree with each other, the gate fails and surfaces with the disagreement explicit.&lt;/p&gt;

&lt;p&gt;Why this specific shape:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Gate 1 controls scope.&lt;/strong&gt; You decide what gets built.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate 2 controls quality.&lt;/strong&gt; You decide whether the agents got it right.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;You don't decide &lt;em&gt;how&lt;/em&gt; in between. The agents do. If you're making more than 2 decisions per feature, you're a bottleneck — and the whole pipeline collapses to your reading speed.&lt;/p&gt;

&lt;p&gt;This is the part that most agentic systems get wrong. They either show you everything (and you can't keep up), or they show you nothing (and you wake up to broken prod). Two well-chosen gates is the sweet spot.&lt;/p&gt;

&lt;h2&gt;
  
  
  The memory loop is the real moat
&lt;/h2&gt;

&lt;p&gt;Most agentic coding tools have no memory. They start each session from zero. This is &lt;em&gt;fine&lt;/em&gt; for syntax errors and dead code. It is &lt;em&gt;bad&lt;/em&gt; for the kind of bugs that recur with different surface signatures.&lt;/p&gt;

&lt;p&gt;Real example. Q1 of this year I hit a postgres connection pool exhaustion during a burst load. The log said &lt;code&gt;Connection refused&lt;/code&gt;. Looked like a network issue. Spent 4 hours unwinding network config before finally checking &lt;code&gt;pg_stat_activity&lt;/code&gt; and seeing pool size was the cap. Q3, same shape hits in a different project — different framework, different stack. Pattern hash matches. Agent's &lt;code&gt;Step 0&lt;/code&gt; includes the prior detection order. 28 minutes to resolution.&lt;/p&gt;

&lt;p&gt;This is not the agent being smarter. It's the agent skipping hypothesis exploration time.&lt;/p&gt;

&lt;p&gt;Across 47 paired P0 incidents in 12 repositories (full methodology and 4 honest memory-miss cases published &lt;a href="https://github.com/avelikiy/great_cto/blob/main/docs/benchmarks/MTTR.md" rel="noopener noreferrer"&gt;here&lt;/a&gt;), the median MTTR reduction was 94.1%. The mean was 92.6%. Skewed by a couple of near-100% cases. Not an RCT. Observational. Caveats are listed in the methodology.&lt;/p&gt;

&lt;p&gt;The mechanism is simple. The agent stores: &lt;code&gt;(pattern_hash, detection_order_that_worked, rationale)&lt;/code&gt;. On a match, it tries the winning detection first. If that's wrong (4 of 47 cases were misses), it falls back to systematic exploration. No worse than baseline.&lt;/p&gt;

&lt;p&gt;What makes the memory layer work is that it's &lt;strong&gt;local, file-backed, and git-trackable&lt;/strong&gt;. Not a vector DB. Not a cloud service. Plain markdown in &lt;code&gt;.great_cto/lessons.md&lt;/code&gt; (per-project) and &lt;code&gt;~/.great_cto/decisions.md&lt;/code&gt; (cross-project). You can read it, edit it, version-control it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Edge cases worth knowing
&lt;/h2&gt;

&lt;p&gt;A few things that surprised me during the build:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Agent count doesn't matter much.&lt;/strong&gt; I shipped 12 agents, then 24, then 34. The marginal value of adding the 35th agent is small. What matters is &lt;em&gt;coverage&lt;/em&gt; of distinct review angles. After 12, you mostly add archetype-specific compliance reviewers, and each one is opt-in based on archetype detection.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Disagreement between reviewers is a feature, not a bug.&lt;/strong&gt; When &lt;code&gt;security-officer&lt;/code&gt; blocks a PR that &lt;code&gt;qa-engineer&lt;/code&gt; approves, you want this visible at the gate, not papered over. The state machine surfaces both verdicts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cost is dominated by output tokens.&lt;/strong&gt; A typical feature: $3.40 in LLM calls. ~80% is in the agents that &lt;em&gt;write&lt;/em&gt; (senior-devs, architect). The reviewers are cheap because they output verdicts, not code. If costs balloon, look at how much code is being generated, not how many agents.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Auto-approve flag is the slippery slope.&lt;/strong&gt; I considered an &lt;code&gt;--auto-approve&lt;/code&gt; flag for trivial features. Killed it. The minute you have that flag, the cycle that produces broken prod starts. The two gates are load-bearing.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where this fits
&lt;/h2&gt;

&lt;p&gt;The thesis isn't "you need this specific tool." It's that &lt;strong&gt;any agentic SDLC needs explicit state, explicit gates, and a memory loop&lt;/strong&gt;. Without them, you're shipping a faster version of the agent system that already burned the teams I mentioned at the top.&lt;/p&gt;

&lt;p&gt;If you want to inspect the exact state machine, the live SVG with every node clickable to its source on GitHub is &lt;a href="https://greatcto.systems/architecture" rel="noopener noreferrer"&gt;here&lt;/a&gt;. A real shipped feature, walked stage by stage with artifacts and costs, is &lt;a href="https://greatcto.systems/proof" rel="noopener noreferrer"&gt;here&lt;/a&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;Agentic coding failures trace to &lt;strong&gt;missing gates&lt;/strong&gt;, not bad models.&lt;/li&gt;
&lt;li&gt;The pattern that ships safely is &lt;strong&gt;2 human gates + parallel implementers + parallel reviewers + memory loop&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;"Bigger model" is rarely the right answer. "More specialist review angles" usually is.&lt;/li&gt;
&lt;li&gt;Cost per shipped feature on this architecture: $1–4 in LLM, ~45 min wall-clock, 2 human clicks.&lt;/li&gt;
&lt;li&gt;Memory is the difference between "fast at one-off code generation" and "improves over time at &lt;em&gt;your&lt;/em&gt; codebase's recurring bugs".&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code. MIT, runs locally. Twitter: &lt;a href="https://twitter.com/avelikiy" rel="noopener noreferrer"&gt;@avelikiy&lt;/a&gt;. GitHub: &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;@avelikiy/great_cto&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>sdlc</category>
      <category>compliance</category>
    </item>
    <item>
      <title>How I designed the SDLC state machine for agentic coding</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:25:08 +0000</pubDate>
      <link>https://forem.com/great_cto/how-i-designed-the-sdlc-state-machine-for-agentic-coding-2pch</link>
      <guid>https://forem.com/great_cto/how-i-designed-the-sdlc-state-machine-for-agentic-coding-2pch</guid>
      <description>&lt;p&gt;The architecture page on the site shows the state machine as a clickable diagram. This post walks through the design decisions that produced that shape, including the alternatives I tried and abandoned.&lt;/p&gt;

&lt;h2&gt;
  
  
  The pipeline, in one diagram
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$ init
  └─ archetype-detect
       └─ architect          (ARCH.md)
            └─ ⚐ gate: plan         ← human approval #1
                 └─ pm              (decompose, parallelism plan)
                      └─ senior-dev × N   (parallel git worktrees)
                           └─ specialist review × 5  (parallel)
                                └─ ⚐ gate: ship       ← human approval #2
                                     └─ devops        (merge, deploy)
                                          └─ l3-support
                                               ↘ (incident pattern)
                                                  continuous-learner
                                                       ↗ (inject lesson into next architect run)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eight runtime stages. Two human gates. One out-of-band feedback path (the dashed loop through &lt;code&gt;continuous-learner&lt;/code&gt;). Every node maps to a single specialist agent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 1: number of human gates
&lt;/h2&gt;

&lt;p&gt;I started with seven gates: plan, design-review, security-review, qa-review, performance-review, compliance-review, ship.&lt;/p&gt;

&lt;p&gt;Every early user complained: "this is just waterfall, but now I am reviewing AI outputs instead of writing code." Each gate added 5-15 minutes of human reading. Seven gates × 10 minutes = 70 minutes of attention per feature. Worse than manual.&lt;/p&gt;

&lt;p&gt;Two gates works because they are at the right scope-vs-quality break points:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;gate: plan&lt;/strong&gt; controls &lt;em&gt;scope&lt;/em&gt;. You decide what gets built before any code is written. This is the cheapest possible decision in the pipeline — if scope is wrong, fixing it costs zero.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;gate: ship&lt;/strong&gt; controls &lt;em&gt;quality&lt;/em&gt;. You see all 5 reviewer verdicts at once, with rationale per reviewer. You either approve, or push back on a specific reviewer (which the system re-runs).&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Everything in between is the agents' problem. If reviewers disagree with each other, the gate surfaces the disagreement explicit — not papered over. If they all agree, you approve quickly.&lt;/p&gt;

&lt;p&gt;Three is not better than two. I tried three (added "design-review" between plan and pm) for a month. The middle gate added 8-12 minutes of reading time, and in practice approved 47/47 features unchanged. Removed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 2: parallelism is structural, not opportunistic
&lt;/h2&gt;

&lt;p&gt;The &lt;code&gt;pm&lt;/code&gt; step does not just decompose tasks. It explicitly tags tasks as &lt;code&gt;[parallel]&lt;/code&gt; or &lt;code&gt;[serial]&lt;/code&gt;, schedules them into a DAG, and assigns each parallel task its own git worktree.&lt;/p&gt;

&lt;p&gt;This matters because the temptation in an LLM pipeline is to serialize everything ("agents think too fast, let's not race them"). That's wrong. Modern agentic coding tools (Claude Code in particular) handle parallel worktrees cleanly. The bottleneck is human attention, not compute. Running 4 senior-devs in parallel for 38 minutes is the same total LLM cost as serial, but cuts wall-clock by 3-4×.&lt;/p&gt;

&lt;p&gt;Reviewers are also parallel — 5 specialist reviewers run concurrently against the merged diff, each looking at a different aspect (QA, security, performance, archetype-specific compliance, code quality across 12 angles). They do not block each other.&lt;/p&gt;

&lt;p&gt;The only serial steps are &lt;code&gt;architect&lt;/code&gt; (must precede pm) and &lt;code&gt;devops&lt;/code&gt; (must follow approval).&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 3: memory is per-project, per-org, and cross-project
&lt;/h2&gt;

&lt;p&gt;The dashed loop in the diagram is the part most agentic coding tools skip. It is the part that compounds.&lt;/p&gt;

&lt;p&gt;Four layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Per-session.&lt;/strong&gt; Conversation history. Disappears at session end. Cheap.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-project (&lt;code&gt;.great_cto/lessons.md&lt;/code&gt;).&lt;/strong&gt; Decisions, rejected approaches, incident detection patterns. Survives session restarts. Git-trackable.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-org (&lt;code&gt;~/.great_cto/decisions.md&lt;/code&gt;).&lt;/strong&gt; Patterns confirmed across ≥3 projects. Promoted from per-project after manual review. Used as &lt;code&gt;Step 0&lt;/code&gt; context for &lt;code&gt;architect&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cross-project (incident patterns).&lt;/strong&gt; Pattern hash + winning detection order, stored when a P0 resolves. Next time a similar incident shape hits in a different project, the agent's Step 0 includes the prior detection order.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;This last layer is where the &lt;a href="https://dev.to/blog/"&gt;MTTR -94% claim&lt;/a&gt; comes from. It is not the agent being smarter; it is the agent skipping hypothesis exploration time because someone already paid for that exploration.&lt;/p&gt;

&lt;p&gt;I tried a vector-DB-backed memory layer for two weeks. Abandoned. The cognitive overhead of a "search before you write" step in every agent prompt was worse than just listing 3-5 recent lessons in a markdown file and trusting the LLM's context window. Plain text + git history is the moat, not embeddings.&lt;/p&gt;

&lt;h2&gt;
  
  
  Decision 4: archetype-specific agents are opt-in
&lt;/h2&gt;

&lt;p&gt;The 34 specialist agents in the pool are not all firing every time. For a typical fintech feature, only 7 run: &lt;code&gt;architect&lt;/code&gt;, &lt;code&gt;pm&lt;/code&gt;, 2× &lt;code&gt;senior-dev&lt;/code&gt;, &lt;code&gt;qa-engineer&lt;/code&gt;, &lt;code&gt;security-officer&lt;/code&gt; (PCI focus), &lt;code&gt;code-reviewer&lt;/code&gt;. The voice-AI reviewer does not load because the archetype is not voice.&lt;/p&gt;

&lt;p&gt;This is more important than it sounds. Early versions ran "all reviewers always." Cost ballooned because every reviewer wants context (the diff + ARCH.md + project README) and most ran for 0 useful output. Now: archetype detection at init picks the relevant 5-7, no extras.&lt;/p&gt;

&lt;p&gt;The detection is signal-based: regex matches in &lt;code&gt;package.json&lt;/code&gt;, README, &lt;code&gt;infra/&lt;/code&gt;. False positives happen (the &lt;a href="https://dev.to/blog/"&gt;static-site-generator that got TCPA threat-modeled&lt;/a&gt;) but auto-attach is reversible — &lt;code&gt;PROJECT.md&lt;/code&gt; lists the active packs and you can remove one with a line edit.&lt;/p&gt;

&lt;h2&gt;
  
  
  What the state machine does not do
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;It does not write product specs. You bring the prompt.&lt;/li&gt;
&lt;li&gt;It does not negotiate with stakeholders. The &lt;code&gt;architect&lt;/code&gt; will write the ARCH note, but the conversation with your VP of Eng about "should we even build this" is yours.&lt;/li&gt;
&lt;li&gt;It does not catch all bugs. The &lt;code&gt;qa-engineer&lt;/code&gt; writes tests against the spec it inferred from the architect's ARCH note. If you mis-spec'd the feature at gate:plan, the tests pass and the bug ships. Two gates is not zero — it is two.&lt;/li&gt;
&lt;li&gt;It does not learn from your specific code style without per-project lessons. First 3-5 features in a new repo, you will see suboptimal naming and inconsistent patterns. By feature 10, lessons.md has enough to lock the style.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Where this fits
&lt;/h2&gt;

&lt;p&gt;This is the architecture I argue every agentic SDLC needs. Not this specific tool. If you are building your own, the shape that works is: explicit state, two gates, parallel specialists, memory loop. Anything looser breaks at scale.&lt;/p&gt;

&lt;p&gt;The clickable version of this diagram, with every node linking to its agent's source on GitHub, is at &lt;a href="https://dev.to/architecture"&gt;greatcto.systems/architecture&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code. MIT, runs locally. Twitter: &lt;a href="https://twitter.com/avelikiy" rel="noopener noreferrer"&gt;@avelikiy&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>sdlc</category>
      <category>architecture</category>
    </item>
    <item>
      <title>First real shipped feature with this stack — receipts</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sun, 17 May 2026 14:25:07 +0000</pubDate>
      <link>https://forem.com/great_cto/first-real-shipped-feature-with-this-stack-receipts-45c5</link>
      <guid>https://forem.com/great_cto/first-real-shipped-feature-with-this-stack-receipts-45c5</guid>
      <description>&lt;p&gt;I get asked for receipts on every cost number I publish. So here is one full run, end to end, with screenshots replaced by file paths you can read on GitHub.&lt;/p&gt;

&lt;p&gt;The feature is real. It shipped to a real fintech codebase in March 2026. The prompt, agent outputs, costs, and gate decisions are all recorded in &lt;code&gt;tasks/W14-stripe-webhook-retry&lt;/code&gt; in that project (I am not linking the client repo, but I am willing to share artefacts on request).&lt;/p&gt;

&lt;h2&gt;
  
  
  The feature
&lt;/h2&gt;

&lt;p&gt;"Add idempotent retry handling to our Stripe webhook receiver. If Stripe re-delivers an event (network blip, our 5xx response, manual replay), we should not double-process. PCI scope must stay SAQ-A."&lt;/p&gt;

&lt;p&gt;Two sentences. No requirements document. This is roughly the level of brief I get from the team's PM most weeks.&lt;/p&gt;

&lt;h2&gt;
  
  
  What ran
&lt;/h2&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight console"&gt;&lt;code&gt;&lt;span class="gp"&gt;$&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;npx great-cto init
&lt;span class="go"&gt;…detected archetype: fintech (PCI-DSS)
…attached pack: api-platform-pack
…attached pack: pci-pack
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pipeline rolled forward unattended through:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;code&gt;archetype-detector&lt;/code&gt; — 12 seconds. Scanned &lt;code&gt;package.json&lt;/code&gt;, &lt;code&gt;infra/&lt;/code&gt;, README. Flagged Stripe webhook handler, BNPL flow, three PII columns in &lt;code&gt;users&lt;/code&gt; table.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;architect&lt;/code&gt; — 4 minutes. Wrote &lt;code&gt;ARCH.md&lt;/code&gt; with: idempotency key strategy (deterministic from &lt;code&gt;event.id&lt;/code&gt;), 24-hour retention window for processed-event log, exit criteria for "duplicate", interaction with existing audit log.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate: plan&lt;/strong&gt; — I read the ARCH note for ~3 minutes, asked one clarifying question about the retention window ("why 24h, not the 7d that Stripe retries for"), agent updated to 7 days, I approved.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pm&lt;/code&gt; decomposed into 4 tasks, scheduled 2 in parallel.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;senior-dev&lt;/code&gt; × 2 — 38 minutes, parallel git worktrees. Output: 6-file diff, +287 / −41 lines.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;qa-engineer&lt;/code&gt; — 11 minutes. Wrote 17 new tests, including a property-based test for replay ordering. Coverage on touched code: 94%.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pci-reviewer&lt;/code&gt; (auto-attached by fintech archetype) — 8 minutes. Verified no card data hits new code path; idempotency log table excluded from CHD scope.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;api-platform-reviewer&lt;/code&gt; — 7 minutes. Checked webhook signature replay window (5 min skew, ok), idempotency key collision math, Sunset header (n/a, internal endpoint).&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;security-officer&lt;/code&gt; — 4 minutes. Verified no new secret access patterns, audit trail covers retry path.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;code-reviewer&lt;/code&gt; (12-angle) — 6 minutes. Three minor refactor suggestions, all accepted.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gate: ship&lt;/strong&gt; — I saw 5 reviewer cards, scrolled through 2, approved.&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;devops&lt;/code&gt; opened the PR. Branch CI was already green. Merged.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The receipts
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Total wall-clock: 1h 26m.&lt;/strong&gt; That includes the ~7 minutes I spent reading two artefacts and approving two gates. The agents themselves did about 78 minutes of work, mostly in parallel.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Total LLM cost: $1.42.&lt;/strong&gt; Breakdown by agent (rounded):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;architect          $0.34
pm                 $0.04
senior-dev × 2     $0.62
qa-engineer        $0.18
pci-reviewer       $0.09
api-platform-rev   $0.07
security-officer   $0.05
code-reviewer      $0.03
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;&lt;code&gt;senior-dev&lt;/code&gt; is the cost driver (it writes the code). Reviewers are cheap (they output verdicts, not code). The whole thing fit inside the free monthly credit on Anthropic for the team account.&lt;/p&gt;

&lt;h2&gt;
  
  
  What I would have done manually
&lt;/h2&gt;

&lt;p&gt;About 4-5 hours of senior backend work for the code, plus 1-2 hours of PCI review (we have an internal expert) before merge. Call it $700-$900 in fully-loaded engineering time. So the cost ratio is roughly 500× cheaper, the time ratio roughly 4× faster, with the same level of review rigour.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;That is not "AI replaces the engineer."&lt;/strong&gt; It is "AI does the mechanical 80% so the engineer spends 7 minutes on the part where judgment matters." The clarifying question I asked at gate:plan (retention window) is the kind of thing the agent would not have caught on its own.&lt;/p&gt;

&lt;h2&gt;
  
  
  ⚠ Honest caveats
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;This was a small, well-scoped feature with clear PCI implications already known by the team. For greenfield features in unfamiliar regulatory territory, expect 2-3× longer wall-clock and a chunkier ARCH approval cycle.&lt;/li&gt;
&lt;li&gt;The 78-min agent runtime ran on Claude Sonnet 4.6. On Haiku it would be ~30% faster and ~3× cheaper, with measurably weaker &lt;code&gt;architect&lt;/code&gt; output (we tried).&lt;/li&gt;
&lt;li&gt;One reviewer agent (the &lt;code&gt;data-platform-reviewer&lt;/code&gt;) was opted out because we do not warehouse webhook events. If you do, that adds ~10 minutes and ~$0.10.&lt;/li&gt;
&lt;li&gt;The team's existing test suite was already in good shape. On a codebase with poor test infra, &lt;code&gt;qa-engineer&lt;/code&gt; would either spend longer building scaffolding or punt — and you would notice at gate:ship.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  What this proves and what it doesn't
&lt;/h2&gt;

&lt;p&gt;It proves the pipeline works on a feature you would have hand-built. It does not prove the pipeline can run your whole engineering org. We have not tried that and I do not recommend it. Two human gates per feature is the upper bound for "responsible automation"; more gates means slower, fewer means broken prod (see &lt;a href="https://dev.to/blog/why-your-agent-system-fails"&gt;my earlier post on missing gates&lt;/a&gt; for why two is the right number).&lt;/p&gt;

&lt;p&gt;If you want the same level of detail for a non-fintech archetype — say a voice-AI MVP or a clinical decision support tool — DM me on &lt;a href="https://twitter.com/avelikiy" rel="noopener noreferrer"&gt;Twitter&lt;/a&gt; and I will publish another one.&lt;/p&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; — a multi-agent SDLC plugin for Claude Code. MIT, runs locally. Pay your own LLM API. The full architecture diagram, with every node mapped to its source on GitHub, is &lt;a href="https://dev.to/architecture"&gt;here&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>sdlc</category>
      <category>cost</category>
    </item>
    <item>
      <title>What $1.4M of compliance work looks like in 14 hours – ten packs, ten regulated industries</title>
      <dc:creator>Alexander Velikiy</dc:creator>
      <pubDate>Sat, 16 May 2026 12:51:54 +0000</pubDate>
      <link>https://forem.com/great_cto/ai-dropped-my-per-feature-ship-time-from-3-days-to-3-hours-heres-the-actual-stack-2d91</link>
      <guid>https://forem.com/great_cto/ai-dropped-my-per-feature-ship-time-from-3-days-to-3-hours-heres-the-actual-stack-2d91</guid>
      <description>&lt;p&gt;Startups have often reached out to me with versions of the same problem. Their engineering teams could ship a regulated feature in three days. The compliance setup around it – PCI scope-reduction analysis, SAQ-A vs SAQ-D paperwork, consent-flow rewrite to stay out of cardholder-data territory, legal review – was taking &lt;strong&gt;six weeks and costing each client about $42,000&lt;/strong&gt; in fees.&lt;/p&gt;

&lt;p&gt;Three days of code. Six weeks of compliance. That's the ratio I kept seeing.&lt;/p&gt;

&lt;p&gt;This isn't a complaint about lawyers or compliance – those people are doing real work that prevents real disasters. It's a complaint about how &lt;em&gt;un-automated&lt;/em&gt; the work is. Most of those six weeks at each client were spent on questions that already had answers: which SAQ form applies, what idempotency-key contract looks like under PCI, whether the webhook signature can replay-attack the refund flow. &lt;strong&gt;The answers exist. They're just not in any client's codebase and they're not in any client's CI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;That's what I've been building for them. Ten compliance "packs" for GreatCTO, one per regulated industry, that wire the gates the day the team scaffolds a project – not the day the auditor lands.&lt;/p&gt;

&lt;p&gt;Below: what each pack does, what problem it solves, how long the same work takes humans, and (importantly) what the pack &lt;strong&gt;does not&lt;/strong&gt; replace.&lt;/p&gt;

&lt;h2&gt;
  
  
  How a pack works, in one paragraph
&lt;/h2&gt;

&lt;p&gt;A pack is a small overlay that attaches when GreatCTO detects industry signals in your repo (&lt;code&gt;twilio&lt;/code&gt; in package.json → voice; &lt;code&gt;clinical&lt;/code&gt; in README → healthcare; &lt;code&gt;RBI&lt;/code&gt; mentioned anywhere → emerging-markets fintech). When it attaches, it adds one to four specialist reviewer agents, a threat-model template that gets filled out before code is written, two to four named human gates, and a list of evidence artifacts that must exist before you can ship. Every gate decision is logged with rationale. &lt;strong&gt;The point isn't to replace the human signature – it's to deliver the auditor a tidy evidence package instead of a panicked Slack thread.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;(Quick confession on the detection: the first version did fuzzy substring matching, and voice-pack happily triggered on a static-site-generator repo whose README said "we explicitly do not use Twilio." Spent an hour wondering why a blog generator was getting a TCPA threat model. Exact-match keywords only, since then.)&lt;/p&gt;

&lt;p&gt;OK, the ten packs.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. voice-pack – for anyone whose product makes phone calls
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; TCPA (US federal), state recording-consent laws (nine states require all-party consent), STIR/SHAKEN caller-ID rules, E911, CVAA accessibility, PCI redaction if you ever capture a card number on a call. These are &lt;em&gt;eleven&lt;/em&gt; separate compliance surfaces, and a founder shipping a "voice agent" MVP touches at least seven of them by accident.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Detects voice signals (&lt;code&gt;twilio&lt;/code&gt;, &lt;code&gt;livekit&lt;/code&gt;, &lt;code&gt;deepgram&lt;/code&gt;, &lt;code&gt;elevenlabs&lt;/code&gt;, &lt;code&gt;IVR&lt;/code&gt;), attaches the &lt;strong&gt;voice-ai-reviewer&lt;/strong&gt; agent, generates a threat-model document that lists which states' consent rules apply to your call routing, wires &lt;code&gt;gate:voice-compliance&lt;/code&gt; so no code ships before that threat model is signed. Ships four eval fixtures that automatically test for: prompt-injection from caller speech, synthesized-voice disclosure, identity drift across call handoffs, PII leakage in transcripts.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; I priced this out properly the last time I did it the manual way: ~80 hours of communications-law consulting ($28K at $350/h) plus ~120 hours of senior backend work to wire the consent logging properly. &lt;strong&gt;Six weeks of calendar time before launch.&lt;/strong&gt; The pack does the equivalent threat-modeling + gate wiring in ~45 minutes of LLM time.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Embarrassing detail to call out up front:&lt;/strong&gt; the first voice-pack threat-model template was 800 words long and read like a law-school essay. Three different auditors politely asked if I could make it shorter. v2 is 200 words and now they cite it back to me. Compliance auditors, it turns out, prefer one-page documents to thirty-page ones.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (37 startups in our catalogue):&lt;/strong&gt; Bolna, Vapi, Retell AI, Sierra, Cresta, Phonely, Sonia, careCycle, Assort Health, Uplift AI.&lt;/p&gt;




&lt;h2&gt;
  
  
  2. clinical-pack – for medical AI
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; "We're decision support, not a medical device" is the most expensive sentence in healthcare AI. The FDA's CDS guidance is narrower than founders read it. The minute your model outputs anything that &lt;em&gt;influences&lt;/em&gt; a clinical decision without leaving the four-corners test intact, you're a &lt;strong&gt;Software as a Medical Device (SaMD)&lt;/strong&gt; and you owe the FDA a pre-market submission. Get the SaMD class wrong and you're shipping 18 months later than planned.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Two reviewers: &lt;strong&gt;ai-clinical-reviewer&lt;/strong&gt; for the clinical-judgment surface, &lt;strong&gt;fda-reviewer&lt;/strong&gt; for SaMD classification. The pack walks your repo through the SaMD four-corners test, classifies as Class A/B/C/D, generates the right pre-submission paperwork outline (510(k) / De Novo / PMA), and wires &lt;code&gt;gate:samd-class&lt;/code&gt; as the gating decision. Also covers GMLP-10, post-market surveillance plan, EU MDR/IVDR if you ship in Europe, HIPAA technical safeguards.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; SaMD regulatory consulting runs $400–600/h, and the classification analysis alone is typically a 60–80 hour engagement (~$36K). Then 120+ hours of dev work building the Part 11 audit trail. &lt;strong&gt;Three months of work before your first FDA conversation.&lt;/strong&gt; Pack runs the classification + evidence framework in ~60 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (40 startups):&lt;/strong&gt; Assort Health, careCycle, Sonia, Knowtex, mdhub, FutureClinic, Ora AI, Empirical Health, AOA Dx, Nest Genomics.&lt;/p&gt;




&lt;h2&gt;
  
  
  3. hr-ai-pack – for AI hiring tools, screeners, interviewers, performance review
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; NYC Local Law 144 has been in effect since July 2023. Any AEDT (automated employment decision tool) used on a NYC resident requires an independent bias-audit posted publicly. Fines run up to $1,500 per candidate per day &lt;strong&gt;counting from the day the AEDT first ran&lt;/strong&gt;. The EEOC's iTutorGroup settlement ($365K, age-discrimination AI hiring) signaled enforcement intent. EU AI Act puts employment in Annex III (high-risk). And nobody on your team is the right person to design the bias audit.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Detects HR signals (&lt;code&gt;recruit&lt;/code&gt;, &lt;code&gt;hiring&lt;/code&gt;, &lt;code&gt;candidate&lt;/code&gt;, &lt;code&gt;resume&lt;/code&gt;, &lt;code&gt;interview&lt;/code&gt;, &lt;code&gt;ATS&lt;/code&gt;, &lt;code&gt;talent&lt;/code&gt;). Attaches &lt;strong&gt;hr-ai-reviewer&lt;/strong&gt;, wires &lt;code&gt;gate:aedt-audit&lt;/code&gt; as the annual checkpoint, generates the data-collection scaffolding the third-party auditor needs (selection rates by demographic, four-fifths-rule analysis, model card with feature lineage), and ships eval fixtures for prompt-injection-via-resume, candidate consent flow integrity, model-card transparency.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; External bias-audit engagement: $15–50K depending on auditor (we use third parties for the signoff – pack does not replace them). Internal prep: ~80 hours of someone reading the LL 144 spec + EEOC guidance + EU AI Act Annex III. Annual recurring cost: ~$25K. The pack does the &lt;em&gt;prep&lt;/em&gt; – the evidence package the auditor receives – in roughly 30 minutes per release cycle.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (27 startups):&lt;/strong&gt; Dover, Apriora, Greenhouse, Stepful, Mederva Health, Untether Labs, DirectShifts, Axle Health.&lt;/p&gt;




&lt;h2&gt;
  
  
  4. api-platform-pack – for products whose primary surface is an API
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; This pack solves the boring stuff that bites you at 7am when the on-call alert fires. Webhook signature drift after a key rotation. Replay attacks because nobody set a timestamp tolerance. Idempotency keys reused across users so two customers get charged for the same transaction. Public API deprecation without a Sunset header so partners' integrations silently break. None of this is glamorous. All of it ships every quarter at every startup I've worked at.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches &lt;strong&gt;api-platform-reviewer&lt;/strong&gt;, enforces OAuth 2.1 with PKCE, RFC 8594 Sunset on deprecations, HMAC + replay-window webhook signing, idempotency-key contracts on writes, OpenAPI 3.1 conformance, semver enforcement on the SDK with backward-compat matrix tests, and supply-chain hardening (Sigstore-signed releases, OpenSSF Scorecard ≥ 7). Three gates: &lt;code&gt;gate:semver-contract&lt;/code&gt;, &lt;code&gt;gate:sunset-rfc&lt;/code&gt;, &lt;code&gt;gate:ship&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Wiring all of the above into a new API platform takes a senior backend engineer roughly &lt;strong&gt;160 hours&lt;/strong&gt; (4 weeks at standard pace). I've personally redone this stack at three startups. The pack delivers the same setup in ~45 minutes and – more importantly – keeps it audited on every PR thereafter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (46 startups):&lt;/strong&gt; Vapi, Retell AI, Deepgram, ElevenLabs, LiveKit, Parachute, Medplum, Patch.&lt;/p&gt;




&lt;h2&gt;
  
  
  5. lending-pack – for credit, BNPL, payroll advance, anything with adverse action
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; The CFPB explicitly said in Circular 2023-03: &lt;em&gt;"the black-box AI denied your application"&lt;/em&gt; is not a permissible adverse-action notice under Regulation B. Your ML underwriter must produce &lt;strong&gt;specific reasons&lt;/strong&gt; in plain language. Plus FCRA furnisher rules. Plus NMLS state matrix. Plus BISG fair-lending analysis (disparate impact across protected classes). Plus the new CFPB Section 1071 reporting if you're a small-business lender. Plus state usury caps that vary from 6% to 36%.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches &lt;strong&gt;lending-credit-reviewer&lt;/strong&gt;, wires &lt;code&gt;gate:fair-lending&lt;/code&gt; (a disparate-impact report runs on every model release before ship), and generates the templates for ECOA-compliant adverse-action notices that explain feature contributions in human language. Also handles MLA for military borrowers, the state usury matrix, and the BISG demographic estimation pipeline.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Fair-lending consulting is ~$600/h. A clean ECOA-compliant adverse-action notice rewrite plus BISG analysis plus state usury matrix takes a fair-lending statistician + a compliance lawyer &lt;strong&gt;~6 weeks and around $90K&lt;/strong&gt;. Recurring per model release: ~$25K. Pack does the disparate-impact analysis + notice templates on every release in ~90 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (38 startups):&lt;/strong&gt; Aspire, OnDeck, MNT-Halan, Tabby, Tamara, SaveIN, Eden Care, Remedial Health.&lt;/p&gt;




&lt;h2&gt;
  
  
  6. clinical-trials-pack – for CTMS, EDC, eConsent, biomedical-data platforms
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; 21 CFR Part 11 audit trails. ALCOA+ data integrity (Attributable, Legible, Contemporaneous, Original, Accurate, plus Complete / Consistent / Enduring / Available). If an FDA inspector asks for &lt;em&gt;who changed this specific value on this specific subject at this specific time and why&lt;/em&gt; and your system can't produce it, your trial gets paused. Theranos paid an estimated $20M+ partly because their LIS audit trail couldn't meet Part 11. Your CTMS or EDC has logging – yes – but it doesn't capture &lt;em&gt;the reason for change in the operator's own words&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches two reviewers: &lt;strong&gt;clinical-trials-reviewer&lt;/strong&gt; for the trial workflow + &lt;strong&gt;bio-data-reviewer&lt;/strong&gt; for biomedical data flows (FHIR, HL7, OMOP, DICOM, genomics). Wires &lt;code&gt;gate:irb-ready&lt;/code&gt; (IRB submission package complete before any patient enrolls), &lt;code&gt;gate:part11-validation&lt;/code&gt; (Computer System Validation IQ/OQ/PQ before production go-live). Covers CDISC standards, Safe Harbor / Expert Determination de-identification, EU CTIS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Standing up a Part 11-compliant trial system from zero is roughly &lt;strong&gt;6 months of work&lt;/strong&gt; by a CSV (Computer Systems Validation) consultant ($250–400/h, ~480 hours = $120K–$190K), plus internal QA time. Pack delivers the validation framework + audit-trail patterns + IRB package outline in roughly 2 hours.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (20 startups):&lt;/strong&gt; Curebase, Medable, Veeva Systems, Castor, AOA Dx, Nest Genomics, Syntra, Medplum.&lt;/p&gt;




&lt;h2&gt;
  
  
  7. robotics-pack – for cobots, surgical robots, autonomous vehicles, drones
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; ISO 10218 / TS 15066 govern collaborative-robot operations. The robot must stop within milliseconds when force/torque sensors detect contact above the published human-tolerance threshold per body region. The &lt;strong&gt;HARA&lt;/strong&gt; (Hazard Analysis and Risk Assessment) must be signed by a licensed safety engineer &lt;strong&gt;before design freeze&lt;/strong&gt; – not after, not during integration testing. If your cobot injures someone and the HARA wasn't signed-off pre-design-freeze, OSHA general-duty clause and product-liability law become very personal very fast.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches &lt;strong&gt;robotics-safety-reviewer&lt;/strong&gt; (+ &lt;strong&gt;fda-reviewer&lt;/strong&gt; paired in for surgical robots). Wires &lt;code&gt;gate:hara-signoff&lt;/code&gt; (load-bearing – pack will NOT let you proceed without this), enforces SROS2 secure DDS, OTA update strategy, power-profiling + watchdog patterns, hardware-in-the-loop (HIL) test design, Sigstore-signed firmware. The pack generates the HARA evidence package; the human safety engineer still signs it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Functional-safety consultants run $400–600/h. A clean HARA + ISO 10218 compliance package for a new cobot is ~12 weeks of engagement (~$120K–$200K). Pack does the &lt;em&gt;evidence-and-template generation&lt;/em&gt; in ~3 hours; the human signoff remains mandatory and is not something to automate away.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (27 startups):&lt;/strong&gt; Andromeda Surgical, Revolve Surgical, Figure AI, 1X Technologies, Boston Dynamics, Skild AI, Zeon Systems, NeuroBionics.&lt;/p&gt;




&lt;h2&gt;
  
  
  8. em-fintech-pack – for fintechs operating outside US/EU/UK
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; US-founded fintechs entering India / Brazil / Nigeria / Indonesia / Philippines often assume they can rent a banking partner's license forever. Sometimes you can. Regularly the regulator changes their mind mid-year – RBI did exactly this with the 2024 prepaid-instrument and cards-network rules. Partnered fintechs woke up to frozen wallets. &lt;strong&gt;MNT-Halan reached unicorn status partly because their license strategy was on file with the Central Bank of Egypt from day one.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Detects country signals (India, Nigeria, Brazil, Indonesia, Philippines, Mexico, Kenya), regulator names (RBI, CBN, BSP, OJK, MAS, BCB), and rail integrations (M-Pesa, UPI, PIX, GCash, OVO, DANA). Attaches &lt;strong&gt;emerging-markets-fintech-reviewer&lt;/strong&gt;, wires &lt;code&gt;gate:license-strategy&lt;/code&gt; (forces the own-license vs. partner-bank decision &lt;em&gt;per jurisdiction&lt;/em&gt; before launch), and generates the jurisdiction-specific compliance matrix for KYC tiering, cross-border remittance, and local-rails integration patterns.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Jurisdictional fintech-law consulting in India alone is $400–500/h, and a clean license-strategy analysis for one country is 4–8 weeks of engagement (~$60K–$160K). Expand to three countries → $180K–$480K. Pack does first-pass analysis + decision-package outline for each jurisdiction in ~60 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (40 startups):&lt;/strong&gt; Razorpay, Aspire, MNT-Halan, Bolna, Remedial Health, SaveIN, Digi-Prex, Tabby, Tamara, Infiuss Health.&lt;/p&gt;




&lt;h2&gt;
  
  
  9. climate-pack – for carbon MRV, ESG reporting, synbio platforms
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; Methodology choice for carbon credits is a &lt;strong&gt;10-year decision dressed up as a config option&lt;/strong&gt;. In January 2023 a &lt;em&gt;Guardian&lt;/em&gt; investigation found ~94% of analyzed Verra rainforest credits were "phantom credits." Disney, Shell, Gucci quietly retired their positions. If your platform issued credits under that methodology, every buyer's purchase is retroactively suspect. You cannot change methodology retroactively without re-issuing the entire credit batch – which means refund + reputational damage. Plus the new CSRD (EU) + CBAM disclosure rules. Plus biosecurity if you're touching synbio.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches two reviewers: &lt;strong&gt;climate-mrv-reviewer&lt;/strong&gt; for the MRV pipeline and &lt;strong&gt;biosecurity-reviewer&lt;/strong&gt; for dual-use synbio. Wires &lt;code&gt;gate:mrv-methodology&lt;/code&gt; ("cannot change retroactively" – the heaviest gate in the pack), &lt;code&gt;gate:durc-signoff&lt;/code&gt; for Dual-Use Research of Concern, &lt;code&gt;gate:open-weights-release&lt;/code&gt; for generative bio-models. Covers GHG Protocol Scope 1/2/3, Verra/Gold Standard/Puro, SBTi target validation, ISSB, IGSC HSP v2 nucleic-acid screening.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Climate MRV consulting is ~$300–500/h. A clean methodology selection + documentation package is ~2 months of work (~$60K–$80K). Pack delivers the decision document + Verra-vs-Gold-Standard-vs-Puro comparison matrix in ~90 minutes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (25 startups):&lt;/strong&gt; Watershed, Persefoni, Sweep, Greenly, Plan A, Pachama, Sylvera, Patch.&lt;/p&gt;




&lt;h2&gt;
  
  
  10. drug-discovery-pack – for ML-driven drug discovery, GLP labs, cloud labs
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;The problem.&lt;/strong&gt; Generative chemistry / protein-design models are confidently wrong outside their training distribution. The bug pattern: model produces a target with 0.92 predicted binding score, you spend $80K–$400K on wet-lab validation, it doesn't bind, post-mortem reveals the target was outside the model's applicability domain. There's no regulator here – there's just a co-founder whose lab budget just went up in smoke. Plus, if your synthesis order accidentally matches a pathogen-of-concern sequence, your synthesis vendor's legal team calls before your chemistry team does.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What the pack does.&lt;/strong&gt; Attaches &lt;strong&gt;four&lt;/strong&gt; reviewers – &lt;code&gt;drug-discovery-ml-reviewer&lt;/code&gt;, &lt;code&gt;glp-glab-reviewer&lt;/code&gt;, &lt;code&gt;lab-automation-reviewer&lt;/code&gt;, &lt;code&gt;biosecurity-reviewer&lt;/code&gt;. Wires &lt;code&gt;gate:model-card-signoff&lt;/code&gt; (applicability domain + calibration verified before wet-lab spend – the cost-saving gate) and &lt;code&gt;gate:csv-validation&lt;/code&gt; (IQ/OQ/PQ before GLP/GMP production – the regulatory gate). Covers ChEMBL/PubChem dataset versioning, ALCOA+ data integrity, SiLA2 instrument-driver standards, ASTM E2500.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Human-equivalent work.&lt;/strong&gt; Standing up ML ops + applicability-domain monitoring + GLP-compliant data integrity + IQ/OQ/PQ validation framework is roughly &lt;strong&gt;5 months of work&lt;/strong&gt; across an ML engineer, a QA-CSV consultant, and a lab-automation specialist (~$180K–$280K). Pack does the framework + first model-card + validation outline in ~3 hours.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Who's working in this niche (33 startups):&lt;/strong&gt; Future Fields, Ångström AI, Talus Bio, Abalone Bio, om therapeutics, Olio Labs, ParcelBio, Zeon Systems.&lt;/p&gt;




&lt;h2&gt;
  
  
  The compliance-slice comparison (with vs. without packs)
&lt;/h2&gt;

&lt;p&gt;Important scope note before the numbers: &lt;strong&gt;this table covers only the compliance setup slice.&lt;/strong&gt; It is the part the packs replace: regulation reading, threat-model drafting, gate definition, evidence-framework setup, and the legal-and-audit work attached to that slice. It does &lt;strong&gt;not&lt;/strong&gt; include the rest of the product – architecture, backend, frontend, database, integration code, test suite, security audits, deployment, or any ongoing feature work. Those are real costs, they don't disappear, and we'll look at them next.&lt;/p&gt;

&lt;p&gt;What the packs replace inside the compliance slice: the discovery work – reading the regulation, mapping it to your stack, drafting the gate set, writing the threat model, building the evidence framework. The part where a senior person spends 80–200 hours per industry. Mechanical, repeatable, and a great use of an LLM.&lt;/p&gt;

&lt;p&gt;What the packs do &lt;strong&gt;not&lt;/strong&gt; replace, even inside the compliance slice: third-party audits, regulator meetings, legal sign-off on the generated artifacts, safety-engineer signatures on HARA, the human review of the threat model.&lt;/p&gt;

&lt;p&gt;End-to-end numbers for &lt;strong&gt;the compliance slice only&lt;/strong&gt;, with vs. without each pack:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Pack&lt;/th&gt;
&lt;th&gt;Compliance slice without pack&lt;/th&gt;
&lt;th&gt;Compliance slice with pack (LLM + remaining human work)&lt;/th&gt;
&lt;th&gt;Slice saving&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;voice-pack&lt;/td&gt;
&lt;td&gt;~$42K · 6 weeks&lt;/td&gt;
&lt;td&gt;~$22K (≈ $20K integration code for gates + $2K legal review)&lt;/td&gt;
&lt;td&gt;~48%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clinical-pack&lt;/td&gt;
&lt;td&gt;~$60K · 3 months&lt;/td&gt;
&lt;td&gt;~$28K (≈ $25K dev + regulatory pursuit + $3K legal + $0.90 LLM)&lt;/td&gt;
&lt;td&gt;~53%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;hr-ai-pack (prep)&lt;/td&gt;
&lt;td&gt;~$25K · 80h&lt;/td&gt;
&lt;td&gt;~$8K + external LL 144 auditor at &lt;strong&gt;$15–50K either way&lt;/strong&gt;
&lt;/td&gt;
&lt;td&gt;~68% on prep&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;api-platform-pack&lt;/td&gt;
&lt;td&gt;~$48K · 4 weeks&lt;/td&gt;
&lt;td&gt;~$18K (≈ $15K dev + $3K legal + $0.50 LLM)&lt;/td&gt;
&lt;td&gt;~63%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;lending-pack&lt;/td&gt;
&lt;td&gt;~$90K · 6 weeks&lt;/td&gt;
&lt;td&gt;~$32K (≈ $25K dev + $7K legal + $0.70 LLM)&lt;/td&gt;
&lt;td&gt;~64%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;clinical-trials-pack&lt;/td&gt;
&lt;td&gt;~$150K · 6 months&lt;/td&gt;
&lt;td&gt;~$55K (+ IRB approval, non-automatable)&lt;/td&gt;
&lt;td&gt;~63%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;robotics-pack&lt;/td&gt;
&lt;td&gt;~$150K · 12 weeks&lt;/td&gt;
&lt;td&gt;~$60K (+ licensed safety-engineer signature, non-automatable)&lt;/td&gt;
&lt;td&gt;~60%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;em-fintech-pack (per jurisdiction)&lt;/td&gt;
&lt;td&gt;~$100K · 6 weeks&lt;/td&gt;
&lt;td&gt;~$35K&lt;/td&gt;
&lt;td&gt;~65%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;climate-pack&lt;/td&gt;
&lt;td&gt;~$70K · 8 weeks&lt;/td&gt;
&lt;td&gt;~$28K&lt;/td&gt;
&lt;td&gt;~60%&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;drug-discovery-pack&lt;/td&gt;
&lt;td&gt;~$220K · 5 months&lt;/td&gt;
&lt;td&gt;~$80K (wet-lab spend not reducible)&lt;/td&gt;
&lt;td&gt;~64%&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Median saving on the compliance slice: &lt;strong&gt;~63%&lt;/strong&gt;. Across all ten industries, the compliance-slice cost drops from roughly &lt;strong&gt;$955K to ~$366K&lt;/strong&gt;, and the calendar time on the compliance work itself from ~21 months to ~7 months. That's a defensible 60 %-ish reduction on this specific portion of product work.&lt;/p&gt;

&lt;h2&gt;
  
  
  And the rest of the product?
&lt;/h2&gt;

&lt;p&gt;Compliance is one slice of an MVP – typically 10–25 % of the total build cost for a regulated AI product. The other 75–90 % is the actual engineering: architecture, backend, frontend, database, integration code, test suite, security audits, deployment, monitoring, and the long tail of ongoing features.&lt;/p&gt;

&lt;p&gt;Agents help here too – but the savings shape is different, the LLM costs are much higher than the cents-per-pack numbers above, and the human team doesn't get to be smaller, it just gets to ship more.&lt;/p&gt;

&lt;p&gt;A realistic end-to-end picture for shipping a &lt;strong&gt;voice-AI MVP&lt;/strong&gt; (just one example – pick your archetype, numbers scale similarly):&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Work area&lt;/th&gt;
&lt;th&gt;Traditional team (1 PM + 4 engineers, 3 months)&lt;/th&gt;
&lt;th&gt;With agentic SDLC (1 PM + 2 engineers + agents, 3 months)&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Architecture + ADRs&lt;/td&gt;
&lt;td&gt;~$20K (senior architect, 2 weeks)&lt;/td&gt;
&lt;td&gt;~$10K (1 sr eng + architect agent; ~$5K payroll + LLM)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Backend (Twilio, OpenAI, call routing)&lt;/td&gt;
&lt;td&gt;~$80K (2 engineers · 8 weeks)&lt;/td&gt;
&lt;td&gt;~$30K (1 engineer + senior-dev agents · 6 weeks)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Frontend (operator dashboard, call review UI)&lt;/td&gt;
&lt;td&gt;~$40K (1 frontend · 4 weeks)&lt;/td&gt;
&lt;td&gt;~$15K (1 engineer + agents · 3 weeks)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Database + migrations&lt;/td&gt;
&lt;td&gt;~$15K&lt;/td&gt;
&lt;td&gt;~$5K (agent-assisted schema + human review)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Test suite + QA&lt;/td&gt;
&lt;td&gt;~$25K (1 QA · 6 weeks)&lt;/td&gt;
&lt;td&gt;~$10K (qa-engineer agent + 1 human reviewer)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Security review + pen test&lt;/td&gt;
&lt;td&gt;~$20K (external pen test)&lt;/td&gt;
&lt;td&gt;~$15K (external pen test still required + security-officer agent for internal review)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Compliance (voice-pack covers)&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$42K&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$22K&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deployment + CI/CD&lt;/td&gt;
&lt;td&gt;~$15K&lt;/td&gt;
&lt;td&gt;~$8K&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Documentation&lt;/td&gt;
&lt;td&gt;~$10K&lt;/td&gt;
&lt;td&gt;~$3K (agent-generated, human review)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PM + buffer&lt;/td&gt;
&lt;td&gt;~$20K&lt;/td&gt;
&lt;td&gt;~$10K (pm agent + lighter human PM)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;MVP total&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$287K&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$128K&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;LLM compute across the whole MVP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;$0&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~$500–$1,500&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Wall-clock time to MVP&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;~3 months&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~6–8 weeks&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Headcount&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;1 PM + 4 engineers&lt;/td&gt;
&lt;td&gt;1 PM + 2 engineers + agents&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Median MVP saving with full agentic SDLC + the voice-pack: roughly &lt;strong&gt;55 %&lt;/strong&gt; on cost, &lt;strong&gt;~45 %&lt;/strong&gt; on wall-clock time. The LLM cost across the &lt;strong&gt;entire&lt;/strong&gt; product build is in the four-figure range – single dollars per pack, several hundred dollars across all the agentic SDLC work, plus a few hundred dollars in the slower archetype-reviewer + memory-loop tail.&lt;/p&gt;

&lt;p&gt;Two things this table makes obvious:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;The compliance pack isn't the headline saving.&lt;/strong&gt; It's one of nine work areas that gets cheaper. The packs save 60 % of compliance cost; the agentic SDLC saves a similar fraction across each of the other work areas. The compounding 55 % MVP saving comes from doing both, not from one heroic LLM call.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;strong&gt;You still need engineers.&lt;/strong&gt; The "2 engineers + agents" team is real. Those engineers operate the pipeline, review agent output, fix the bugs agents create, integrate the actual product, and ship the code. The headcount drops from 4 → 2 – but it doesn't drop to 0. The startup that ships an MVP with no humans in 2026 doesn't exist.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;What you actually get: &lt;strong&gt;the same MVP, faster, with half the headcount, at roughly half the cost&lt;/strong&gt; – and a much bigger fraction of the work shifts from "writing code" to "reviewing agent output and arguing with auditors." Different work shape. Smaller team. Larger output.&lt;/p&gt;

&lt;h2&gt;
  
  
  Time, not just money
&lt;/h2&gt;

&lt;p&gt;The dollar number (55 % MVP saving) is one frame. The time number is a different – and for a runway-constrained startup, arguably more important – one. Building this stack burns calendar time you don't get back. So here's where the wall-clock actually changes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Wall-clock to ship the MVP
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;Traditional team:&lt;/strong&gt; ~3 months for 1 PM + 4 engineers to ship a voice-AI MVP, end to end. That's the version that includes ~6 weeks of sequential compliance work running mostly parallel to feature dev.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;With agentic SDLC + voice-pack:&lt;/strong&gt; &lt;strong&gt;~6–8 weeks&lt;/strong&gt; for 1 PM + 2 engineers + agents. About a &lt;strong&gt;40–50 % wall-clock reduction&lt;/strong&gt;, not just a cost reduction.&lt;/p&gt;

&lt;p&gt;Why faster:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Parallel agent execution.&lt;/strong&gt; Architecture draft, backend scaffolding, test-suite generation, and threat-model writing all run in parallel. In the traditional version each is a sequential phase.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The compliance team is no longer the long pole.&lt;/strong&gt; The pack generates the threat model in 45 minutes. The 6-week "waiting on legal to read the regulation" tail disappears.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reviewer fan-out is parallel.&lt;/strong&gt; Five reviewers (QA, security, performance, archetype-specific, code review) run concurrently on every PR – 5–8 minutes vs. 1–2 days of sequential human review.&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Per-feature time
&lt;/h3&gt;

&lt;p&gt;The smaller, more visceral comparison – what it feels like day to day to ship one feature:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Activity&lt;/th&gt;
&lt;th&gt;Traditional senior team&lt;/th&gt;
&lt;th&gt;With agents&lt;/th&gt;
&lt;th&gt;Speedup&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Plan a feature (ARCH doc, task breakdown)&lt;/td&gt;
&lt;td&gt;2–4 hours of human discussion + writing&lt;/td&gt;
&lt;td&gt;15 min (architect + pm agents → &lt;code&gt;gate:plan&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;~10×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Write the code (small feature)&lt;/td&gt;
&lt;td&gt;1–3 days of senior dev&lt;/td&gt;
&lt;td&gt;~1–2 hours of human review of agent output&lt;/td&gt;
&lt;td&gt;~10–15×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Code review&lt;/td&gt;
&lt;td&gt;2–4 hours, often async over 1–2 days&lt;/td&gt;
&lt;td&gt;30 min (5 reviewers running in parallel)&lt;/td&gt;
&lt;td&gt;~10×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;QA / test suite&lt;/td&gt;
&lt;td&gt;1 day&lt;/td&gt;
&lt;td&gt;15 min (qa-engineer agent + 1 human spot check)&lt;/td&gt;
&lt;td&gt;~25×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Deploy (canary + monitoring)&lt;/td&gt;
&lt;td&gt;~4 hours&lt;/td&gt;
&lt;td&gt;~10 min (auto-canary)&lt;/td&gt;
&lt;td&gt;~25×&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;End-to-end per feature&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~3–5 days&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~3–5 hours&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;~10×&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;So shipping one feature drops from &lt;em&gt;"we'll have it next week"&lt;/em&gt; to &lt;em&gt;"we'll have it after lunch."&lt;/em&gt; That's the kind of speedup that changes what you're willing to build.&lt;/p&gt;

&lt;h3&gt;
  
  
  The investigative + maintenance numbers
&lt;/h3&gt;

&lt;p&gt;Different shape of work, different speedup. These are the ones I personally care about most because they show up in on-call rotations:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Activity&lt;/th&gt;
&lt;th&gt;Traditional&lt;/th&gt;
&lt;th&gt;With agents&lt;/th&gt;
&lt;th&gt;Why faster&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;First commit by a new team member&lt;/td&gt;
&lt;td&gt;2–3 weeks of onboarding&lt;/td&gt;
&lt;td&gt;~5 minutes (new agent reads CLAUDE.md + lessons.md)&lt;/td&gt;
&lt;td&gt;No human onboarding needed for agents&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time to investigate a recurring P0 incident&lt;/td&gt;
&lt;td&gt;~4 hours on first occurrence&lt;/td&gt;
&lt;td&gt;~30 min on second occurrence&lt;/td&gt;
&lt;td&gt;Memory layer remembers the detection pattern – &lt;a href="https://github.com/avelikiy/great_cto/blob/main/docs/benchmarks/MTTR.md" rel="noopener noreferrer"&gt;94 % MTTR reduction documented here&lt;/a&gt;
&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time to add a brand-new compliance archetype&lt;/td&gt;
&lt;td&gt;4–6 weeks (research + integration)&lt;/td&gt;
&lt;td&gt;~3 days (pack overlay + product customization)&lt;/td&gt;
&lt;td&gt;~70 % of the work is templates the pack already ships&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time to update an existing pack when a regulation changes&lt;/td&gt;
&lt;td&gt;1–2 weeks (audit + rewrite)&lt;/td&gt;
&lt;td&gt;4–8 hours (LLM reads the regulation diff, updates the reviewer prompt)&lt;/td&gt;
&lt;td&gt;Diff-and-template is mechanical&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time to scaffold a new project + wire archetype + first feature plan ready&lt;/td&gt;
&lt;td&gt;~1 week (kickoff meetings + arch doc)&lt;/td&gt;
&lt;td&gt;~12 minutes (&lt;code&gt;npx great-cto init&lt;/code&gt; + &lt;code&gt;/start "feature"&lt;/code&gt;)&lt;/td&gt;
&lt;td&gt;All of step zero is automated&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  What does NOT speed up
&lt;/h3&gt;

&lt;p&gt;This is the section that keeps the rest of the article honest. &lt;strong&gt;Several critical-path items don't speed up at all&lt;/strong&gt;, and pretending they do is exactly the kind of marketing the article opens by complaining about:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;External audit cycles still take their natural time.&lt;/strong&gt; A NYC LL 144 bias auditor still takes 2–4 weeks. An FDA pre-submission meeting cycle is still 60–90 days.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;IRB approval for a clinical trial&lt;/strong&gt; still takes 2–3 months. You can prepare the package in a day; you can't make the IRB committee meet faster.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regulator meetings&lt;/strong&gt; still need to be scheduled. RBI, CBN, BSP, FDA – those are calendars, not API endpoints.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Wet-lab validation&lt;/strong&gt; for a drug-discovery hit is still a real biology experiment that takes weeks regardless of how smart the model was that predicted the target.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;HARA signoff&lt;/strong&gt; by a licensed safety engineer is a single calendar moment. The pack generates the package in 3 hours; the human still owns the date on which they sign it.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The pattern: &lt;strong&gt;internal work compresses 5–25×. External-dependency work does not.&lt;/strong&gt; A useful mental model is: "the LLM accelerates everything that's purely you and your codebase. Everything that requires another human or organization to commit time runs at human speed."&lt;/p&gt;

&lt;h3&gt;
  
  
  Why this matters for runway
&lt;/h3&gt;

&lt;p&gt;An early-stage AI startup typically has 18–24 months of runway. If your MVP cycle drops from 3 months to 6 weeks, &lt;strong&gt;you don't just save money – you double the number of pivots you can survive.&lt;/strong&gt; Three pivots become six. Two product directions become four. The number of bets you can hedge per year doubles.&lt;/p&gt;

&lt;p&gt;For a category-defining startup hunting for product-market fit, that's the difference between catching the wave and missing it.&lt;/p&gt;

&lt;h2&gt;
  
  
  What this actually changes
&lt;/h2&gt;

&lt;p&gt;The 63 % saving and the $1.6M → $400K end-to-end number are fine, but they hide a deeper shift that's harder to put in a table. Three things have changed about how compliance work gets done – and none of them are "AI is magic."&lt;/p&gt;

&lt;h3&gt;
  
  
  1. Deep domain expertise has stopped being a moat. Pipeline design has become one.
&lt;/h3&gt;

&lt;p&gt;For twenty years, the answer to "how do we ship compliantly into healthcare or fintech or voice-AI" has been "hire someone who's done it before." A senior fintech-compliance engineer with five years post-CFPB experience commands $300K+ because she knows where the bodies are buried. Same for the FDA SaMD consultant at $600/hour. Same for the ISO 10218 functional-safety lead.&lt;/p&gt;

&lt;p&gt;That moat hasn't disappeared, but it's been partially commoditized. &lt;strong&gt;The regulation text is publicly available. Mapping it to a stack is mechanical. Drafting a threat model is mechanical.&lt;/strong&gt; The LLM reads 200 pages of 21 CFR Part 11 faster than any human can think about it, and produces a first-pass mapping that's 70–80 % correct.&lt;/p&gt;

&lt;p&gt;What hasn't commoditized: judgment about edge cases, jurisdictional interpretation, regulator relationships, the ability to defend an audit finding on the phone. Those still cost money. &lt;strong&gt;But the bulk of "I need someone senior who's done this before" gets replaced by "I need someone who can read what the pack wrote and decide if it matches the product reality."&lt;/strong&gt; That's a different – and much cheaper – hire.&lt;/p&gt;

&lt;p&gt;The new moat is &lt;strong&gt;pipeline design&lt;/strong&gt;: how the gates wire together, what evidence the agent extracts, which artifacts persist, how the human-in-the-loop handoffs work, when the auditor sees the trail. That moat is much more accessible to a small startup than the hire-three-senior-experts moat ever was.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Agents bend the cost-per-feature curve. Hard.
&lt;/h3&gt;

&lt;p&gt;Look past the 63 % saving for a second. The number that actually matters: &lt;strong&gt;calendar time for a founder shipping into all ten industries goes from ~21 months to ~7 months.&lt;/strong&gt; That's not a marginal improvement. That's the difference between "this startup runs out of runway before we ship" and "we ship."&lt;/p&gt;

&lt;p&gt;For a Series B fintech that previously needed two senior compliance engineers, the math becomes: &lt;strong&gt;one senior compliance person plus the pipeline replaces three to four senior compliance people.&lt;/strong&gt; Not because the LLM is smarter than your senior person. The LLM is much faster at &lt;em&gt;reading&lt;/em&gt;; your senior person is much smarter about &lt;em&gt;judging&lt;/em&gt;. The bottleneck moves from "have we read the regulation" to "have we mapped it correctly to OUR product." The first question is mechanical. The second is a real skill.&lt;/p&gt;

&lt;p&gt;Shipping rate doubles. Then it doubles again when the same compliance person works across multiple regulated industries – which historically required multiple specialists.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. The work didn't disappear. It moved up the value chain.
&lt;/h3&gt;

&lt;p&gt;This is the part most "AI replaces engineers" takes get wrong. The work doesn't go away. It redistributes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The 200-hour "read the regulation and write the threat model" task → ~3 hours of human review of the LLM's output&lt;/li&gt;
&lt;li&gt;The 80-hour "wire the gate definitions into CI" task → 30 minutes of operator approval of the generated gate set&lt;/li&gt;
&lt;li&gt;The 60-hour "map every requirement to an evidence artifact" task → 4 hours of human verification per audit cycle&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The work that's gone:&lt;/strong&gt; mechanical reading + templating&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The work that's MORE valuable now:&lt;/strong&gt; judgment, jurisdictional interpretation, regulator relationships, defending an audit finding, and – separately – the production code itself&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;This is collaboration, not replacement. The LLM does the parts where &lt;strong&gt;speed beats judgment&lt;/strong&gt;. The human does the parts where &lt;strong&gt;judgment beats speed&lt;/strong&gt;. The auditor signs the certificate. The engineer ships the code.&lt;/p&gt;

&lt;p&gt;The compliance expert of 2027 is someone who knows which regulation applies in which jurisdiction &lt;strong&gt;and&lt;/strong&gt; can run a pipeline to do the reading + templating for them. Same depth of judgment, five times the productivity. That person is going to eat the market share of the compliance expert who still bills by the hour for reading regulation text.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest disclaimers
&lt;/h2&gt;

&lt;p&gt;Same as the last article and they always apply:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Packs do not certify you.&lt;/strong&gt; Reviewer agents produce evidence; humans sign.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Packs do not replace lawyers.&lt;/strong&gt; Reviewers encode commonly accepted readings of each regulation. Jurisdictional interpretation is your GC's job.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Packs cover 70–80% of each industry's gate surface.&lt;/strong&gt; The edges need overrides – fork the reviewer prompt at &lt;code&gt;agents/{slug}-reviewer.md&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The dollar amounts above are real published consulting-rate ranges plus my own historical project costs.&lt;/strong&gt; Your mileage will vary depending on industry, geography, and how much paperwork the regulator demands that month.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;And while we're being honest: I once asked the senior-dev agent to refactor a retry loop. It introduced a different retry bug. The qa-engineer agent reviewed and approved. The code-reviewer agent reviewed and approved. The bug shipped, l3-support caught it in production three hours later. &lt;code&gt;continuous-learner&lt;/code&gt; now carries a lesson called &lt;em&gt;"a committee of agents can rubber-stamp the same blind spot."&lt;/em&gt; Painfully on-brand for an article about review pipelines.&lt;/p&gt;

&lt;p&gt;If you want to try it: &lt;code&gt;npx great-cto init&lt;/code&gt;. MIT. Runs locally. Pay your own LLM API. Source: &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;github.com/avelikiy/great_cto&lt;/a&gt;. Pack pages with company catalogues: &lt;a href="https://greatcto.systems/packs" rel="noopener noreferrer"&gt;greatcto.systems/packs&lt;/a&gt;.&lt;/p&gt;

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

&lt;ul&gt;
&lt;li&gt;I built ten compliance packs because I got tired of paying $40-200K per industry, per startup, for the &lt;em&gt;first&lt;/em&gt; version of the compliance setup.&lt;/li&gt;
&lt;li&gt;Each pack: triggers on industry signals, attaches 1–4 specialist reviewer agents, wires named human gates, ships an evidence-artifact framework.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compliance is roughly 10–25 % of MVP cost.&lt;/strong&gt; The packs reduce the compliance slice end-to-end by ~63 % median (across all 10 industries: ~$955K → ~$366K). Calendar time on compliance: ~21 months → ~7 months.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The bigger picture is the full MVP, not just the compliance slice.&lt;/strong&gt; Realistic numbers for a voice-AI MVP: traditional team (1 PM + 4 engineers, ~3 months) ≈ $287K. With agentic SDLC + voice-pack (1 PM + 2 engineers + agents, &lt;strong&gt;~6–8 weeks&lt;/strong&gt;) ≈ $128K. LLM cost across the entire MVP: ~$500–$1,500.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;MVP saving with agents + packs: ~55 % on cost AND ~40–50 % on wall-clock time.&lt;/strong&gt; The compliance pack contributes ~$20K of that – the rest comes from agents helping across architecture, backend, frontend, DB, QA, security review, and deployment.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Per-feature time drops ~10×.&lt;/strong&gt; Plan → code → review → QA → deploy collapses from ~3–5 days to ~3–5 hours. The compliance archetype-update cycle goes from 1–2 weeks to 4–8 hours. New project scaffolding goes from ~1 week to ~12 minutes.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;What does NOT speed up:&lt;/strong&gt; external audits, IRB approval, regulator meetings, wet-lab validation, HARA signoff cycles. Anything that requires another organization to commit calendar time runs at human speed.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The runway implication:&lt;/strong&gt; if your MVP cycle drops from 3 months to 6 weeks, you double the number of pivots you can survive within the same 18–24 month runway. That's existential for a category-defining startup.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;You still need engineers.&lt;/strong&gt; Headcount drops 4 → 2. It does not drop to 0. The startup that ships an MVP with no humans in 2026 doesn't exist.&lt;/li&gt;
&lt;li&gt;What the packs &lt;strong&gt;do&lt;/strong&gt; replace: regulation-reading + threat-modeling + evidence-templating – the mechanical part. &lt;strong&gt;They do not&lt;/strong&gt; replace production code, third-party audits, regulator meetings, legal review, or human signatures on safety-critical gates.&lt;/li&gt;
&lt;li&gt;The bigger shift hidden in the numbers: &lt;strong&gt;deep domain expertise has stopped being a moat – pipeline design has become one.&lt;/strong&gt; Reading 21 CFR Part 11 is now mechanical (LLM-fast). Mapping it to your stack with judgment is still a senior skill. The hire profile changes; the headcount drops.&lt;/li&gt;
&lt;li&gt;The compliance expert of 2027 knows which regulation applies AND runs a pipeline to do the reading. Same depth of judgment, 5× the productivity. That person eats the market share of the one who still bills by the hour for reading regulation text.&lt;/li&gt;
&lt;li&gt;If your industry isn't in the ten above, three more land Q3: &lt;code&gt;gov-public-pack&lt;/code&gt;, &lt;code&gt;insurance-actuarial-pack&lt;/code&gt;, &lt;code&gt;edtech-coppa-pack&lt;/code&gt;. PRs welcome.&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;About: I build &lt;a href="https://greatcto.systems" rel="noopener noreferrer"&gt;GreatCTO&lt;/a&gt; – a multi-agent SDLC plugin for Claude Code. MIT, runs locally. Twitter: &lt;a href="https://twitter.com/avelikiy" rel="noopener noreferrer"&gt;@avelikiy&lt;/a&gt;. GitHub: &lt;a href="https://github.com/avelikiy/great_cto" rel="noopener noreferrer"&gt;@avelikiy/great_cto&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>compliance</category>
      <category>sdlc</category>
    </item>
  </channel>
</rss>
