All writing

12 entries


  1. AI Engineering

    AI Agents in CI/CD: Security, Robustness, and Productivity

    A graduate-level study of agentic CI/CD: authority and prompt injection, bounded verification, distributed recovery, test oracles, and causal measurement of productivity.

    54 min read

  2. Build Pipelines Should Explain Their Decisions

    A pipeline becomes more useful when each stage records the evidence behind release, rejection, and later maintenance decisions.

    5 min read


  3. AI Engineering

    Bounded Autonomy Requires Separate Control Planes

    Agentic automation remains governable when model choice, execution, policy, and evidence are separate interfaces with independent owners and tests.

    6 min read

  4. Hermetic Builds Begin at the Acquisition Boundary

    A build becomes explainable when every network-dependent input is acquired explicitly, recorded, and separated from the steps that construct the artifact.

    8 min read

  5. A Linux Updater Is a Deployment Transaction

    Safe self-updates preserve a compatible installed set through staging, validation, privileged activation, startup checks, and recovery.

    6 min read


  6. AI Engineering

    Serving llama.cpp Across My Home Network and Tailscale

    Building llama.cpp on Fedora with Vulkan, then sharing a 27B model with friends and other machines across my home network and Tailscale.

    12 min read

  7. When Repeated Release Work Deserves a Shared Stream

    A worked release example shows how to separate shared build policy from product decisions, preserve immutable identity, and decide whether the added platform is worth owning.

    6 min read


  8. Open Source

    The Case for Publishing a Useful Package Early

    PyPI names are scarce, pending publishers do not reserve them, and active conflicts are hard to unwind. A small working release can be the responsible first public commitment.

    8 min read


  9. AI Engineering

    How to Trace an Agent That Can Crash or Be Killed

    The supervisor must own trace identity, timeouts, and final status because the agent may never get a chance to report how it stopped.

    6 min read

  10. A Release Has Three Trust Decisions

    Version identity, permission to publish, and artifact integrity answer different questions. A release pipeline is trustworthy only when it connects all three.

    6 min read

  11. Testing the Package Beyond the Source Tree

    Several upstream fixes point to one packaging rule: exercise built artifacts, disabled paths, and dependency boundaries directly.

    5 min read


  12. Developer Tools

    One Review Inbox for Two Forges

    tongs treats code review as one terminal workflow across GitHub and GitLab, then designs each layer around the differences that remain.

    5 min read