blog
Field notes on networks, automation, AI infrastructure, and the answer-engine era.
-
No Lab, No Problem: Record CML2 Devices into pyATS Mocks for CI
Develop against the live CML2 lab, but a CI runner cannot reach it and should not wait on a boot. Record the fabric once with unicon playback, commit the recording, and replay the exact same pyATS suite in GitHub Actions with no lab attached. Point the testbed at an unreachable address and it still passes, because replay never opens a socket. Includes a real repo with a green Actions run.
-
The Snapshot Machine: genie learn and diff as a Change-Validation Safety Net on CML2
Make a change in a maintenance window, run a few show commands, and they look fine. Then genie learn and genie diff the CML2 fabric before and after, and watch one fat-fingered OSPF cost quietly reroute three destinations while every adjacency stays FULL. Structured before-and-after diffs catch the side effects show commands miss.
-
From Intent to Reality: Driving pyATS Tests from NetBox Against a CML2 Fabric
NetBox holds the intent (declared OSPF router-IDs), a CML2 spine-leaf is the network under test, and pyATS is the judge. Close the loop and prove the live network matches what you said it should be, with real pass and fail output.
-
Build the Lab Once, Test It Forever: A CML2 Spine-Leaf Wired for pyATS
Stop hand-maintaining your pyATS testbed. Build a four-node spine-leaf in CML2 as code, then generate the testbed straight from the CML API so it never drifts from the lab, with live Genie-parsed proof over a System Bridge management network.
-
Agents Are the World's New First-Class Citizens
Cisco Live 2026 made AI agents their own kind of identity, with permissions and an accountable human owner. Why issuing the identity is the easy 20 percent, what real accountability takes, and how the same agents quietly became the audience we now write for.
-
Your robots.txt Says Yes. Your Firewall Says 403.
A client's robots.txt welcomed AI search and blocked training crawlers. The firewall 403'd everyone anyway. Finding Cloudflare's blunt AI-bot toggle, the AI Crawl Control fix, and why you audit enforcement, not intent.
-
Why Your Next Network Lab Might Be Built by an AI Agent
CML 2.10 ships a first-party MCP server, and Claude can now build the lab for you. What Joe Clarke's demo gets right, plus the failures my own lab hit that the agent never saw: dataplane readiness gates, the cat9000v interface trap, and guardrails that live in docstrings.
-
Prompts Are Guidelines. Code Is the Config.
Where the model's judgment ends and your code has to take over: branching on stop_reason, forcing tool use, hooks, stateless history, and why a valid JSON schema still isn't a true answer. First in a Today I Learned series.
-
Beyond the Click: 5 Counter-Intuitive Truths About the New Era of AI Search
The shift from SEO to AEO, the Mirror Effect, social signals, productivity arbitrage, the authenticity paradox, and agentic AI — what brand visibility looks like in a zero-click world.
Subscribe via RSS.