Request Flow — Tool Call Lifecycle

What happens when Claude Code calls start_task (or any governed transition tool)

Claude CodeMCP Client
MCP Server@ido4/mcp
TaskService@ido4/core
BRE Pipeline34 Steps
GitHub APIGraphQL
Runs ALL 34 steps.
Fail-safe: one failure doesn't stop others. Full picture always available.
EventBus.emit(TaskTransitionEvent)
→ AuditService persists to JSONL
→ Analytics/Compliance cache invalidated
start_task({ issueNumber: 42 }) getContainer() → taskService.executeTransition("start") deterministic validation below validate(transition, task) getTask(42) task data ValidationResult { canProceed, details[] } updateTaskStatus(42, "In Progress") confirmed ToolResponse { success, data, suggestions[] } CallToolResult (JSON)
MCP Server
Core Domain
BRE Validation
Event / Audit