Bernardo Gallegos Vallejo
Infrastructure
that holds up.
Validating AI infrastructure at AMD by day. Upstream fixes to GPU stacks, Rust and inference tooling, and a homelab run by agents, by night.
Upstream
Fixes in the code
everyone runs.
Not forks gathering dust. Pull requests into the GPU stacks and inference servers people actually deploy, found by running them on real hardware until they broke.
11 pull requests across 5 repos.
TheRock, ROCmValidationSuite, rocm-systems, libhipcxx. Build-system defaults, CI that actually builds forks, and gfx1151 Strix Halo support in the validation suite.
ci: check out the PR head commit so fork PRs build
PRs to the local LLM server for GPUs and NPUs: backend binary resolution, router eviction logic.
Merged PRs, including the SGLang backend and the UMA guard that keeps unified-memory NVIDIA boxes from OOMing.
The Rust standard library.
amdgpu: document that ds_permute/ds_bpermute take a byte address
Three crashes, three fixes.
Missing deps, tokenizers without a BOS token, a server that hung forever.
config: accept video as an input and output modality
Claude Code
The homelab has an operator.
It's Claude.
Plugins, MCP servers, evals and guardrails, built so an agent can run real machines without being trusted blindly.
Claude plans. The Spark writes the code. A gate decides.
Implementation work runs on free local tokens. The expensive model only does what it is good at: scoping and verification.
One plugin, seven machines.
A skill with the fleet's hard-won safety rules, slash commands for health checks and OOM preflight, an operator subagent, and an SSH MCP server with guardrails.
Plugins are tested like code.
claude plugin eval suites check that the agent refuses unsafe memory sizing, previews before sending email, and routes jobs to the right node. A failing eval blocks the release.
Code whose mass isn't paid for doesn't ship.
A Stop hook diffs every session against its starting commit and blocks it if test coverage fell. Outbound actions (email, messages) always ask first. Every rule is checked by a hook, not just written in a prompt.
The Lab
NVIDIA and AMD.
One bench.
Where every upstream fix starts: a model that won't load, a kernel that won't build, a number that doesn't match the roofline. Every run is written down.
Beside the rack: strix (AMD) · framework (MAAS server) · UGREEN NAS · UPS
Bare metal
Merge a PR.
The fleet reimages.
A datacenter node lifecycle, at desk scale. MAAS PXE-provisions two ThinkCentres over a dedicated VLAN, with Intel AMT standing in for a BMC. Terraform is the fleet's source of truth, and GitHub Actions on a self-hosted runner does the rest.
Nothing ships without qualifying.
Canary first. A gate decides the rest.
OS upgrades roll out canary-first through a manifest. The gate checks the canary's vitals before advancing. Rolling back is one dispatch. Drilled in both directions.
"Twins" that weren't.
A commissioning check found the two nodes on different NVMe firmware. It was built and seen failing before the flash. The canary was flashed, verified, and requalified, and the fleet is firmware-uniform for the first time.