Skip to content

feat(topology): master topology, runner map, agent teams (61 agents) - #937

Merged
POWERFULMOVES merged 4 commits into
mainfrom
feat/topology-runner-alignment
Mar 15, 2026
Merged

POWERFULMOVES merged 4 commits into
mainfrom
feat/topology-runner-alignment

Conversation

@POWERFULMOVES

@POWERFULMOVES POWERFULMOVES commented Mar 15, 2026

Copy link
Copy Markdown
Owner

Summary

  • Master TOPOLOGY.md documenting 6 nodes, all services, DNS subdomains, and network routes
  • 19 GitHub Actions workflows mapped to runners with failover strategy
  • 11 agent teams with 61 agents defined in agent-teams.yaml
  • Agent registry expanded with full team assignments (305 new lines)
  • Updated CLAUDE.md with topology and runner strategy sections
  • Cloudflare wrangler config with KV namespace for runner routing
  • Submodule pointer updates from git submodule init/update

Files Changed

  • pmoves/docs/operations/TOPOLOGY.md — master topology document (new)
  • pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md — runner mapping (new)
  • pmoves/configs/agent-teams.yaml — 11 teams, 61 agents (new)
  • pmoves/config/agent_registry.yaml — expanded agent registry
  • .claude/context/runner-topology.md — condensed topology context (new)
  • .claude/CLAUDE.md — topology section additions
  • deploy/cloudflare/wrangler.toml — KV namespace config
  • 22 submodule pointer updates

Test plan

  • YAML files lint clean (yamllint agent-teams.yaml agent_registry.yaml)
  • Wrangler config validates (npx wrangler deploy --dry-run)
  • TOPOLOGY.md internal links resolve correctly
  • Agent team counts match between agent-teams.yaml and CLAUDE.md (61 agents, 11 teams)
  • Submodule pointers match expected commits

🤖 Generated with Claude Code

Summary by CodeRabbit

  • Documentation

    • Added comprehensive topology and infrastructure documentation covering node inventory, DNS mappings, deployment workflows, and runner strategy.
  • New Features

    • Introduced E2B MCP Server agent for sandboxed code execution support.
  • Chores

    • Updated agent registry with topology configuration and team assignments.
    • Updated Cloudflare deployment configuration with enhanced routing and pre-deploy guidance.
    • Synchronized component submodule references across the platform.

Master TOPOLOGY.md documenting 6 nodes, all services, DNS subdomains.
19 GitHub Actions workflows mapped to runners with failover strategy.
11 agent teams with 61 agents defined in agent-teams.yaml.
Agent registry expanded with full team assignments.
Updated CLAUDE.md with topology and runner strategy sections.
Cloudflare wrangler config with KV namespace for runner routing.

Includes submodule pointer updates from git submodule init/update.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@chatgpt-codex-connector

Copy link
Copy Markdown

You have reached your Codex usage limits for code reviews. You can see your limits in the Codex usage dashboard.

@coderabbitai

coderabbitai Bot commented Mar 15, 2026

Copy link
Copy Markdown
Contributor

Warning

Rate limit exceeded

@POWERFULMOVES has exceeded the limit for the number of commits that can be reviewed per hour. Please wait 15 minutes and 53 seconds before requesting another review.

⌛ How to resolve this issue?

After the wait time has elapsed, a review can be triggered using the @coderabbitai review command as a PR comment. Alternatively, push new commits to this PR.

We recommend that you space out your commits to avoid hitting the rate limit.

🚦 How do rate limits work?

CodeRabbit enforces hourly rate limits for each developer per organization.

Our paid plans have higher rate limits than the trial, open-source and free plans. In all cases, we re-allow further reviews after a brief timeout.

Please see our FAQ for further information.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 80962bf3-3b2b-45cf-8356-9c51b1fb33df

📥 Commits

Reviewing files that changed from the base of the PR and between 97caf8c and 69919cc.

📒 Files selected for processing (6)
  • .claude/CLAUDE.md
  • .claude/context/runner-topology.md
  • pmoves/config/agent_registry.yaml
  • pmoves/configs/agent-teams.yaml
  • pmoves/docs/operations/TOPOLOGY.md
  • pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md
📝 Walkthrough

Walkthrough

This pull request expands system documentation and configuration by introducing comprehensive topology and runner strategy documentation, adding topology metadata to the agent registry, establishing a new agent-teams configuration file, updating deployment configurations, and refreshing multiple submodule pointers across the system.

Changes

Cohort / File(s) Summary
Documentation & Topology Context
.claude/CLAUDE.md, .claude/context/runner-topology.md, pmoves/docs/operations/TOPOLOGY.md, pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md
Added comprehensive topology, runner strategy, and workflow mapping documentation. Includes node inventory, service assignments, DNS mappings, runner fleet details, CI/CD workflow documentation, and deployment guidance.
Agent Configuration & Registry
pmoves/config/agent_registry.yaml, pmoves/configs/agent-teams.yaml
Added topology metadata (node_affinity, team, ci_runner, compose_profile) to all 51 existing agents in the registry. Introduced new pmoves_e2b_mcp_server agent entity. Created new agent-teams configuration organizing 61 agents into 11 named teams with team-level metadata and validation notes.
Deployment Configuration
deploy/cloudflare/wrangler.toml
Updated Cloudflare wrangler configuration with clarified account ID setup, modified route patterns (added wildcard webhook path and additional routes), added pre-deployment instructions for secrets management, and declared compatibility_flags.
Submodule Reference Updates
PMOVES-BotZ-gateway, PMOVES-Danger-infra, PMOVES-E2B-Danger-Room, PMOVES-E2B-Danger-Room-Desktop, PMOVES-E2b-Spells, PMOVES-Headscale, PMOVES-MAI-UI, PMOVES-Pinokio-Ultimate-TTS-Studio, PMOVES-Pipecat, PMOVES-Tailscale, PMOVES-Ultimate-TTS-Studio, PMOVES-llama-throughput-lab, PMOVES-supabase, PMOVES-surf, PMOVES-tensorzero, PMOVES-transcribe-and-fetch, Pmoves-AgentGym-RL, Pmoves-Health-wger, Pmoves-cipher, Pmoves-hyperdimensions, pmoves/integrations/archon, pmoves-e2b-mcp-server
Updated commit references for 22 submodules; no functional code changes, only pointer updates.

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~30 minutes

Possibly related PRs

Suggested reviewers

  • hunnibear

Poem

🐰 Hoppy hop through topology lands,
Agent teams now firmly stand,
Topology flows from node to node,
Each submodule finds its road,
PMOVES.AI hops with grace and might!

🚥 Pre-merge checks | ✅ 2 | ❌ 1

❌ Failed checks (1 warning)

Check name Status Explanation Resolution
Description check ⚠️ Warning The PR description includes a summary and files changed section, but is missing the required Testing section with commands/scripts and the Required Checks checklist. Add a Testing section with specific commands (yamllint, wrangler validation), include the Required Checks checklist with checkboxes, and confirm CHIT Contract Check and documentation updates.
✅ Passed checks (2 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly summarizes the main changes: introducing master topology documentation, runner mapping, and agent teams with 61 agents organized into 11 teams.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment
  • Commit unit tests in branch feat/topology-runner-alignment
📝 Coding Plan
  • Generate coding plan for human review comments

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@POWERFULMOVES

Copy link
Copy Markdown
Owner Author

@coderabbitai review

@coderabbitai

coderabbitai Bot commented Mar 15, 2026

Copy link
Copy Markdown
Contributor
✅ Actions performed

Review triggered.

Note: CodeRabbit is an incremental review system and does not re-review already reviewed commits. This command is applicable only when automatic reviews are paused.

…d E2B MCP agent

SECURITY: Revert hardcoded Cloudflare account_id and KV namespace ID to
placeholder values — these should come from env vars or wrangler login.

Also fixes:
- PostgREST port 3000 annotated as container-internal (via Kong at 8000)
- Grafana port corrected to 3002 (actual host port)
- TensorZero node_affinity fixed to [kvm4-1, z890], team to infra
- tts.pmoves.ai DNS route corrected to Z890 (GPU-bound service)
- Added pmoves_e2b_mcp_server to agent registry
- Clarified external team count (0 agents, 7 human contributors)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 13

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In @.claude/CLAUDE.md:
- Around line 515-516: Update the CI Runners list in .claude/CLAUDE.md to match
the canonical runner names from the source configs
(pmoves/configs/agent-teams.yaml and pmoves/config/agent_registry.yaml): replace
cloudstartup, kvm4, kvm2 with ai-lab, vps (or self-hosted where appropriate),
and keep ubuntu-latest; ensure the sentence mentioning routing via Cloudflare
Worker (`deploy/cloudflare/worker.js`) remains accurate and that the list
reflects the current live service map per the file's maintenance guideline.

In @.claude/context/runner-topology.md:
- Around line 18-20: Add a language label to the two fenced code blocks that
currently have no language identifier; update the block that contains "Internet
→ Cloudflare DNS → KVM2 (nginx/SSL) → KVM4-1 (API) or KVM4-2 (data)" and the
block that contains "GitHub event → CF Worker (analyzes files) → ai-lab (GPU) /
vps (Docker) / ubuntu-latest (light)" to use a language tag (e.g., add ```text)
so markdownlint MD040 is satisfied.

In `@Pmoves-cipher`:
- Line 1: The Pmoves-cipher submodule pointer references a non-existent commit
(873abb1bc17d9a78c0c9875926740ea760e2d70a); fix it by updating the Pmoves-cipher
submodule entry to point at a valid, pushed commit in that repository: inspect
the Pmoves-cipher repo to find the intended commit or branch tip, update the
submodule reference (the submodule named Pmoves-cipher) to that valid commit,
and commit the updated gitlink in the superproject so the pointer resolves for
others; ensure the referenced commit hash actually exists in the Pmoves-cipher
remote before pushing the change.

In `@PMOVES-tensorzero`:
- Line 1: The repo contains a gitlink for the submodule PMOVES-tensorzero
(commit 6b1bc23f540899764a9fcbc32ad85b4e24dbae47) but .gitmodules is missing an
entry; add a .gitmodules section for the submodule named "PMOVES-tensorzero"
with path = PMOVES-tensorzero, url =
https://github.com/POWERFULMOVES/PMOVES-tensorzero.git and branch =
PMOVES.AI-Edition-Hardened, commit and push the updated .gitmodules, then run
git submodule sync && git submodule update --init --recursive to ensure the
working tree and index are consistent.

In `@PMOVES-Ultimate-TTS-Studio`:
- Line 1: The PR points the PMOVES-Ultimate-TTS-Studio submodule at commit
26ca5a2acd238a21d5242a72fba3dbd24c5996d5 which does not exist in the submodule
repo and will break checkouts; fix by either pushing that missing commit to the
PMOVES-Ultimate-TTS-Studio repository (so the hash becomes available), or update
the submodule reference in the parent repo to a valid existing commit (e.g.,
using git submodule set-commit/checkout to a known-good commit and committing
the updated gitlink), then push the parent repo branch so the submodule pointer
matches an existing commit.

In `@pmoves/config/agent_registry.yaml`:
- Around line 319-323: The topology block for the agent in agent_registry.yaml
(fields topology, node_affinity, team, ci_runner, compose_profile) conflicts
with definitions in pmoves/configs/agent-teams.yaml (notably the tensorzero team
placement and sandbox runner/affinity expectations); update the canonical entry
in agent_registry.yaml to match the team-map values: set the team, node_affinity
and ci_runner to the values defined in agent-teams.yaml for the same agent
(remove or set compose_profile appropriately) so agent_registry.yaml remains the
single source of truth and resolves the drift with agent-teams.yaml.

In `@pmoves/configs/agent-teams.yaml`:
- Line 2: Remove the hardcoded total "61" from the comment string "Groups 61
agents into functional teams with node affinity and runner assignments." and any
other occurrences (e.g., the other comment at line 161) and replace with
count-neutral wording that defers to the registry as the source of truth (for
example "Groups agents into functional teams with node affinity and runner
assignments; agent count is defined in pmoves/config/agent_registry.yaml").
Update both occurrences and ensure the comment references
pmoves/config/agent_registry.yaml as the canonical source rather than embedding
a numeric total.
- Line 74: The Grafana port comment in the agent-teams config currently reads
"Port 3000" (the line with "- grafana           # Port 3000 — Dashboards");
update that annotation to "Port 3002" to match the master topology documented in
TOPOLOGY.md (line 53), and verify any other grafana port references in this file
match the topology to keep operator-facing docs consistent.
- Around line 133-140: The team list in pmoves/configs/agent-teams.yaml (entries
like e2b_danger_room, e2b_desktop, e2b_spells, danger_infra, surf, agentgym,
agentgym_rl) has diverged from the canonical agent definitions in
pmoves/config/agent_registry.yaml; update the sandbox roster so each agent maps
to exactly one team per the registry (replace or remove agentgym and agentgym_rl
and add the registry-backed team e.g. pmoves_e2b_mcp_server where appropriate),
and make the same corrections for the other block mentioned (lines around
161-176) so both lists exactly match the registry entries.

In `@pmoves/docs/operations/TOPOLOGY.md`:
- Line 15: Update the KVM4-1 row in TOPOLOGY.md so its runner label column
matches the runner mapping used in this PR: include both `self-hosted, vps,
kvm4, production` and the additional labels `self-hosted, cloudstartup, staging`
(e.g., combine or list both sets for KVM4-1). Edit the table row that contains
the identifier "KVM4-1" to add the missing `cloudstartup` and `staging` labels
to the existing labels, and then re-check the runner mapping in the PR to ensure
the doc now exactly mirrors the labels used by the KVM4-1 runner mapping.
- Line 51: The NATS health endpoint in the TOPOLOGY table is malformed
(`http://:8222/varz`); update the URL to a valid host form such as using a
placeholder or localhost (e.g., `http://localhost:8222/varz` or
`http://<nats-host>:8222/varz`) so the NATS row (label "NATS" and the ports
`4222 / 9222 (WS)`) shows a correct, actionable health endpoint.

In `@pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md`:
- Line 34: Update the abbreviated runner labels in the WORKFLOW_RUNNER_MAP table
row for "**Self-Hosted Builds**" (and the similar entries around the later block
covering lines 72–77) to match the actual workflow label sets used by the
referenced workflows (e.g. replace `ai-lab, gpu` and `self-hosted, Linux, X64`
with the full sets `self-hosted, Linux, X64, ai-lab, gpu` and replace
`cloudstartup, staging` with `self-hosted, cloudstartup, staging`), ensure the
`self-hosted-builds.yml` workflow name and any other workflow names in the same
table show the full comma-separated labels, and keep the wording consistent so
ops/triage use the exact labels used in the workflows.
- Around line 68-78: The fenced code block showing the workflow map is missing a
language identifier which triggers markdownlint MD040; update the opening fence
for that block (the triple backticks immediately before "Push to main") to
include a language tag such as text (i.e. change ``` to ```text) so the block is
explicitly marked as plain text—no other content changes required.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: ddc10461-84c4-41cd-b8b3-3c917a85fd4f

📥 Commits

Reviewing files that changed from the base of the PR and between b9d4eec and 97caf8c.

📒 Files selected for processing (29)
  • .claude/CLAUDE.md
  • .claude/context/runner-topology.md
  • PMOVES-BotZ-gateway
  • PMOVES-Danger-infra
  • PMOVES-E2B-Danger-Room
  • PMOVES-E2B-Danger-Room-Desktop
  • PMOVES-E2b-Spells
  • PMOVES-Headscale
  • PMOVES-MAI-UI
  • PMOVES-Pinokio-Ultimate-TTS-Studio
  • PMOVES-Pipecat
  • PMOVES-Tailscale
  • PMOVES-Ultimate-TTS-Studio
  • PMOVES-llama-throughput-lab
  • PMOVES-supabase
  • PMOVES-surf
  • PMOVES-tensorzero
  • PMOVES-transcribe-and-fetch
  • Pmoves-AgentGym-RL
  • Pmoves-Health-wger
  • Pmoves-cipher
  • Pmoves-hyperdimensions
  • deploy/cloudflare/wrangler.toml
  • pmoves-e2b-mcp-server
  • pmoves/config/agent_registry.yaml
  • pmoves/configs/agent-teams.yaml
  • pmoves/docs/operations/TOPOLOGY.md
  • pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md
  • pmoves/integrations/archon

Comment thread .claude/CLAUDE.md Outdated
Comment thread .claude/context/runner-topology.md Outdated
Comment thread Pmoves-cipher
Comment thread PMOVES-tensorzero
Comment thread PMOVES-Ultimate-TTS-Studio
Comment thread pmoves/configs/agent-teams.yaml
Comment thread pmoves/docs/operations/TOPOLOGY.md
Comment thread pmoves/docs/operations/TOPOLOGY.md Outdated
Comment thread pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md
Comment thread pmoves/docs/operations/WORKFLOW_RUNNER_MAP.md Outdated
…unner labels, count-neutral comments

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants