---
name: Architecture Spike
type: research
typical_query_count: 2-4
expected_output_length: 600-1200 words
cascade_tier: groq_preferred
description: >
  Investigate how to connect two systems or components. Produces an integration
  architecture with sequence diagram, key decisions, and a proof-of-concept outline.
---

# Architecture Spike: Connect {system_a} to {system_b}

## Context

We need to integrate **{system_a}** with **{system_b}** in the context of
**{project_context}**. This spike answers: what is the best way to wire them
together, and what are the trade-offs?

## Constraints

- Prefer approaches that avoid adding new infrastructure dependencies.
- The integration should be **{sync_or_async}** (synchronous / asynchronous).
- Must work within: {environment_constraints}.

## Research Steps

1. Identify the APIs / protocols exposed by both systems.
2. List all known integration patterns (direct API, message queue, webhook, SDK, etc.).
3. Evaluate each pattern for complexity, reliability, and latency.
4. Select the recommended approach and outline a proof-of-concept.

## Output Format

### Integration Options

| Pattern | Complexity | Reliability | Latency | Notes |
|---------|-----------|-------------|---------|-------|
| ...     | ...       | ...         | ...     | ...   |

### Recommended Approach

**Pattern:** {pattern_name}

**Why:** One paragraph explaining the choice.

### Sequence Diagram

```
{system_a} -> {middleware} -> {system_b}
```

Describe the data flow step by step:

1. {system_a} does X...
2. {middleware} transforms / routes...
3. {system_b} receives Y...

### Proof-of-Concept Outline

- Files to create or modify
- Key libraries / dependencies needed
- Estimated effort: {effort_estimate}

### Open Questions

Bullet list of decisions that need human input before proceeding.
