27 public repositories, 2,020 GitHub contributions in the past year. Active daily coder – commits every week across multiple repos.

GitHub: github.com/pmgledhill102


A Platform for Safe, Autonomous AI Agents (GCP)

My own Google Cloud organisation, run the way I’d want a bank’s to be run – and built so AI coding agents can do real cloud work without ever holding a standing credential. The repo is private, but the ideas aren’t.

Underneath is a layered Terraform estate: folder-per-environment isolation, org policies, a project factory, service-account impersonation everywhere and no long-lived keys anywhere. Every change goes pull request, plan, review, apply. On top of that sit the pieces that make it an engineering-productivity platform rather than just a tidy cloud account.

GCP ORGANIZATION — STRUCTURAL FRAMEWORKorg policies · foldersstate · WIF · CI identitycredential brokermints 1-hour tokenssandbox managervends projectshuman-onlychangesdeclares (Terraform · GitOps)vends at runtime (approval-gated)DECLARED ENVIRONMENTS — TERRAFORMdevstagingprodservicesbudget-cappedbudget-cappedbudget-cappedbudget-cappedSANDBOX FOLDER — VENDEDsb-repo-a£25/mo · 7-day TTL · kill switchsb-repo-b£25/mo · 7-day TTL · kill switchsb-… (auto-deleted)expired yesterdaychange path: PR → review → plan → merge → applydeliberate, auditable, slow on purposechange path: an agent asks, a human approves,a service builds — ~90 seconds, on a fuse
One organisation, three change paths. Blue: the structural framework, changed by humans only. Teal: declared environments, changed through GitOps. Red: sandbox projects vended at runtime, each budgeted, kill-switched and scheduled for deletion.

The credential broker

The problem: a coding agent needs GCP access, but on a laptop the only credential lying around is an admin login with a long-lived refresh token, and a cloud sandbox starts with no identity at all. Neither is acceptable.

The answer is a small Go service on Cloud Run that hands agents short-lived, per-project tokens behind a human approval:

AGENT SESSIONcloud sandbox or laptopstarts with no identityhelper + skill(delivered via repo)tokens written to disk,never into the transcriptCREDENTIAL BROKERcomposes the card,generates the phraseapproval ⇒ grant (1–7 days)grant ⇒ 1-hour tokensthe decision is madeoutside the sandboxHUMAN · DISCORDa phone is enoughcard: project · budgetduration · phrase“ember · falcon · tide”phrase matches the session⇒ approve · else deny① ask② phrase⑥ 1h tokens③ card④ approvesb-{repo} projectbudget · kill switch · TTL · agent identity⑤ provision if missing (~90 s)⑦ create/modify/delete
One approval, everything needed. The agent asks (①) and relays a broker-generated phrase (②); I match the phrase to the card on one screen (③–④); a missing sandbox is provisioned with fixed defaults (⑤); the broker mints one-hour tokens for the grant window (⑥), and the agent works inside the disposable project (⑦).

A hard requirement shaped the whole design: a project must be startable and runnable entirely from a phone – no laptop, no terminal, no console. That rules out every “download a key and paste it somewhere” option structurally, not just on taste.

Self-service sandboxes

If an agent asks for a project that doesn’t exist yet, the same single approval can create a budget-capped sandbox project and grant against it – and an agent can ask for its sandbox to be torn down when it’s finished. Sandboxes carry TTL labels and are cleaned up automatically. Creating projects and minting tokens live in deliberately separate services, joined by a single-purpose message channel, so compromising one doesn’t hand over the other.

Guardrails that act, not just alert

It’s innovation within guardrails made literal: agents get real autonomy precisely because the blast radius of anything going wrong is small, bounded and boring.


Dotfiles & Agentic Coding Config

One curl on a fresh machine and I walk away with a fully configured engineering environment – including an AI coding setup that follows me everywhere, from my laptop to disposable cloud sandboxes.

dotfiles is managed by chezmoi and works across macOS, Linux, WSL and Windows from a single source of truth, with install tiers so a work laptop doesn’t get Steam and a minimal VM doesn’t get the kitchen sink. A tuned shell, a modern CLI toolkit, languages and cloud tooling, age-encrypted secrets, and short maintenance commands (dotup, brewup) so I never have to remember the incantations. CI runs full install tests on macOS, Ubuntu and Windows on every push, so a broken bootstrap never reaches a real machine.

agentic-coding-config is the other half: one shared configuration for AI coding agents – skills, slash commands, hooks, permission allowlists and working policy. It reaches every surface an agent runs on:

The effect is that every agent session – local or cloud, Claude Code or Codex – starts with the same standards: feature branches and PRs, issues before work, linting before pushing, and sessions that end with a retrospective that feeds improvements back into the config. It’s the “get engineers engineering” principle applied to AI agents: remove the setup friction and make the good path the default one.


Engineering Decisions

AI-augmented RFC framework where 9 specialised AI personas stress-test engineering proposals in parallel before human review. Includes governance process, engineering principles, validation tooling (Go), and structured decision records optimised for both humans and AI agents.

The insight behind this project: AI’s biggest leverage point in enterprise engineering isn’t code generation – it’s the decision layer. Decisions recorded in a machine-readable format become a platform capability that compounds over time.


Cloud Coop

Go-based Terminal UI platform for managing sandboxed AI coding agents on cloud VMs. Solves the fundamental tension between safety and autonomy when running AI agents: how do you let agents work autonomously without risking your local machine, credentials, or data?

The answer: run agents autonomously on disposable, isolated cloud VMs with scoped IAM permissions. Your laptop stays clean. Agents get full freedom within a sandbox. The constraints are what make it safe enough to actually use.


Open Source Contributions – Beads (steveyegge/beads)

Contributor to Steve Yegge’s Beads project – a Dolt-powered issue tracker designed for AI agents, with dependency tracking and persistent memory across conversation compaction. 19,000+ GitHub stars.

PRTitleChanges
#2201fix: replace deprecated GetDoltServerPort() callers+3 / -2
#1362fix(sync): use store.Path() for database mtime update+139 / -11

Contributing to a high-profile open source project in the AI/agent tooling space. Not just using AI tools – contributing to the ecosystem that makes them work better.


Cloud Run GPU Demos

Stable Diffusion on Cloud Run with NVIDIA L4 GPUs. Teaching material for Serverless Days, GDG events, and podcast appearances. Shows hands-on AI infrastructure work, not just talking about it.


Discord Bot (GCP)

Discord bot enabling users to manage cloud server instances via chat commands. Production hobby project with real users in a gaming community. Cost-optimised to ~50p/week.


Insomnia Plugin – Discord Auth

Published open-source plugin for the Insomnia API tool supporting Discord’s Ed25519 signing protocol.


Cloud Run Edge Case Repos

Multiple repos exploring Cloud Run networking edge cases – limit checking, IP overlap with NAT, running behind API Gateway. Shows someone who doesn’t just use the product but probes its boundaries and documents findings.


ACE Training Content

Google Cloud Associate Cloud Engineer training content built in Vue. Tooling to help others learn.


Gaming AWS

Full stack cloud game server hosting platform on AWS, built so my friends and I could spin up CounterStrike and Assetto Corsa servers on demand without leaving anyone a root password. The whole thing is controlled via Discord text commands with RBAC permissions – my friends can start, stop, and check on servers, but nothing else.

The engineering was the fun part: CloudFormation for infrastructure, Packer with GitHub Actions for golden images, EC2 spot instances to get costs down to pennies, EventBridge scheduling, EBS snapshot tricks to avoid paying for storage when servers aren’t running. Locked down with AWS Organizations, Service Control Policies, budget alerts, and CloudTrail.


Other Hobby Projects (Not All Public)


Languages Across Repos

LanguageReposNotes
Go6Cloud Coop, Discord bot, Lambda tooling, MQTT daemon
Shell8Infrastructure, automation, dotfiles
Python2Cloud Run metadata, tooling
JavaScript1Insomnia plugin (published, open source)
Vue1ACE training content
TerraformMultipleInfrastructure as code across projects