Skip to content
View ek33450505's full-sized avatar
💭
Working on CAST Desktop
💭
Working on CAST Desktop

Highlights

  • Pro

Block or report ek33450505

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.

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
ek33450505/README.md

Edward Kubiak

Agent infrastructure engineer. I build the layer between you and the agent loop.

Columbus, Ohio · edwardkubiak.com · LinkedIn · edward.kubiak.dev@gmail.com

Open to roles on agent infrastructure, developer tools, and Claude Code platform teams.


What I work on

Lately I’ve been focused on the operational side of multi-agent systems — routing, memory, observability, policy gates — the kinds of details that make the difference between an impressive demo and something reliable enough to leave running on its own.

For the last six months, I’ve been building CAST, a local-first OS layer for Claude Code, plus a handful of smaller supporting packages around it.


CAST — Claude Agent Specialist Team

claude-agent-team · Bash · MIT · v7.0 — backend lockdown

Claude Code ships with a powerful agent primitive and almost no scaffolding around it. CAST is the scaffolding: 22 specialist agents, hook-driven dispatch, model-tier routing, per-agent persistent memory, and a 27-table SQLite event store that makes the whole loop legible.

brew tap ek33450505/cast && brew install cast

A few of the design decisions worth defending:

  • Hook-driven dispatch over polling. Claude Code emits lifecycle events (SessionStart, PreToolUse, SubagentStop, Stop). CAST hangs all routing, telemetry, and policy off those — no daemon, no background loop, no missed events. The harness is the orchestrator.
  • Local-first, SQLite everywhere. Agent runs, routing decisions, memory, quality gates, hook output — all in ~/.claude/cast.db. No cloud round-trip. The dashboard is just a SELECT away. Data is yours; observability is yours.
  • Per-agent memory, not shared context. Each agent keeps its own scoped memory under ~/.claude/agent-memory-local/<agent>/. Cellar Door (below) extends this to a typed shared store when agents do need to coordinate — but the default is isolation, because shared context bleeds.
  • Policy gates that hard-block. Branch-protection bypass attempts, force-pushes to main, raw git commit — the hook layer refuses them. Quality is enforced at the seam, not by hoping the agent behaved.

990 BATS tests across 111 files cover the shell surface. The framework treats its own correctness as a first-class concern.


Ecosystem

Each package below is independently installable and stands on its own. CAST is what happens when you wire them together.

Package One line
cast-desktop Tauri 2 desktop app — every CAST signal in one window. 11 dashboard views, native PTY terminal (xterm.js + Rust), Cmd+K palette, 6 themes. Local-first against ~/.claude/cast.db. v0.1.0.
claude-code-dashboard React 19 + Express + SQLite observability UI for the agent loop. Sessions, agents, hook health, memory browser, SQLite explorer. v2.2.0.
cellar-door Typed shared memory for local AI agents — model-agnostic, Claude + Ollama. v0.3.0.
cast-hooks Standalone hook scripts — observability, safety, dispatch. Drop into any Claude Code setup. v0.2.0.
cast-memory Persistent agent memory with FTS5 search, relevance scoring, MCP server. v0.3.0.
cast-dash Terminal UI dashboard — Python + Textual. htop for CAST. v0.2.0.
cast-time Gives Claude Code a clock — local time + timezone injected at session start. v0.1.0.
cast-routines Schedule autonomous Claude Code routines — daily briefings, inbox triage, release celebration — via YAML + cron. v0.1.0.
cast-doctor Read-only health check for any Claude Code install — validates hooks, MCP, agent frontmatter, cast.db schema. v0.1.0.
cast-claudes_journal Cross-session continuity for Claude — Obsidian vault, wiki-link graph, SessionStart context injection. v0.2.0.
cast-observe Session cost + token-spend tracking. No framework required. v0.2.0.
cast-security Policy gates, PII redaction, audit trail, cast-audit consolidation. No framework required. v0.3.0.
cast-parallel Plan execution split across parallel git worktrees. v0.1.0.

All open source. All Homebrew-installable. All written to be useful without the rest.

Counts and versions on this page refresh dynamically from ~/Projects/personal/ via scripts/refresh-stats.sh.


Stack

Bash · Python · TypeScript · React 19 · Express 5 · SQLite · BATS · Vitest. macOS first, Linux supported. Anthropic API + Claude Code Agent SDK.


Currently writing about agent observability, memory architecture, and what production multi-agent systems actually need. Reach out: edward.kubiak.dev@gmail.com.

Pinned Loading

  1. claude-agent-team claude-agent-team Public

    CAST: multi-agent orchestration framework for Claude Code with hook-enforced quality gates and observability.

    Shell 4

  2. claude-code-dashboard claude-code-dashboard Public

    Web dashboard for Claude Code activity, agent runs, and CAST observability.

    TypeScript 4 1