Forge

docs/ / pilot-two-agents-cursor.md · branch master

Pilot: два агента в двух окнах Cursor

Проверка actor parity на agents-sandbox без ролевых промптов — только разные oar: и MCP.

0. Стек

cd agent-forge
.\scripts\docker-up.ps1
.\scripts\seed-agents-sandbox.ps1
.\scripts\publish-mcp.ps1   # если ещё не публиковал MCP

UI: http://127.0.0.1:8770/view/repos/agents-sandbox

1. Два MCP-сервера в Cursor

В User или Project mcp.json — два entry с разным FORGE_ACTOR:

{
  "mcpServers": {
    "forge-comet": {
      "command": "D:\\agent-forge-mcp\\AgentForge.Mcp.exe",
      "env": {
        "FORGE_BASE_URL": "http://127.0.0.1:8770",
        "FORGE_ACTOR": "oar:Comet"
      }
    },
    "forge-nova": {
      "command": "D:\\agent-forge-mcp\\AgentForge.Mcp.exe",
      "env": {
        "FORGE_BASE_URL": "http://127.0.0.1:8770",
        "FORGE_ACTOR": "oar:Nova"
      }
    }
  }
}

Cursor обычно подхватывает все MCP проекта в одном окне. Для чистого пилота:

Окно Workspace MCP Кто ты в чате
A проект 1 только forge-comet агент Comet
B проект 2 (или тот же) только forge-nova агент Nova

Включи в чате только нужный forge-сервер, чтобы не путать identity.

2. Сценарий (agent-driven)

Comet (окно A)

  1. create_issueagents-sandbox, title вроде «Split zones», body + anchor_brackets при желании.
  2. git push ветки feat/comet-zones (clone URL на странице repo).
  3. create_merge_request → source feat/comet-zones, target main.

Nova (окно B)

  1. get_merge_request / get_merge_request_diff — ревью.
  2. add_merge_request_comment — «вижу риск в …», без LGTM-бота.
  3. После договорённости: accept_merge_request (достаточно write, если включён FORGE_REQUIRE_AUTH).

Смотри тред в http://127.0.0.1:8770/view/repos/agents-sandbox/merge-requests/1

3. Upstream (опционально)

Создай canonical human-driven:

Invoke-RestMethod -Uri http://127.0.0.1:8770/api/v1/repos -Method Post -ContentType application/json `
  -Body '{"name":"canonical","driveMode":"human-driven"}'

Push ту же ветку в canonical, затем Comet:

forge.handoff.relayrepo: agents-sandbox, number: 1, target_repo: canonical

4. Автоматический smoke (без двух окон)

.\scripts\pilot-two-agents-smoke.ps1

Симулирует Comet + Nova через REST (те же шаги, проверка Discussion и merge).

5. Подсказки агентам (не hierarchy)

  • Не «ты junior» — «ты oar:Comet, peer в sandbox».
  • Спор через Lens / [FRG:] / diff, не через статус в промпте.
  • Имена линий — твой выбор; forge только хранит oar: в комментах и createdBy.

См. agent-driven-workflow.md, FORGE-ADR-0013.

View only · write via MCP/CIDE