<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Arron Pitman — Systems Engineering</title>
    <link>https://arronpitman.com/</link>
    <description>Engineering notes from a production-grade homelab: platform, delivery, observability, security and AI-assisted operations.</description>
    <language>en-au</language>
    <atom:link href="https://arronpitman.com/rss.xml" rel="self" type="application/rss+xml"/>
    <item>
      <title>A wait that cannot silently fail</title>
      <link>https://arronpitman.com/case-studies/a-wait-that-cannot-silently-fail/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/a-wait-that-cannot-silently-fail/</guid>
      <description>A monitor watched a file that was never going to exist, and its silence was read as &quot;still running&quot; for six hours. The remedy was a rule about what a wait is allowed to be.</description>
    </item>
    <item>
      <title>Queue time is a CI pool's latency</title>
      <link>https://arronpitman.com/case-studies/queue-time-is-a-ci-pools-latency/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/queue-time-is-a-ci-pools-latency/</guid>
      <description>Sixty per cent of pipeline wall-clock was spent queueing while the agent sat idle 79% of the time. The fix was a second runner — and an SLO that stops the same regression returning invisibly.</description>
    </item>
    <item>
      <title>The alert that paged as an emergency</title>
      <link>https://arronpitman.com/case-studies/the-alert-that-paged-as-an-emergency/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/the-alert-that-paged-as-an-emergency/</guid>
      <description>Three alerting surfaces, three severity vocabularies, nothing reconciling them. A low-importance signal carrying an off-taxonomy label did not error — it mis-routed, and paged as an emergency.</description>
    </item>
    <item>
      <title>The gate that had never been seen red</title>
      <link>https://arronpitman.com/case-studies/the-gate-that-had-never-been-seen-red/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/the-gate-that-had-never-been-seen-red/</guid>
      <description>Every gate in this estate ships a poisoned fixture and is required to reject it. The rule exists because a gate proven only on clean input is indistinguishable from no gate at all.</description>
    </item>
    <item>
      <title>The map that could not be trusted</title>
      <link>https://arronpitman.com/case-studies/the-map-that-could-not-be-trusted/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/the-map-that-could-not-be-trusted/</guid>
      <description>A generated dependency map reported &quot;no consumers&quot; for a database six stacks were using, and served it with a healthy 200. The fix was not a better derivation — it was making the render assert its own output before publishing.</description>
    </item>
    <item>
      <title>Twelve hours of samples proved a port unused. It wasn't.</title>
      <link>https://arronpitman.com/case-studies/twelve-hours-of-samples-proved-a-port-unused/</link>
      <guid isPermaLink="true">https://arronpitman.com/case-studies/twelve-hours-of-samples-proved-a-port-unused/</guid>
      <description>A census sampled established connections every five minutes and concluded nothing used a port. Closing it instantly broke a fleet of devices that connect for under a second, once a minute.</description>
    </item>
    <item>
      <title>AI-assisted operations</title>
      <link>https://arronpitman.com/pillars/ai-assisted-operations/</link>
      <guid isPermaLink="true">https://arronpitman.com/pillars/ai-assisted-operations/</guid>
      <description>An agent operates this estate under a written authority envelope, retrieves what it knows from the same corpus this site publishes, and carries a named taxonomy of the ways it has fooled itself — loaded before the work, not written up after it.</description>
    </item>
    <item>
      <title>Delivery and GitOps</title>
      <link>https://arronpitman.com/pillars/delivery-and-gitops/</link>
      <guid isPermaLink="true">https://arronpitman.com/pillars/delivery-and-gitops/</guid>
      <description>Ninety-nine pipelines on a self-hosted pool, a change that reaches production in six minutes, and the reason a green pre-push hook is the most convincing counterfeit in the estate.</description>
    </item>
    <item>
      <title>Observability and SRE</title>
      <link>https://arronpitman.com/pillars/observability-and-sre/</link>
      <guid isPermaLink="true">https://arronpitman.com/pillars/observability-and-sre/</guid>
      <description>Metrics, logs and blackbox probes on a RED+USE baseline, one dashboard per service generated as code, and alerting designed around a constraint most estates do not have — nothing may ever wake the operator.</description>
    </item>
    <item>
      <title>Platform and compute</title>
      <link>https://arronpitman.com/pillars/platform-and-compute/</link>
      <guid isPermaLink="true">https://arronpitman.com/pillars/platform-and-compute/</guid>
      <description>One hypervisor, seventeen guests and a rule that nothing is provisioned by hand — how the substrate is declared, snapshotted before every change, and kept honest by a helper that refuses to lie about whether a rollback point exists.</description>
    </item>
    <item>
      <title>Security and compliance</title>
      <link>https://arronpitman.com/pillars/security-and-compliance/</link>
      <guid isPermaLink="true">https://arronpitman.com/pillars/security-and-compliance/</guid>
      <description>Zero-trust at the edge with an approval register behind it, SBOMs for the whole fleet, secret scanning with a conformance gate — and two prudential standards run properly rather than claimed.</description>
    </item>
  </channel>
</rss>
