This ADR has been superseded by ADR-038 for spatial intelligence patterns.
See ADR-038: Spatial Intelligence Integration Patterns (September 30, 2025)
—mm
Status: Accepted Date: August 12, 2025 Supersedes: Direct API integration patterns Related: ADR-001 (MCP Integration), ADR-008 (MCP Connection Pooling)
Archaeological investigation of GitHub integrations reveals pattern fragmentation with 3+ different implementation approaches. Current state includes:
services/integrations/github/github_agent.py using PyGithubservices/mcp/consumer/github_adapter.py with protocol abstractionservices/integrations/slack/spatial_adapter.py as gold standardThis fragmentation creates maintenance overhead, inconsistent user experience, and prevents leveraging our 8-dimensional spatial intelligence across all external systems.
Slack Spatial Intelligence has proven to be our architectural signature differentiator, providing:
ALL external tool integrations MUST use the unified MCP + Spatial Intelligence pattern:
┌─────────────────┐ ┌──────────────────┐ ┌────────────────────┐
│ External Tool │ │ MCP Protocol │ │ Spatial Intelligence│
│ │◄──►│ │◄──►│ │
│ • GitHub │ │ • Connection │ │ • 8 Dimensions │
│ • Notion │ │ Pooling │ │ • Context Mapping │
│ • Linear │ │ • Circuit │ │ • Attention Model │
│ • Confluence │ │ Breaker │ │ • Emotional State │
└─────────────────┘ │ • Fallback │ │ • Navigation │
│ Strategy │ │ Intent │
└──────────────────┘ └────────────────────┘
│ │
└──────────┬─────────────┘
│
┌────────▼─────────┐
│ Domain Models │
│ │
│ • Pure Business │
│ Logic │
│ • No External │
│ Dependencies │
│ • Spatial Context│
└──────────────────┘
SpatialContext(
territory_id="github",
room_id="piper-morgan-product", # Repository
path_id="issues/156", # Issue number
attention_level="high", # Priority/urgency mapping
emotional_valence="negative", # Bug vs feature
navigation_intent="respond", # Action required
external_system="github",
external_id="156",
external_context={
"assignee": "john_doe",
"milestone": "v1.2",
"labels": ["bug", "high-priority"]
}
)
SpatialContext(
territory_id="notion",
room_id="product-requirements", # Database/space
path_id="pages/PM-workflow-spec", # Page path
attention_level="medium", # Review priority
emotional_valence="neutral", # Informational content
navigation_intent="investigate", # Research mode
external_system="notion",
external_id="page-uuid-123",
external_context={
"last_edited": "2025-08-12T10:00:00Z",
"author": "pm_team",
"tags": ["workflow", "specification"]
}
)
SpatialContext(
territory_id="slack",
room_id="dev-team", # Channel
path_id="threads/1691856123.456789", # Thread ID
attention_level="urgent", # @mention, DM, etc.
emotional_valence="positive", # Sentiment analysis
navigation_intent="respond", # Immediate action
external_system="slack",
external_id="1691856123.456789",
external_context={
"channel": "#dev-team",
"thread": true,
"mentions": ["@piper"]
}
)
SpatialContext(
territory_id="asana",
room_id="product-roadmap", # Project
path_id="tasks/1234567890", # Task ID
attention_level="high", # Due date proximity
emotional_valence="neutral", # Task nature
navigation_intent="monitor", # Status tracking
external_system="asana",
external_id="1234567890",
external_context={
"due_date": "2025-08-15",
"assignee": "product_team",
"progress": 0.75
}
)
BaseSpatialAdapterservices/integrations/slack/spatial_adapter.pyservices/mcp/consumer/consumer_core.pyservices/integrations/spatial_adapter.pydocs/development/deprecation-plan.mdThis ADR establishes MCP+Spatial as the mandatory integration pattern, ensuring architectural consistency and leveraging our 8-dimensional spatial intelligence as a competitive differentiator.