<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Adrian M. Peticila</title>
    <description>The latest articles on DEV Community by Adrian M. Peticila (@adrian_m_peticila).</description>
    <link>https://dev.to/adrian_m_peticila</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.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F4023987%2Fd612ce0e-229b-43bb-9592-1b922c36ff01.png</url>
      <title>DEV Community: Adrian M. Peticila</title>
      <link>https://dev.to/adrian_m_peticila</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/adrian_m_peticila"/>
    <language>en</language>
    <item>
      <title>Ninety-Two Blog Posts, Five Percent of the Answer</title>
      <dc:creator>Adrian M. Peticila</dc:creator>
      <pubDate>Tue, 29 Sep 2026 21:17:59 +0000</pubDate>
      <link>https://dev.to/adrian_m_peticila/ninety-two-blog-posts-five-percent-of-the-answer-3opl</link>
      <guid>https://dev.to/adrian_m_peticila/ninety-two-blog-posts-five-percent-of-the-answer-3opl</guid>
      <description>&lt;p&gt;Every quarter I get asked the same question by a marketing director: why is our blog traffic up and our AI visibility flat? The answer is arithmetic, and it is not flattering.&lt;/p&gt;

&lt;p&gt;Last quarter I reviewed the content budget of a company that had shipped ninety-two blog posts in a year. Ninety-two. Every one researched, written, edited, SEO-checked, and promoted. The company was delighted with the traffic. It was also invisible in every AI answer about its own category.&lt;/p&gt;

&lt;p&gt;That gap is the entire argument of this piece, and it is not a fringe position. In June 2026, llemmy pulled 37,547 citations out of 5,200 AI answers generated by ChatGPT, Claude, Gemini, Perplexity and Google AI Overviews. About 5% of those citations pointed at the brand's own website. Nineteen out of twenty went somewhere else.&lt;/p&gt;

&lt;p&gt;Ninety-two posts competed for that 5%.&lt;/p&gt;

&lt;p&gt;Worse, most of those posts never got even that. Semrush, working with Kevin Indig, analysed thousands of domain appearances across AI search engines and found 62% of AI citations are what they call ghost citations. The model links your site as a source and never says your name. You collect the authority, the traffic does not arrive, and the brand does not register in the answer. The engines also behave in opposite ways. Gemini names a brand in 83.7% of answers but cites it as a source only 21.4% of the time. ChatGPT reverses it: 87% citation rate, 20.7% mention rate.&lt;/p&gt;

&lt;p&gt;Being right is not the objective. Being named is.&lt;/p&gt;

&lt;p&gt;So what is happening inside these systems? Search ranked pages. AI retrieval ranks sources, and it rewards something pages were never built to carry: agreement between independent nodes. When several unrelated sources describe you the same way, the odds a model repeats that description rise sharply. When your own blog makes a claim and nothing else in the world corroborates it, you have a weak signal in a large amount of noise. The model is not weighing the quality of your argument. It is counting how many places that have nothing to do with you say the same thing.&lt;/p&gt;

&lt;p&gt;The 5W Citation Source Audit makes the consequence concrete. Only about 12% of AI citations overlap Google's top 10 results. Wikipedia at 13.15% and Reddit at 11.97% together account for more than a quarter of US ChatGPT citations. YouTube appears in 23% of Google AI Overview answers.&lt;/p&gt;

&lt;p&gt;Reddit, Wikipedia, YouTube. None of them are trade publications, and none of them will accept a media kit. The expensive, relationship-driven work this industry has relied on for twenty years was built to earn links in the marketing press. That work still matters. It is simply no longer the mechanism doing the heavy lifting.&lt;/p&gt;

&lt;p&gt;The budgeting consequence is uncomfortable for anyone whose career runs on owned content. The blog is not your message to the market. It is your record for the machines. Structured data, entity markup, canonical facts, crawler policy: that is what the owned domain is for. It is the evidence locker, not the pulpit. Being believed happens on somebody else's domain.&lt;/p&gt;

&lt;p&gt;Three moves follow, in the order I would fund them.&lt;/p&gt;

&lt;p&gt;Cut first, measure second. Audit what the models currently say about you, not what you say about you. Run the prompts your buyers actually type, read the footnotes, and find out whether you are named, cited, or ignored. Most teams have never done this, and most discover the answer is "ignored".&lt;/p&gt;

&lt;p&gt;Then redirect the savings. The citations cluster in review sites, directories, communities and structured records, not in owned properties. Move the ninety-two posts of budget into places a machine is willing to read about you by people who do not work for you.&lt;/p&gt;

&lt;p&gt;And fix the plumbing underneath. Get the company and leadership names into structured, machine-readable, third-party records, because entity resolution decides whether a model merges your CEO with somebody who has the same surname and a louder footprint.&lt;/p&gt;

&lt;p&gt;None of this is a content strategy. The brands that win the AI answer will be the ones that appear, accurately and often, everywhere the engines look. Your own website was never going to be that place. It is roughly 5% of it, and 5% is not a budget line.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;By Adrian M. Peticila, CMO &amp;amp; AI Practitioner&lt;/strong&gt;&lt;br&gt;&lt;br&gt;
&lt;em&gt;Website: &lt;a href="https://peticila.ro" rel="noopener noreferrer"&gt;peticila.ro&lt;/a&gt;&lt;/em&gt;&lt;/p&gt;

</description>
      <category>marketing</category>
      <category>seo</category>
      <category>ai</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Why I Built Gorgona: Turning Runaway AI Agents to Stone</title>
      <dc:creator>Adrian M. Peticila</dc:creator>
      <pubDate>Wed, 02 Sep 2026 20:37:03 +0000</pubDate>
      <link>https://dev.to/adrian_m_peticila/why-i-built-gorgona-turning-runaway-ai-agents-to-stone-28ho</link>
      <guid>https://dev.to/adrian_m_peticila/why-i-built-gorgona-turning-runaway-ai-agents-to-stone-28ho</guid>
      <description>&lt;p&gt;Running multiple digital brands simultaneously with autonomous AI agents sounds like a dream until you wake up to a $500 token bill, an agent stuck in an infinite tool call loop, or sensitive credentials leaked into public commits.&lt;/p&gt;

&lt;p&gt;When you manage several brands alone, you cannot afford probabilistic safety. You need cold, deterministic discipline.&lt;/p&gt;

&lt;p&gt;That is why I created &lt;strong&gt;Gorgona&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  The Problem With Modern Autonomous Agents
&lt;/h2&gt;

&lt;p&gt;Most agent frameworks operate on optimistic recursion. The agent plans, calls tools, observes outputs, and continues thinking. When an unexpected error occurs, the typical failure mode is disastrous:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;The Infinite Hallucination Loop&lt;/strong&gt;: The agent attempts to fix a missing dependency, fails, repeats the same terminal command 15 times, and exhausts rate limits.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Context Bleed&lt;/strong&gt;: An agent working on Brand A accesses notes or credentials meant for Brand B, embedding them into commits or deploy scripts.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;The AI Slop Creep&lt;/strong&gt;: Text generated by runaway prompts becomes saturated with buzzwords ("delve into", "tapestry of", "fostering innovation") and unneeded punctuation.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You do not solve deterministic engineering problems with probabilistic prompts like "Please be careful not to leak secrets".&lt;/p&gt;

&lt;p&gt;You solve them with guardrails that &lt;strong&gt;turn runaway agents to stone&lt;/strong&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  What Is Gorgona?
&lt;/h2&gt;

&lt;p&gt;Gorgona is a lightweight, zero-dependency Python engine designed to enforce uncompromising boundaries on AI agents.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;       Autonomous Agent Step
                 │
                 ▼
         [ Gorgona Engine ]
                 │
  ┌──────────────┼──────────────┐
  ▼              ▼              ▼
Exposure     Isolation      Text Clean
 Guard         Guard          Guard
  │              │              │
  └──────────────┼──────────────┘
                 │
         [ Memory Graph ]
                 │
                 ▼
       Verified or Frozen
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;If an agent violates a rule, Gorgona halts execution immediately. No polite warnings. No retries. The agent is frozen before disk writes or git commits can occur.&lt;/p&gt;




&lt;h2&gt;
  
  
  Four Pillars of Stone
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Exposure Guard
&lt;/h3&gt;

&lt;p&gt;Detects leaked credentials, Bearer tokens, private SSH keys, and sensitive environment files before any push or deploy action.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Isolation Guard
&lt;/h3&gt;

&lt;p&gt;Enforces strict brand borders. If code or documentation for one client references identifiers from another client, execution stops immediately.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Text Cleaner Guard
&lt;/h3&gt;

&lt;p&gt;Enforces strict prose discipline. It flags AI markers and eliminates characters that scream synthetic generation, including a strict zero em-dash policy.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Memory Graph Guard
&lt;/h3&gt;

&lt;p&gt;Monitors agent recursion using depth-first search cycle detection. If an agent loops over the same action sequence, it triggers an immediate breaker.&lt;/p&gt;




&lt;h2&gt;
  
  
  Zero Dependencies Philosophy
&lt;/h2&gt;

&lt;p&gt;Gorgona was built with standard Python libraries. No heavy dependencies. No network calls. No telemetry. It runs in milliseconds inside lightweight CI/CD containers, local CLI environments, or edge workers.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;gorgona doctor
gorgona scan ./output-directory
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  The Future of Solo Engineering
&lt;/h2&gt;

&lt;p&gt;Operating as a solo builder at scale requires ruthless automation paired with ruthless constraints. Autonomous agents are incredible force multipliers, but only if they are held accountable to deterministic standards.&lt;/p&gt;

&lt;p&gt;Gorgona is available open source on GitHub:&lt;br&gt;
👉 &lt;a href="https://github.com/adrianpeticila/gorgona" rel="noopener noreferrer"&gt;https://github.com/adrianpeticila/gorgona&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Turn runaway agents to stone. Build with discipline.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>python</category>
      <category>opensource</category>
      <category>architecture</category>
    </item>
  </channel>
</rss>
