Back to portfolio
SYSTEM · AGENT ROSTER

The agents that run this place

Not personas. Not "AI helpers." A set of specialized agents exposed as MCP tools, owned by named services, each with a verdict format I can rely on. They review code, draft docs, audit costs, monitor health, prune memories, and — in one case — actually do outreach. Below is the roster.

Why an agent and not a script

A script would do the same job for a third the cost. The trade is judgment: an agent reads a diff, considers blast radius, weighs cross-service contracts, and tells me whether to ship — with citations. Scripts can't refuse a bad PR. These can.

Each agent is built on the same agentic-framework primitives: ProviderRegistry for the LLM call, MA hybrid_search + kg_query for context, structured-output schemas for the verdict. Add a new agent by writing a system prompt, a verdict schema, and a single MCP tool stub.

Live agents

Production. Called every day. Verdicts logged in Memory Archive.

Live · Career Bot
A · 01
Talent Manager
phase-gated outreach
Lives inside Career Bot. Mirrors a scout → resolve → outreach protocol. Phase gates with explicit transitions, rate-limited HTTP executor, Slack approve/deny pre-filter. The reference pattern other service agents copy.
scout · resolve · outreach Slack gate
Live
A · 02
Architecture Agent
cross-service contracts
Opus 4.7 with adaptive thinking. Returns Blast radius / Contracts at risk / Required sign-offs / Citations. Caught a cross-service import boundary violation in live testing — flagged the hidden contract risk before code review did.
architecture_review
Live
A · 03
Database Agent
schema diffs · migrations
Verdicts: APPROVE / APPROVE_WITH_CONDITIONS / BLOCK / NEED_INFO. Caught a no-backfill DROP COLUMN that would have broken a discotheque reader. Knows about cross-service readers because the KG tells it.
database_review
Live
A · 04
Security Agent
OWASP class · secrets · perms
Scans diffs for OWASP-class smells, leaked secrets, and over-broad permissions. Verdict-driven, not lecture-driven — flags what to fix and why, not a hundred best-practice paragraphs.
security_review
Live
A · 05
FinOps Agent
cost ledger · regression detection
Reads the per-call cost ledger; flags cost regressions per service per model. Drives the monthly Anthropic-spend review. Never surprises me on the invoice.
finops_review
Live
A · 06
Observability Agent
log volume · error trends
Watches log volume and error-rate trends; flags new silent failures. Detects services that "look healthy" but stopped writing logs entirely — the kind of failure that's invisible without it.
observability_review
Live
A · 07
Reliability Agent
SLO drift · retry storms
SLO drift, retry storms, deploy-throughput health. Pairs with the launchd job health-check outputs to give a single answer: are we shipping at the rate we think, with the failure budget we think.
reliability_review
Live
A · 08
UX Agent
page audits · contrast · hierarchy
Audits pages for clarity, contrast, hierarchy, and the things a developer stops seeing after the fiftieth look. Suggests; doesn't merge — author owns the cursor.
ux_review
Live
A · 09
Documentation Agent
CLAUDE.md · AGENT_OF_RECORD.md
Drafts CLAUDE.md and AGENT_OF_RECORD.md from real source code. Cited sources. Explicit TODOs. Never invents — if it doesn't have a citation, it writes a TODO instead of a claim.
documentation_draft
Live
A · 10
Continuous Learning Agent
weekly scanner
Runs Sundays 5am Pacific via launchd. Three deterministic detectors: stale memories, stale-but-important entries, unused instructions. Auto-edits low-importance items; routes the rest to a proposals dashboard with Slack approve/deny pre-filter.
keeper_consult
Service-owned
A · 11
Service Owner Agents
one per public service
Each public service has a named owner agent (career-bot-owner, contact-api-owner, fal-app-owner, …) so "who runs X?" has an answer in a file, not in someone's head. The owners follow the Talent Manager phase-gate template.
per-service plist
Roadmap
A · 12
Architecture Mesh Agent
cross-agent coordination
Next: a coordinating agent that routes a complex review through multiple specialists (architecture + database + security) and synthesizes one verdict, with the path of which sub-agents agreed and which dissented.
planned

Verdict formats — why structure matters

Free-text "AI feedback" is a rounding error in a sea of email. A structured verdict is a row in a database. The architecture agent doesn't say "I think this might be risky"; it returns a JSON object: { blast_radius, contracts_at_risk[], required_sign_offs[], citations[] }. Filterable. Sortable. Auditable. Every verdict is a row in MA, queryable months later when something breaks and someone asks "did we know?"

It's the same idea as the no-markdown rule in the resume builder: structure is a contract. Once you have a contract, you can build on it.

Where the agents live

Agents are exposed as MCP tools by the Memory Archive; called from any Claude session; verdicts persisted to PostgreSQL; visible in the Knowledge Graph.