Skip to content
View coilysiren's full-sized avatar
πŸ› οΈ
engineering software
πŸ› οΈ
engineering software

Organizations

@bundler @WriteSpeakCode @urfave @coilyco

Block or report coilysiren

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
coilysiren/README.md

I build agentic engineering platforms

Kai Ase Siren

I'm Kai Ase Siren, a senior platform engineer, ten-plus years in. I build the policy-bound platform layer that lets engineering teams develop, ship, and operate agentic systems safely. Two open-source projects carry that layer: umbra bounds what an agent can run, and housecast puts what it did in front of a person to grade. The Kubernetes and observability systems underneath come from the day job and the two-site homelab described further down.

The throughline is developer infrastructure, and agents are its newest consumer. That has meant language-ecosystem tooling at Ruby Together, multi-cloud platforms at Textio, government infrastructure at Nava, and agent-facing observability and MCP surfaces at Kapwing.

Outside work, I run a two-site homelab and a public game server. Both are practical testbeds for the same platform, reliability, and observability questions I work on professionally.

coilysiren.me is the shorter, visual version of this project map.

What I ship

umbra - occlusion for agent CLIs and APIs

A least privilege layer for agent command-line tools and HTTP requests, which stay occluded until a policy file grants them. Arguments are checked before the process starts, any command you did not grant is refused, and every call lands in an append-only audit log. The plan for umbra v2 rebuilds it on urfave/cli v4, as v4's first real downstream.
housecast // grade - Human-graded behavior evaluations, for any agent

Human-graded behavior evaluations, for any agent. You bring the cases and the runner, and housecast puts each answer in front of a person with its target beside it, then records the grade apart from the run that produced it.

Also active

Infrastructure

  • agentic-os - cross-platform agent operating layer with dotfiles, skills, guarded tooling, and repository validators.
  • agent-proxy - the observability and trajectory data plane for my agents, with OpenAI-compatible proxying. Its interfaces are still changing.
  • node-stats-mcp - a read-only MCP for Linux and Kubernetes diagnostics, with bounded host introspection.
  • Homelab infrastructure - the private infrastructure as code for my hosts and Kubernetes homelab, including Ansible convergence and observability.
  • Operator context and automation - the private skill catalogue, fleet inventory, and cross-repository coordination behind my agent environments.
  • Deployment control plane - the private Kubernetes declarations for always-on services across the homelab.

Product

  • Galaxy Gen 🌌 - procedural galaxy simulation in Rust and WebAssembly, rendered in the browser at galaxy-gen.coilysiren.me.
  • Eco server tooling 🌎 - the private server, jobs, replay, and telemetry behind the Eco community I run, plus a Discord agent that answers only when a person mentions it.
  • Many MCPs - narrow agent interfaces for personal finance, private feeds, games, browsers, project work, and adjacent systems.

Across all of it, the useful question is not whether an agent produced a diff. It is whether the system can explain what happened, recover from interruption, and prove the result.

Platform notes

The homelab spans two physical sites on one Tailscale mesh. The primary k3s cluster is the application and state plane. The second is the operations and recovery plane. GPU machines join on demand for local inference, while hosted frontier models handle work beyond the small local tier.

The durable choices are simple:

  • Isolate state and keep recovery on a different power and network path.
  • Put authentication, ingress, DNS, certificates, and secrets at explicit boundaries.
  • Make agent sessions, model traffic, services, and cross-site reachability observable.
  • Assume every compute node except the primary can disappear.

Core stack: Go, Python, TypeScript, Bash, and C#. AWS, Kubernetes, Terraform, Docker, and Tailscale. Prometheus, Grafana, Sentry, and OpenTelemetry. Codex, Claude Code, and MCP.

Elsewhere

coilysiren.me // Resume // Bluesky // X // LinkedIn

See also

Pinned Loading

  1. coilyco/umbra coilyco/umbra Public

    occlusion for agent CLIs and APIs. Declare what an agent may run, and everything you did not name stays unreachable.

    Go 1 1

  2. coilyco/housecast coilyco/housecast Public

    Human-graded behavior evaluations: the grader, for any consumer.

    Python 1

  3. coilyco/mcp-beaver coilyco/mcp-beaver Public

    A MCP server generator with a natural flow. Renders one policy file into an MCP server, an HTTP tool API, a widget, and a helm release.

    Go 1

  4. coilyco/agent-compose coilyco/agent-compose Public

    Compose agent personas and context. Selects a role, its personality meld, the skills it can see, and the tools it gets, then materializes them as plain files.

    Go 1

  5. urfave/cli urfave/cli Public

    A declarative, simple, fast, and fun package for building command line tools in Go

    Go 24.3k 1.8k

  6. algo-zone algo-zone Public archive

    A workshop for algorithms and data-structure puzzles β€” pronounced like "auto zone"

    Python 12