{ "$schema": "https://agent-pipeline.varutasu.dev/schemas/echodo-config.v1.json", "_comment": "Per-repo Echodo bridge config for the tasks repo (Echodo's own dogfood). Read by L2 role files to know which Echodo workspace this repo's convoys live in and how to behave when MCP is unreachable. The MCP server registration itself lives in .cursor/mcp.json (already configured for stdio + pnpm-filter dev path).", "workspace_slug": "convoys-tasks", "_workspace_note": "This is the workspace you created in Echodo at echodo.stillwell.cloud as part of Action 1 (Phase 0). Roles call create_convoy / create_brief / transition_convoy_status against this workspace.", "fallback": { "on_unreachable": "local-only", "on_error": "local-only-with-warning" }, "_fallback_semantics": [ "If MCP is unreachable when a role attempts create_convoy / create_brief / transition_convoy_status:", " - The role still writes .convoys/.md and brief files locally (files are source of truth — see §7.6 of the v0.4 plan).", " - The failed call is appended to .convoys/.pending-mcp-sync.jsonl as one JSON line.", " - On the next reachable session, calling the MCP tool reconcile_from_files drains the outbox." ], "mcp_transport_reference": { "_note": "Informational only — Cursor reads .cursor/mcp.json, not this block. Kept here so a future MCP host (Phase 4 workers, CI runners) has a single source of truth for transport config.", "transport": "stdio", "command": "pnpm", "args": ["-s", "--filter", "@tasks/mcp-server", "mcp"], "env": { "DATABASE_URL": "${ECHODO_DATABASE_URL}" } } }