<?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: Fred the Fox 🦊</title>
    <description>The latest articles on DEV Community by Fred the Fox 🦊 (@fredyfox).</description>
    <link>https://dev.to/fredyfox</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%2F3608712%2F7416705e-41a0-4d94-8208-5a946a445820.jpg</url>
      <title>DEV Community: Fred the Fox 🦊</title>
      <link>https://dev.to/fredyfox</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/fredyfox"/>
    <language>en</language>
    <item>
      <title>Can Your Hermes Agent Recover From Failure?</title>
      <dc:creator>Fred the Fox 🦊</dc:creator>
      <pubDate>Mon, 28 Sep 2026 11:17:42 +0000</pubDate>
      <link>https://dev.to/fredyfox/can-your-hermes-agent-recover-from-failure-18j2</link>
      <guid>https://dev.to/fredyfox/can-your-hermes-agent-recover-from-failure-18j2</guid>
      <description>&lt;p&gt;For the drill, I keep the old VPS powered off. I begin on a replacement host with an empty shell and bring across only the backup ZIP. I treat persistent memory as recovered only after that archive rebuilds the required state.&lt;/p&gt;

&lt;p&gt;I run the fresh-VPS test with the original host unavailable. The restored agent has to recover its memory, skills, credentials, schedules, and tool access. If you are evaluating &lt;a href="https://fluence.ai/ai-agents/hermes" rel="noopener noreferrer"&gt;Hermes on a virtual server&lt;/a&gt;, treat the server as replaceable from day one. Hermes remains self-managed software, which puts the recovery plan in the operator's hands.&lt;/p&gt;

&lt;h2&gt;
  
  
  Define Recovery Before Touching the VPS
&lt;/h2&gt;

&lt;p&gt;The recovery target includes several kinds of state:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Configuration and provider settings&lt;/li&gt;
&lt;li&gt;Memory, sessions, skills, and local agent data&lt;/li&gt;
&lt;li&gt;Authentication material and tool credentials&lt;/li&gt;
&lt;li&gt;Cron jobs and their recent execution state&lt;/li&gt;
&lt;li&gt;Workspace files and any application data stored elsewhere&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Before starting, I write down two limits. Recovery point objective, or RPO, is the amount of recent state the business can afford to lose. Recovery time objective, or RTO, is how long the agent may remain unavailable. “We have a backup” offers no testable target for either one.&lt;/p&gt;

&lt;h2&gt;
  
  
  Run the Fresh-VPS Drill
&lt;/h2&gt;

&lt;h3&gt;
  
  
  1. Record the Known-Good Environment
&lt;/h3&gt;

&lt;p&gt;In the runbook, I record the Hermes release, operating system, Python environment, enabled skills, model provider, and external services. Hermes publishes versioned code and notes in its &lt;a href="https://github.com/NousResearch/hermes-agent/releases" rel="noopener noreferrer"&gt;GitHub releases&lt;/a&gt;. Keeping the release in the runbook separates restoration problems from upgrade problems.&lt;/p&gt;

&lt;h3&gt;
  
  
  2. Create a Full Backup
&lt;/h3&gt;

&lt;p&gt;For the full archive, I run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes backup
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The official &lt;a href="https://hermes-agent.nousresearch.com/docs/reference/cli-commands" rel="noopener noreferrer"&gt;CLI reference&lt;/a&gt; says a full backup packages configuration, skills, sessions, and data. The archive includes credentials. I encrypt it, restrict access, and store it outside the server it protects.&lt;/p&gt;

&lt;p&gt;Hermes also offers a quick backup for configuration and core state. I use the full form for this drill. The documented exclusions include prior backups and the checkpoint directory, so workspace recovery needs a separate inventory.&lt;/p&gt;

&lt;h3&gt;
  
  
  3. Provision a Clean Host
&lt;/h3&gt;

&lt;p&gt;On a new VPS with no copied home directory or hidden state, I install Hermes using the &lt;a href="https://hermes-agent.nousresearch.com/docs/getting-started/installation" rel="noopener noreferrer"&gt;official installation instructions&lt;/a&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; &amp;lt;https://hermes-agent.nousresearch.com/install.sh&amp;gt; | bash
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Through restoration and validation, I keep the old gateway stopped. This reduces the chance of scheduled jobs or external actions running twice.&lt;/p&gt;

&lt;h3&gt;
  
  
  4. Import the Archive
&lt;/h3&gt;

&lt;p&gt;Move the encrypted archive through your approved secure channel, decrypt it on the new host, and run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;hermes import /path/to/backup.zip
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The CLI documentation advises stopping the gateway before import. I start it after the restore completes and file permissions look correct.&lt;/p&gt;

&lt;h3&gt;
  
  
  5. Test Recovered Behavior
&lt;/h3&gt;

&lt;p&gt;First, I run &lt;code&gt;hermes doctor&lt;/code&gt; to check the installation and configuration. For scheduled work, I use &lt;code&gt;[hermes cron doctor](https://hermes-agent.nousresearch.com/docs/user-guide/features/cron)&lt;/code&gt;, then inspect recent execution records with &lt;code&gt;hermes cron runs [job-id] --limit 20&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;My canary task exercises memory retrieval, one representative skill, and a low-risk tool call. I also test denied actions. A restore that broadens permissions is a security regression. Expected secrets should work, provider-revoked secrets should fail, and a log scan should find no secret values.&lt;/p&gt;

&lt;h3&gt;
  
  
  6. Measure the Gaps
&lt;/h3&gt;

&lt;p&gt;When the canary passes, I stop the clock. Process launch time is an intermediate marker. I compare the elapsed time with the RTO and measure missing state against the RPO. I add each manual discovery to the runbook or turn it into an automated check.&lt;/p&gt;

&lt;h2&gt;
  
  
  Keep Checkpoints in Their Lane
&lt;/h2&gt;

&lt;p&gt;Hermes &lt;a href="https://hermes-agent.nousresearch.com/docs/user-guide/checkpoints-and-rollback" rel="noopener noreferrer"&gt;checkpoints and rollback&lt;/a&gt; can protect workspace changes during agent activity. They are opt-in, and I keep the off-host backup as a separate control. Restoring local files leaves an email, API mutation, or transaction in another system untouched.&lt;/p&gt;

&lt;p&gt;Reliable agent operations need backups for local state, idempotency or approval controls for side effects, and separate recovery plans for external data.&lt;/p&gt;

&lt;p&gt;I repeat the fresh-VPS test after material configuration changes and before I need it. A timed restore with a passing canary turns the backup plan into evidence.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>agents</category>
      <category>hermes</category>
      <category>automation</category>
    </item>
    <item>
      <title>You Can't Outsource Everything</title>
      <dc:creator>Fred the Fox 🦊</dc:creator>
      <pubDate>Thu, 03 Sep 2026 00:23:02 +0000</pubDate>
      <link>https://dev.to/fredyfox/you-cant-outsource-everything-1hkb</link>
      <guid>https://dev.to/fredyfox/you-cant-outsource-everything-1hkb</guid>
      <description>&lt;p&gt;Building next-level tech requires strategic decisions. Whether it's AI or whatnot. What do you own and what do you delegate? Some things make sense when they are handled from a place of convenient capacity. Infrastructurally, decentralization has always been an advantage. &lt;/p&gt;

&lt;p&gt;OriginTrail - $TRAC is what happens when someone decides the data layer is too important to leave in someone else's hands. A decentralized knowledge graph that organizes verified information for AI systems: supply chain records, scientific data and asset provenance owned by the network, rather than by a platform that can change its API pricing on a Tuesday afternoon.&lt;/p&gt;

&lt;p&gt;Fluence - $FLT sits in the middle of this conversation in an interesting way. It's not asking anyone to abandon the cloud entirely. It's asking what happens when the compute layer is coordinated by a protocol instead of a corporation. Guess. It's the same output but different relationships. The key advantage here is ownership.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fijp3rbezc5fkl9mufzm9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fijp3rbezc5fkl9mufzm9.jpg" alt=" " width="800" height="440"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nillion - $NIL takes it further. Blind computation. This means processing sensitive data without ever exposing it, even to the infrastructure running the calculation. For AI systems handling medical records, financial data, or anything that can't leave a jurisdiction, this isn't a nice-to-have. It's the only way the application can legally exist.&lt;/p&gt;

&lt;p&gt;Maybe the tickers were unnecessary but a lot of great products now thrive on tokenization. This remains though: there are some things you can rent and the foundation isn't one of them.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>Holding or Selling in 2026?</title>
      <dc:creator>Fred the Fox 🦊</dc:creator>
      <pubDate>Mon, 31 Aug 2026 03:18:48 +0000</pubDate>
      <link>https://dev.to/fredyfox/holding-or-selling-in-2026-3g9k</link>
      <guid>https://dev.to/fredyfox/holding-or-selling-in-2026-3g9k</guid>
      <description>&lt;p&gt;In 2026, I have $300K worth of crypto.&lt;br&gt;
I need $100K.&lt;/p&gt;

&lt;p&gt;Why would my first thought be:&lt;br&gt;
“Which $100K do I sell?”&lt;/p&gt;

&lt;p&gt;How about:&lt;br&gt;
“What can I borrow against?”&lt;/p&gt;

&lt;p&gt;Can I keep my exposure while accessing liquidity?&lt;/p&gt;

&lt;p&gt;Here are some markets already available on Tangent Finance in 2026&lt;/p&gt;

&lt;p&gt;👉 $USDC / $fxUSD - HEC market with a TVL of $812.86K&lt;br&gt;
👉 $fxUSD / $reUSD - HEC market with a TVL of $286.69K&lt;/p&gt;

&lt;p&gt;I'm highlighting these two because I really trust FX protocol products&lt;/p&gt;

&lt;p&gt;The catch is borrowing $USG against accepted collateral. Borrowing can make that much sense, yes.&lt;/p&gt;

&lt;p&gt;Stop thinking about your portfolio as something you either hold or sell. Start thinking about it as productive collateral.&lt;/p&gt;

</description>
    </item>
    <item>
      <title>AI Agents Age Through Their State</title>
      <dc:creator>Fred the Fox 🦊</dc:creator>
      <pubDate>Fri, 28 Aug 2026 11:52:23 +0000</pubDate>
      <link>https://dev.to/fredyfox/ai-agents-age-through-their-state-1b2o</link>
      <guid>https://dev.to/fredyfox/ai-agents-age-through-their-state-1b2o</guid>
      <description>&lt;p&gt;A chatbot usually gets old in the obvious way: a stronger model ships, and yesterday’s answers start looking weak by comparison.&lt;/p&gt;

&lt;p&gt;Persistent agents have a less visible aging problem. They can degrade while the model weights stay frozen.&lt;/p&gt;

&lt;p&gt;The cause is the state around the model.&lt;/p&gt;

&lt;p&gt;A normal chatbot starts with a relatively clean context. The user sends a prompt, the model answers, and most of the session disappears afterward. Persistent agents carry more forward. They save memories, update project facts, write reusable skills, run scheduled jobs, and reuse earlier decisions in later work.&lt;/p&gt;

&lt;p&gt;The model may be unchanged. Its operating context keeps moving.&lt;/p&gt;

&lt;p&gt;That distinction matters because agent evaluation still tends to center the model. For a long-lived agent, the model is one part of a system that keeps editing the information it will rely on next time.&lt;/p&gt;

&lt;p&gt;That is where aging enters.&lt;/p&gt;

&lt;h2&gt;
  
  
  The agent includes its accumulated state
&lt;/h2&gt;

&lt;p&gt;A recent paper on &lt;a href="https://arxiv.org/abs/2605.26302" rel="noopener noreferrer"&gt;agent lifespan engineering&lt;/a&gt; studies this directly. Across roughly 400 experiments and agent lifespans ranging from 8 to 200 sessions, the researchers measured how performance changed as the agents accumulated history and updates.&lt;/p&gt;

&lt;p&gt;Its most useful contribution is a taxonomy of lifespan failures. The paper names several ways an agent can degrade without any change to the underlying model:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Compression aging: important details disappear when long histories are summarized or compressed.&lt;/li&gt;
&lt;li&gt;Interference aging: new memories compete with, distort, or override older information.&lt;/li&gt;
&lt;li&gt;Revision aging: the agent fails to replace an outdated fact cleanly with a newer one.&lt;/li&gt;
&lt;li&gt;Maintenance aging: changes to tools, prompts, or memory systems produce unexpected behavior.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Those categories sound like infrastructure work because they are. Agent memory turns ordinary state-management problems into model behavior.&lt;/p&gt;

&lt;p&gt;The awkward part is how quiet the failures can be. An agent may still answer fluently, call tools, and follow the surface shape of the task while its memory becomes less precise. A broken API call is easy to spot. Memory drift can look like competence until the wrong fact changes an action.&lt;/p&gt;

&lt;h2&gt;
  
  
  Day-one benchmarks miss the aging path
&lt;/h2&gt;

&lt;p&gt;Most agent benchmarks still test a fresh system. The agent receives a task, runs through a controlled environment, and gets a score.&lt;/p&gt;

&lt;p&gt;That is useful for measuring planning, browsing, tool use, or task completion under clean conditions. It says less about the same agent after months of conversations, summaries, corrections, saved conventions, outdated project facts, skills, and maintenance changes.&lt;/p&gt;

&lt;p&gt;For persistent systems such as &lt;a href="https://www.fluence.network/ai-agents/hermes" rel="noopener noreferrer"&gt;Hermes AI agents&lt;/a&gt;, the difference shows up in the product itself. Value comes partly from continuity: the agent stays available, remembers project context, learns recurring tasks, and can run work on a schedule.&lt;/p&gt;

&lt;p&gt;Each saved memory also becomes another state object the system has to retrieve, rank, interpret, and sometimes revise.&lt;/p&gt;

&lt;p&gt;A strong short-run benchmark score only proves that the fresh version of the system performed well under the test. It cannot prove that the agent will make the same decision after its memory layer has been rewritten 100 times.&lt;/p&gt;

&lt;p&gt;For persistent agents, lifespan is part of the product surface.&lt;/p&gt;

&lt;h2&gt;
  
  
  Memory needs production observability
&lt;/h2&gt;

&lt;p&gt;Teams already monitor model calls: prompts, responses, latency, token use, tool errors. Long-lived agents need the same seriousness around memory.&lt;/p&gt;

&lt;p&gt;Useful observability has to answer more than “what did the model say?” Operators need to know:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;What information did the agent save?&lt;/li&gt;
&lt;li&gt;Which memory influenced a specific action?&lt;/li&gt;
&lt;li&gt;Has an older fact been superseded?&lt;/li&gt;
&lt;li&gt;Did compression remove a constraint the agent still needed?&lt;/li&gt;
&lt;li&gt;Can a damaged or misleading memory be rolled back?&lt;/li&gt;
&lt;li&gt;Did a maintenance change alter behavior on the same task?&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Prompt logs miss much of that path. The memory pipeline has its own lifecycle: write, summarize, embed, retrieve, rank, inject, use, revise, prune, and delete.&lt;/p&gt;

&lt;p&gt;Failures can enter at any step.&lt;/p&gt;

&lt;p&gt;A memory can be accurate when written and wrong later. Summaries can drop the exception that made a rule safe. Retrieval can pull a stale convention because it is semantically close to the current task. A repair can add the new fact while leaving the old one active. Maintenance can improve one retrieval path and quietly damage another.&lt;/p&gt;

&lt;p&gt;This is closer to operating a production data system than keeping a notebook.&lt;/p&gt;

&lt;p&gt;The risk rises once an agent can act. If it can call APIs, execute commands, edit files, or run scheduled workflows, memory quality becomes an operational control. A bad answer wastes time. Automated action with bad context can create cost, delete work, or push the wrong change into a live process.&lt;/p&gt;

&lt;h2&gt;
  
  
  Persistence needs maintenance
&lt;/h2&gt;

&lt;p&gt;Persistent memory is still one of the more useful ideas in agentic AI. An assistant that remembers project conventions, previous decisions, recurring tasks, and user preferences should beat one that starts from zero every morning.&lt;/p&gt;

&lt;p&gt;Accumulation alone can leave the system worse.&lt;/p&gt;

&lt;p&gt;The same agent can collect useful knowledge, stale assumptions, contradictory instructions, compressed summaries, and obsolete project state. Without lifecycle controls, “learning from every interaction” turns into carrying old mistakes forward with more confidence.&lt;/p&gt;

&lt;p&gt;The answer is to operate persistent agents as long-lived systems.&lt;/p&gt;

&lt;p&gt;That means testing across weeks or months, measuring memory quality separately from task completion, and building repair paths before the memory layer is visibly wrong.&lt;/p&gt;

&lt;p&gt;Memory pruning, provenance tracking, versioning, rollback, and maintenance regression tests are likely to become normal parts of the agent stack. They are less exciting than a new model release, but they target the part of the system that changes every day.&lt;/p&gt;

&lt;h2&gt;
  
  
  Agent reliability has to be measured after launch
&lt;/h2&gt;

&lt;p&gt;A team deploying persistent agents needs to know whether the system still behaves correctly after context compression, memory edits, tool updates, prompt changes, and scheduled-task history have accumulated.&lt;/p&gt;

&lt;p&gt;That creates a different testing loop. Re-run old tasks after new memories are added. Check which memories were retrieved. Make superseded facts visible. Test maintenance changes against known workflows before assuming the agent’s behavior stayed stable.&lt;/p&gt;

&lt;p&gt;From the outside, the failure mode often looks competent. The agent may still produce a confident answer and call the expected tool, even when its internal state has been damaged, compressed, or made stale.&lt;/p&gt;

&lt;p&gt;That is the practical difference between model aging and agent aging.&lt;/p&gt;

&lt;p&gt;A model gets old when the frontier moves past it. Persistent agents can age because their own history becomes harder to manage.&lt;/p&gt;

&lt;p&gt;Keeping agents online is only the first reliability problem. The harder one is keeping their accumulated state dependable as they grow older.&lt;/p&gt;

</description>
      <category>agents</category>
      <category>ai</category>
      <category>llm</category>
    </item>
  </channel>
</rss>
