architecture · git:20260826.3720324 · 2026-08-26 · sha256 1f42e86064233a07

architecture git:20260826.3720324A

Immutable. This exact content never changes and is served at /api/v1/blob/1f42e86064233a07.

---
name: architecture
description: Proactive architecture review — explore codebase structure, generate a self-contained HTML report with Mermaid diagrams and candidate improvements, then grill the findings. Use when planning a large refactor, onboarding to an unfamiliar codebase, or before a major architectural change.
---

# /supergraph:architecture

Three phases: explore → HTML report → grilling loop.

Announce: "🏛️ /supergraph:architecture — mapping codebase structure..."

## Phase 1 — Explore

**1a. Read CONTEXT.md:**
```bash
cat CONTEXT.md 2>/dev/null || echo "No CONTEXT.md"
```

**1b. Codebase Memory overview (optional):**
Use `CBM_PROJECT` with `get_architecture` aspects `overview`, `layers`,
`boundaries`, `clusters`, and `hotspots`. After `get_graph_schema`, run shared
contract recipes `hubs`, `bridges`, `cross-boundary`, and `test-gaps`.
If codebase-memory-mcp is unavailable, label graph evidence `unavailable`, use
Serena/filesystem evidence, and generate Mermaid diagrams from imports.

**1c. Serena structure (optional):**
```
mcp__serena__get_symbols_overview()
```

**1d. Read 3-5 hub node files** — understand actual structure, naming, patterns.

## Phase 2 — Generate HTML Report
Write self-contained `docs/supergraph/architecture-review-<YYYY-MM-DD>.html` with Tailwind+Mermaid header, architecture `graph TD`, per-candidate card (Problem/Proposal/Before/After Mermaid/Impact/Trade-offs with badge Strong/Worth exploring/Speculative), plus tables for Test Gaps and Unexpected Coupling.

Open: `open docs/supergraph/architecture-review-<date>.html || xdg-open ... || echo "Report saved: ..."`

## Phase 3 — Grilling Loop

For each Strong candidate, ask one focused question:

> "Candidate N proposes [X]. Is this consistent with [constraint from CONTEXT.md / known business rule]?"

Incorporate answers to refine the candidate cards. Mark dismissed candidates as `Rejected — [reason]`.

After grilling, present final prioritized list:
```
Strong candidates (ready for /supergraph:plan):
  1. [Name] — [one-line rationale]

Worth exploring (needs spike first):
  2. [Name] — [open question to resolve]

Speculative (park for later):
  3. [Name] — [what would need to be true]
```

## Report

```
✅ /supergraph:architecture complete
- Report: docs/supergraph/architecture-review-<date>.html
- Communities: N | Hub nodes: N | Bridge nodes: N
- Candidates: N Strong, N Worth exploring, N Speculative
- Next: /supergraph:plan (for Strong candidates) or /supergraph:prototype (for uncertain ones)
```

## Rules

- Always open the HTML file automatically
- Mermaid diagrams must reflect actual graph data, not invented structure
- Speculative candidates must be labeled — never present guesses as strong recommendations
- Update CONTEXT.md if review revealed undocumented architectural invariants:
  ```bash
  printf '\n## <invariant>\n[description]\n' >> CONTEXT.md
  ```
- If graph was empty or unavailable, note "Diagram generated from filesystem structure" in the HTML report header