Specialist AI team for auditing and fixing Google Vertex/ADK design systems.
Bob's Brain orchestrates expert agents that ensure your codebase follows Google's ADK and Vertex AI patterns. Built with Google ADK, Vertex AI Agent Engine, A2A protocol, Session Cache + Memory Bank. Hard Mode architecture enforces drift-free development.
Quick Start β’ What It Does β’ Hard Mode Rules β’ Use as Template
Bob's Brain is a Slack AI assistant with a specialist team focused on auditing and constructing fixes for Google Vertex/ADK design systems. This isn't a general-purpose coding assistant β it's a precision tool that ensures your agents, infrastructure, and architecture align with Google's ADK and Vertex AI recommended patterns.
Key Focus: Audit Google Vertex/ADK design compliance β Detect drift β Construct fixes β Maintain alignment
Bob is the global orchestrator that coordinates multiple specialist departments. This repo contains Bob's first specialist team β the iam- department* (Intent Agent Model) β focused exclusively on ADK/Vertex compliance:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Bob (Global Orchestrator) β
β β’ Slack interface β
β β’ Routes requests to specialist departments β
βββββββββββββββββββββββββββ¬ββββββββββββββββββββββββββββββββ
β
ββββββββββββββββββββ΄βββββββββββββββββββββ
β β
βΌ βΌ
ββββββββββββββββββββββββ ββββββββββββββββββββββββ
β iam-* Department β β Future Departments β
β (THIS REPO) β β (Coming Soon) β
β β β β
β Focus: ADK/Vertex β β β’ Data pipeline team β
β compliance audits β β β’ Security team β
β and fixes β β β’ Performance team β
ββββββββββββββββββββββββ ββββββββββββββββββββββββ
This repo = Bob's first specialist department, not Bob's entire brain.
Building with Google ADK and Vertex AI requires strict architectural patterns. Most teams drift over time:
- β Mix LangChain with ADK code
- β Self-host runners instead of using Agent Engine
- β Scatter docs across wikis and random files
- β Skip memory wiring or do it incorrectly
- β Violate Google's recommended patterns
This team prevents that drift. It audits your repos, detects violations, constructs fixes, and keeps you aligned with Google's ADK/Vertex standards.
We enforce 8 architectural rules (R1-R8) that prevent the usual agent chaos:
- β ADK-only - No mixing LangChain, CrewAI, or other frameworks
- β Managed runtime - Vertex AI Agent Engine, not self-hosted containers
- β CI-enforced - Automated checks block bad patterns before they merge
- β Memory that works - Dual Session + Memory Bank for real continuity
- β Clean separation - Cloud Run proxies, not franken-servers with embedded agents
- β
One docs folder - All docs in
000-docs/, no scattered README files - β Immutable identity - SPIFFE IDs everywhere for clean tracing
- β Drift detection - CI fails if you try to sneak in forbidden imports
Tl;dr: Production-grade multi-agent system with enforced architectural standards and compliance automation.
The iam- department* is a specialist team focused exclusively on Google Vertex/ADK design system compliance:
π ADK/Vertex Compliance Audits
- Scans repos for ADK import violations (no LangChain, CrewAI mixing)
- Detects drift from Google's recommended Agent Engine patterns
- Validates memory wiring (Session + Memory Bank)
- Checks A2A protocol implementation
- Ensures SPIFFE identity propagation
- Verifies gateway separation (no Runner in Cloud Run)
π οΈ Automated ADK/Vertex Fixes
- Constructs fix plans for ADK pattern violations
- Generates PRs to align with Vertex AI recommended architecture
- Refactors code to follow Google's ADK patterns
- Runs QA checks against ADK/Vertex standards
π Portfolio-Wide ADK Compliance
- Audits multiple repos for ADK/Vertex compliance simultaneously
- Aggregates ADK pattern violations across your org
- Tracks compliance scores and fix rates
- Stores audit results in centralized GCS buckets
π ADK/Vertex Documentation
- Writes AARs for all ADK pattern fixes
- Generates architecture docs showing Vertex AI alignment
- Documents ADK-specific patterns and decisions
- Maintains searchable knowledge of ADK/Vertex patterns
π¬ Slack Integration
- Answers questions about ADK/Vertex patterns
- Sends alerts for ADK compliance failures
- Helps teams understand Google's recommended architectures
This department has 8 specialist agents, each focused on a specific aspect of ADK/Vertex compliance:
βββββββββββββββ
β Bob β β Global orchestrator (routes ADK/Vertex requests here)
ββββββββ¬βββββββ
β
ββββββββΌβββββββββββββββββββββββββββββββββββββββββββββββββββ
β iam-senior-adk-devops-lead (Foreman) β
β β’ Coordinates ADK/Vertex compliance audits β
β β’ Delegates to specialist agents β
ββββββββ¬ββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βββ iam-adk (ADK/Vertex pattern expert)
β Knows Google's recommended patterns
β
βββ iam-issue (ADK violation detector)
β Scans for drift from Google patterns
β
βββ iam-fix-plan (ADK fix strategy planner)
β Designs fixes to align with Vertex AI
β
βββ iam-fix-impl (ADK fix implementer)
β Refactors code to Google standards
β
βββ iam-qa (ADK compliance QA)
β Validates fixes against Google patterns
β
βββ iam-docs (ADK/Vertex documentation)
β Documents alignment decisions
β
βββ iam-cleanup (ADK codebase cleanup)
β Removes deprecated ADK patterns
β
βββ iam-index (ADK knowledge curator)
Maintains ADK/Vertex pattern library
Important: This team ONLY handles ADK/Vertex compliance work. General software engineering, data pipelines, security audits, etc. are handled by Bob's other departments (coming soon).
For end users (Slack):
You in Slack
β
Slack webhook (Cloud Run)
β
Vertex AI Agent Engine β Bob's Brain (ADK agent)
β
Dual Memory (Session + Memory Bank)
For portfolio audits (CLI):
python3 scripts/run_portfolio_swe.py
β
Portfolio Orchestrator
β
iam-senior-adk-devops-lead (foreman)
β
iam-* specialist agents
β
GCS Knowledge Hub (results storage)
bobs-brain/
βββ agents/
β βββ bob/ # Main agent (LlmAgent + tools)
β βββ agent.py # Core agent logic
β βββ a2a_card.py # Agent-to-Agent protocol
β βββ tools/ # Custom tools
β
βββ service/ # HTTP gateways (proxies only!)
β βββ a2a_gateway/ # A2A protocol endpoint
β βββ slack_webhook/ # Slack event handler
β
βββ infra/terraform/ # All infrastructure as code
βββ .github/workflows/ # CI/CD (drift check first!)
βββ 000-docs/ # All documentation (AARs, guides)
βββ tests/ # Unit & integration tests
βββ scripts/ # Deployment & maintenance tools
Key principle: Cloud Run services are proxies only. They forward requests to Agent Engine via REST. No Runner imports allowed in gateways.
"Hard Mode" means we enforce strict rules that keep this agent system maintainable as it scales. This repository follows the 6767 ADK/Agent Engine Specification as its guiding architectural standard. Here's what that looks like:
Every rule is enforced in CI. Violations fail the build automatically.
- β
Use
google-adkLlmAgent - β No LangChain, CrewAI, AutoGen, or custom frameworks
Why: Mixing frameworks creates integration nightmares. Pick one, stick with it.
- β Deploy to Vertex AI Agent Engine
- β No self-hosted runners or Cloud Run with embedded Runner
Why: Let Google manage the runtime. Focus on agent logic, not infrastructure.
- β Cloud Run as HTTP proxy to Agent Engine
- β No
Runnerimports in gateway code
Why: Clean separation means gateways can restart without touching agents.
- β All deploys via GitHub Actions + Workload Identity Federation
- β No manual
gcloud deployor service account keys
Why: Reproducible deployments. No "works on my machine" excuses.
- β VertexAiSessionService + VertexAiMemoryBankService
- β
after_agent_callbackto persist sessions
Why: Actual conversation continuity, not just storing embeddings.
- β
All docs in
000-docs/withNNN-CC-ABCD-name.mdformat - β No scattered docs, multiple doc folders, or random READMEs
Why: Predictable structure. Easy to find things. Easy to copy to new repos.
- β
spiffe://intent.solutions/agent/bobs-brain/<env>/<region>/<version> - β Propagated in AgentCard, logs, HTTP headers
Why: Immutable identity makes tracing and security audits straightforward.
- β
scripts/ci/check_nodrift.shruns first in CI - β Blocks alternative frameworks, Runner in gateways, local creds
Why: Prevent architectural decay before it gets committed.
The drift check script (scripts/ci/check_nodrift.sh) runs before anything else in CI:
# .github/workflows/ci.yml
jobs:
drift-check:
runs-on: ubuntu-latest
steps:
- name: Check for drift violations
run: bash scripts/ci/check_nodrift.sh
# Fails build if violations foundIf drift check fails, the entire pipeline stops. No tests run. No deployment happens. Fix the violations first.
- Python 3.12+
- Google Cloud account with Vertex AI enabled
- (Optional) Slack workspace for integration
- (Optional) GitHub account for CI/CD
# Get the code
git clone https://github.com/jeremylongshore/bobs-brain.git
cd bobs-brain
# Set up Python environment
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
# Configure your environment
cp .env.example .env
# Edit .env with your GCP project details# Check all imports are valid
python3 -c "
from google.adk.agents import LlmAgent
from google.adk import Runner
from google.adk.sessions import VertexAiSessionService
from google.adk.memory import VertexAiMemoryBankService
from a2a.types import AgentCard
print('β
All ADK imports working')
"
# Run drift detection locally
bash scripts/ci/check_nodrift.shOption A: Via GitHub Actions (Recommended)
# Push to main triggers automatic deployment
git add .
git commit -m "feat: your feature description"
git push origin main
# GitHub Actions handles:
# 1. Drift detection
# 2. Tests
# 3. Docker build
# 4. Deploy to Agent Engine
# 5. Deploy gatewaysOption B: Manual (Local Testing Only)
# This is for local development only
# Production deployments MUST go through CI
cd agents/bob
python3 -c "from agent import get_agent; a = get_agent(); print('β
Agent created')"# Audit all local repos
python3 scripts/run_portfolio_swe.py
# Audit specific repos
python3 scripts/run_portfolio_swe.py --repos bobs-brain,diagnosticpro
# Export results
python3 scripts/run_portfolio_swe.py --output audit.json --markdown report.mdThat's it. You've got a working AI agent that can audit code, fix issues, and generate docs.
One of Bob's superpowers: auditing multiple repos at once and giving you org-wide metrics.
- Define your repos in
config/repos.yaml:
repos:
- id: bobs-brain
display_name: "Bob's Brain"
local_path: "."
tags: ["adk", "agents", "production"]
slack_channel: "#bobs-brain-alerts"
- id: diagnosticpro
display_name: "DiagnosticPro"
local_path: "external" # Not checked out locally (skipped gracefully)
tags: ["production", "firebase"]- Run the portfolio orchestrator:
python3 scripts/run_portfolio_swe.py- Get aggregated results:
{
"portfolio_run_id": "c98cc8f2-...",
"timestamp": "2025-11-20T03:52:34Z",
"summary": {
"total_repos_analyzed": 5,
"total_issues_found": 42,
"total_issues_fixed": 30,
"fix_rate": 71.4
},
"issues_by_severity": {
"high": 5,
"medium": 20,
"low": 17
},
"repos": [...]
}# Basic usage
python3 scripts/run_portfolio_swe.py
# Specific repos only
python3 scripts/run_portfolio_swe.py --repos bobs-brain,diagnosticpro
# Filter by tags
python3 scripts/run_portfolio_swe.py --tag production
# Different modes
python3 scripts/run_portfolio_swe.py --mode preview # Read-only analysis
python3 scripts/run_portfolio_swe.py --mode dry-run # Show what would change
python3 scripts/run_portfolio_swe.py --mode create # Actually fix issues
# Export results
python3 scripts/run_portfolio_swe.py --output results.json --markdown report.mdThe portfolio audit runs nightly via GitHub Actions:
# Manual trigger
gh workflow run portfolio-swe.yml \
--ref main \
--field repos=all \
--field mode=previewFeatures:
- β Multi-repo ARV checks
- β Automated audits (nightly at 2 AM UTC)
- β JSON/Markdown export
- β GCS storage for historical results (v0.9.0+)
- π Slack notifications (coming soon)
- π GitHub issue creation (coming soon)
Roadmap:
- LIVE1-GCS (v0.9.0): β Complete - GCS org-wide storage
- LIVE-BQ (Future): BigQuery analytics integration
- LIVE2 (Planned): Vertex AI Search RAG + Agent Engine calls (dev-only)
- LIVE3 (Planned): Slack notifications + GitHub issue creation
New in v0.9.0 - All your portfolio audit results stored in one place for easy querying and analytics.
- Centralized GCS bucket for all audit results
- Lifecycle management (90-day retention for per-repo details)
- Graceful fallback (writes never crash your pipeline)
- Environment-aware (separate buckets for dev/staging/prod)
gs://intent-org-knowledge-hub-{env}/
βββ portfolio/runs/{run_id}/summary.json # Portfolio-level summary
βββ portfolio/runs/{run_id}/per-repo/*.json # Per-repo details
βββ swe/agents/{agent}/runs/{run_id}.json # Single-repo runs (future)
βββ docs/ # Org docs (future)
βββ vertex-search/ # RAG snapshots (LIVE2+)
1. Enable in Terraform:
# infra/terraform/envs/dev.tfvars
org_storage_enabled = true
org_storage_bucket_name = "intent-org-knowledge-hub-dev"2. Check readiness:
python3 scripts/check_org_storage_readiness.py
python3 scripts/check_org_storage_readiness.py --write-test3. Enable writes:
export ORG_STORAGE_WRITE_ENABLED=true
export ORG_STORAGE_BUCKET=intent-org-knowledge-hub-dev4. Run audit:
python3 scripts/run_portfolio_swe.py
# Results automatically written to GCS- β Opt-in by default - Nothing writes unless you explicitly enable it
- β Graceful errors - If GCS fails, pipeline continues (just logs error)
- β Fully tested - 36 tests with 100% pass rate
- β IAM-secured - Service account-based access control
Documentation:
Bob's Brain isn't just a product β it's a complete multi-agent template you can copy to your own repos.
When you port Bob's Brain to your product (DiagnosticPro, PipelinePilot, etc.):
- β Multi-agent architecture - bob β foreman β iam-* specialists
- β SWE pipeline - audit β issues β fixes β QA β docs
- β Shared contracts - JSON schemas for all agent interactions
- β A2A communication - Agent-to-Agent protocol wiring
- β ARV checks - Agent Readiness Verification for CI
- β Gateway services - A2A and Slack endpoints
- β Terraform infrastructure - Agent Engine, Cloud Run, IAM
- β CI/CD workflows - Drift check, tests, deploy
- β Documentation system - 000-docs/ with filing standards v3.0
- Basic setup: 1-2 days
- Full integration: 1 week
- Production-ready: 2 weeks (with proper testing)
Start here:
- Porting Guide - Step-by-step instructions
- Integration Checklist - Don't miss anything
- Template Scope - What to customize
- Template Files - Reusable components
Bob's Brain is built on top of:
That's the foundational Hard Mode architecture. Bob extends it into a full multi-agent department.
Bob deploys to Vertex AI Agent Engine using ADK CLI with full CI/CD automation.
GitHub Actions (WIF)
β
ADK CLI (adk deploy agent_engine)
β
Vertex AI Agent Engine β Managed runtime
β
Cloud Run Gateways (A2A + Slack) β HTTP proxies only
Before deploying:
- β GCP project with Vertex AI enabled
- β GitHub secrets configured (WIF provider, service account)
- β
Terraform infrastructure applied (
infra/terraform/) - β
Staging bucket created (
gs://<project-id>-adk-staging)
# Push to main triggers automatic deployment
git push origin main
# GitHub Actions automatically:
# 1. Runs drift detection (blocks if violations)
# 2. Runs tests
# 3. Authenticates via WIF (no keys!)
# 4. Builds Docker container
# 5. Deploys to Agent Engine
# 6. Deploys Cloud Run gatewaysAll infrastructure (including Slack gateway) is deployed via Terraform only:
# β οΈ NEVER use manual gcloud commands for Slack Bob
# β WRONG: gcloud run services update slack-webhook ...
# β
CORRECT: Use Terraform + GitHub Actions
# Deploy via GitHub Actions (RECOMMENDED):
# 1. Update Terraform code in infra/terraform/
# 2. Create PR β terraform plan runs automatically
# 3. Merge PR to main
# 4. Trigger workflow: .github/workflows/terraform-prod.yml
# - Set apply=true for production deploymentLocal Terraform Testing (Validation Only):
# Validate Terraform changes locally (no apply)
cd infra/terraform
terraform init -backend-config="bucket=bobs-brain-terraform-state"
terraform validate
terraform plan -var-file=envs/prod.tfvars
# β οΈ NEVER run terraform apply locally for production
# Always use GitHub Actions for actual deploymentsImportant: R4 enforces CI-only deployments. Manual gcloud or local terraform apply commands create deployment drift and violate Hard Mode rules.
Bob communicates via Slack through an R3-compliant Cloud Run gateway that proxies to Agent Engine.
Slack Events API
β
Cloud Run: slack-webhook (R3 gateway - HTTP proxy only)
ββ Verifies Slack signature
ββ Transforms to Agent Engine format
ββ POST /reasoningEngines/{id}:query
β
Vertex AI Agent Engine: Bob
ββ ADK agent (google-adk)
ββ Dual Memory (Session + Memory Bank)
ββ Returns response
β
Cloud Run: slack-webhook
ββ Formats response for Slack
β Correct Method:
# Use Terraform + GitHub Actions workflow
# Workflow: .github/workflows/terraform-prod.yml
# Module: infra/terraform/modules/slack_bob_gateway/β DEPRECATED - DO NOT USE (R4 Violations):
# β THESE COMMANDS ARE BANNED - R4 HARD MODE VIOLATION
# Manual deployments create drift and violate CI-only deployment rules
# NEVER USE THESE:
gcloud run services update slack-webhook ... # R4 VIOLATION - Use Terraform
gcloud run deploy slack-webhook --source . # R4 VIOLATION - Use Terraform
# β οΈ Using these commands will:
# - Create configuration drift (dev != prod)
# - Bypass CI quality gates (drift detection, ARV, tests)
# - Leave orphaned resources (service accounts, secrets)
# - Violate audit trail requirements
# - Block future Terraform deploys (state mismatch)
# β
CORRECT METHOD: See above - Use Terraform + GitHub Actions workflowConfiguration:
- Secrets: Stored in Secret Manager (
slack-bot-token,slack-signing-secret) - Feature Flag:
slack_bob_enabled = trueinenvs/prod.tfvars - Environment:
SLACK_BOB_ENABLED=trueset by Terraform module
Operator Guide: See 000-docs/164-AA-REPT-phase-24-slack-bob-ci-deploy-and-restore.md for complete deployment instructions.
All docs live in 000-docs/ following the NNN-CC-ABCD-name.md format.
For Developers:
- Master Index - Complete reference map for Agent Engine/A2A/Inline Deployment
- ADK/Agent Engine Spec - Hard Mode rules (R1-R8) and architecture
- CLAUDE.md - How Claude Code works with this repo
For Operators:
- DevOps Playbook - Complete operator guide from /appaudit analysis
- Operations Runbook - Day-to-day operations
- Inline Deployment Standard - Agent Engine deployment guide
For Template Adopters:
- Porting Guide - Copy department to new repo
- Integration Checklist - Don't miss anything
- Template Standards - Customization rules
Agent Engine & Deployment (v0.10.0):
- Master Index - Complete reference map (START HERE)
- ADK/Agent Engine Spec - Hard Mode rules (R1-R8)
- Inline Source Deployment - Deploy pattern, ARV gates
- ARV Minimum Gate - Agent Readiness Verification baseline
- Lazy-Loading App Pattern - Module-level app pattern
A2A Protocol & AgentCards (v0.10.0):
- AgentCards & A2A Contracts - Contract structure, skill patterns
- Prompt Design & A2A - 5-part template, contract-first
- a2a-inspector Integration - Runtime validation
Portfolio & Org Storage (v0.9.0):
- Org Storage Architecture - GCS hub design
IAM Department Templates:
- Operations Runbook - Day-to-day operations
- Porting Guide - Step-by-step instructions
- Integration Checklist - Complete checklist
- Template Standards - Scope and customization
Format: NNN-CC-ABCD-description.md
- NNN: Sequential number (001-999)
- CC: Category (PP, AT, TQ, OD, LS, RA, MC, PM, DR, UC, BL, RL, AA, WA, DD, MS)
- ABCD: Document type (ARCH, REPT, ALIG, CRIT, CONF, etc.)
- description: 1-4 words in kebab-case
Example: 6767-AT-ARCH-org-storage-architecture.md
# Run all tests
pytest
# Run specific test categories
pytest tests/unit/
pytest tests/integration/
# With coverage
pytest --cov=agents.bob --cov-report=html
# Verbose output
pytest -v- β Agent initialization and tool registration
- β A2A protocol and AgentCard generation
- β Portfolio orchestrator (36 tests for org storage)
- β Storage config and GCS writer
- β Memory wiring (Session + Memory Bank)
git checkout -b feature/your-feature- Edit agent logic in
agents/bob/ - Edit gateway code in
service/(proxies only, no Runner!) - Add tests in
tests/ - Update docs in
000-docs/
# Drift detection
bash scripts/ci/check_nodrift.sh
# Tests
pytest
# Linting
flake8 agents/bob/ service/
black --check agents/bob/ service/
mypy agents/bob/ service/git add .
git commit -m "feat(scope): description
Details about the change
π€ Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <[email protected]>
"
git push origin feature/your-featureCI will automatically:
- Run drift detection
- Run tests
- Deploy to staging (if PR is to main)
Required in .env:
# GCP Core
PROJECT_ID=your-gcp-project
LOCATION=us-central1
AGENT_ENGINE_ID=your-engine-id
AGENT_SPIFFE_ID=spiffe://intent.solutions/agent/bobs-brain/dev/us-central1/0.10.0
# Application
APP_NAME=bobs-brain
APP_VERSION=0.10.0
# Org Storage (v0.10.0+)
ORG_STORAGE_WRITE_ENABLED=true
ORG_STORAGE_BUCKET=intent-org-knowledge-hub-dev
# Vertex AI Search
VERTEX_SEARCH_DATASTORE_ID=adk-documentation
# Gateway URLs
PUBLIC_URL=https://your-a2a-gateway.run.appSee .env.example for full template.
Talk to Bob via @mentions in Slack (dev environment only):
# Enable Slack bot
SLACK_BOB_ENABLED=true
SLACK_BOT_TOKEN=xoxb-your-bot-token
SLACK_SIGNING_SECRET=your-signing-secret
A2A_GATEWAY_URL=https://a2a-gateway-xxx.run.app # Preferred routingQuick Start:
- Get credentials from Slack API Apps β bobs_brain (
A099YKLCM1N) - Set env vars in
.envor GitHub Secrets - Deploy:
gh workflow run deploy-slack-webhook.yml - Test:
make slack-dev-smoke - Mention in Slack:
@bobs_brain Hello!
In infra/terraform/envs/{env}.tfvars:
project_id = "your-gcp-project"
location = "us-central1"
# Org Storage
org_storage_enabled = true
org_storage_bucket_name = "intent-org-knowledge-hub-dev"
# Agent Engine
agent_engine_id = "bobs-brain-dev"
agent_runtime_sa = "[email protected]"Symptom: CI fails with "Drift violations detected"
Fix:
# Run locally to see violations
bash scripts/ci/check_nodrift.sh
# Common issues:
# 1. Imported Runner in service/ β Remove it, use REST API
# 2. Found LangChain/CrewAI β Remove alternative frameworks
# 3. Service account keys in repo β Remove, use WIFSymptom: Agent says "I don't have information about that ADK pattern"
Fix:
# Set up Vertex AI Search
bash scripts/deployment/setup_vertex_search.sh
# Check datastore exists
export VERTEX_SEARCH_DATASTORE_ID=adk-documentationSymptom: Portfolio audit runs but no GCS files appear
Fix:
# Check readiness
python3 scripts/check_org_storage_readiness.py --write-test
# Common issues:
# 1. ORG_STORAGE_WRITE_ENABLED not set β export ORG_STORAGE_WRITE_ENABLED=true
# 2. Bucket doesn't exist β Apply Terraform with org_storage_enabled=true
# 3. No IAM permissions β Add service account to org_storage_writer_service_accountsSymptom: adk deploy fails with "Agent Engine not found"
Fix:
# Create infrastructure first
cd infra/terraform
terraform init
terraform plan -var-file=envs/dev.tfvars
terraform apply -var-file=envs/dev.tfvars
# Verify engine exists
gcloud ai agent-engines list --region=us-central1Current Version: v0.10.0 β Agent Engine / A2A Preview (Dev-Ready, Not Deployed)
Deployment Status:
- β Agent Engine: Wired and documented, dev-ready; prod rollout gated on GCP access and ARV checks
- β A2A / AgentCard: Foreman + workers designed; validation via a2a-inspector planned
- β Inline Source Deployment: Complete with ARV gates, smoke tests, and CI workflows
- βΈοΈ Production Deployment: Infrastructure ready, awaiting first dev deployment to Agent Engine
Key Features Ready Today:
- β IAM specialist agents (iam-senior-adk-devops-lead β iam-adk, iam-issue, iam-fix, iam-qa)
- β 6767 doc suite (architecture, operations, standards)
- β Org-level storage + portfolio audit support
- β Agent Engine + A2A design complete (non-deployed)
Recent Updates:
- β Agent Engine inline source deployment infrastructure (v0.10.0)
- β AgentCard alignment & contract-first prompt design (v0.10.0)
- β ARV (Agent Readiness Verification) gates (v0.10.0)
- β LIVE1-GCS: Org-wide storage with GCS (v0.9.0)
- β PORT1-3: Multi-repo portfolio orchestration (v0.9.0)
- β IAM Templates: Reusable multi-agent framework (v0.9.0)
Roadmap:
- π LIVE-BQ: BigQuery analytics integration
- π LIVE2: Vertex AI Search RAG + Agent Engine calls (dev-only)
- π LIVE3: Slack notifications + GitHub issue creation
Metrics:
- 226 files
- 36 tests (100% pass)
- 20+ comprehensive docs
- 8 enforced Hard Mode rules
- 3 deployment environments (dev/staging/prod)
Before Hard Mode, Bob's Brain had typical agent repo problems:
Problems:
- β Mixed frameworks (ADK + LangChain + custom code)
- β Self-hosted runners (containers that sometimes crashed)
- β Manual deployments (inconsistent environments)
- β Scattered docs (README, wiki, notion, random .md files)
- β No drift detection (architectural decay over time)
Solutions (Hard Mode):
- β R1-R8 rules enforced in CI
- β Vertex AI Agent Engine (let Google manage runtime)
- β GitHub Actions with WIF (reproducible deploys)
- β
Single
000-docs/folder with filing system - β Automated drift checks block violations
Result: Agent system that's maintainable, scalable, and actually works in production.
We welcome contributions! Here's how:
- Use GitHub Issues
- Include drift check output if relevant
- Provide minimal reproduction steps
- Fork the repository
- Create feature branch (
feature/your-feature) - Follow Hard Mode rules (R1-R8)
- Add tests for new functionality
- Update docs in
000-docs/ - Ensure drift check passes
- Submit PR with clear description
# Fork and clone
git clone https://github.com/YOUR_USERNAME/bobs-brain.git
cd bobs-brain
# Set up environment
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
pip install -r requirements-dev.txt
# Run checks
bash scripts/ci/check_nodrift.sh
pytestMIT License - See LICENSE file for details.
You're free to:
- Use this in commercial products
- Modify and distribute
- Use as a template for your own agents
Just keep the license notice and don't blame us if things break. π
This Project:
Foundation Template:
Google ADK & Vertex:
Related Technologies:
- A2A Protocol - Agent-to-Agent communication
- SPIFFE - Immutable identity framework
- Workload Identity Federation - Keyless auth
Built with β€οΈ using Google ADK
β Star us on GitHub β’ π Read the docs β’ π¬ Join the discussion