# Architecture Decision Records

> This page tracks all significant design decisions made for ContextForge project, using the ADR format.

- Skill: `tools-only/architecture-decision-records` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add tools-only/architecture-decision-records`
- Raw SKILL.md: https://api.skillmd.com/api/skills/tools-only/architecture-decision-records/raw
- Safety review: pending (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: tools-only (https://skillmd.com/u/tools-only)
- Updated: 2026-09-29
- Page: https://skillmd.com/skills/tools-only/architecture-decision-records

---

# Architecture Decision Records

This page tracks all significant design decisions made for ContextForge project, using the [ADR](https://adr.github.io/) format.

| ID    | Title                                              | Status    | Section        | Date        |
|-------|----------------------------------------------------|-----------|----------------|-------------|
| 0001  | Adopt **FastAPI** + **Pydantic V2** (Rust-core)   | Accepted  | Framework      | 2025-02-01  |
| 0002  | Use **Async SQLAlchemy** ORM with Connection Pooling | Accepted  | Persistence    | 2025-02-01  |
| 0003  | Expose Multi-Transport Endpoints                   | Accepted  | Transport      | 2025-02-01  |
| 0004  | Combine JWT & Basic Auth                           | Accepted  | Security       | 2025-02-01  |
| 0005  | Structured JSON Logging                            | Accepted  | Observability  | 2025-02-21  |
| 0005b | VS Code Dev Container Support                      | Accepted  | Development    | 2025-02-21  |
| 0006  | Gateway & Tool-Level Rate Limiting                 | Accepted  | Performance    | 2025-02-21  |
| 0007  | Pluggable Cache Backend (memory / Redis Cluster / DB) | Accepted  | Caching        | 2025-02-21  |
| 0008  | Federation & Auto-Discovery via DNS-SD             | Accepted  | Federation     | 2025-02-21  |
| 0009  | Built-in Health Checks & Self-Monitoring           | Accepted  | Operations     | 2025-02-21  |
| 0010  | Observability via Prometheus, Structured Logs      | Accepted  | Observability  | 2025-02-21  |
| 0011  | Namespaced Tool Federation                         | Accepted  | Federation     | 2025-03-01  |
| 0012  | Drop-down UI Tool Selection                        | Accepted  | User Interface | 2025-03-01  |
| 0013  | APIs for Server Connection Strings                 | Accepted  | API Design     | 2025-03-01  |
| 0014  | Security Headers & Environment-Aware CORS Middleware | Accepted  | Security       | 2025-08-17  |
| 0015  | Configurable Well-Known URI Handler                | Accepted  | Security       | 2025-08-17  |
| 0016  | Plugin Framework & AI Middleware                   | Accepted  | Extensibility  | 2025-08-17  |
| 0017  | Adopt **orjson** for High-Performance JSON         | Accepted  | Performance    | 2025-10-27  |
| 0018  | Built-in Response Compression (Brotli/Zstd/GZip)   | Accepted  | Performance    | 2025-10-27  |
| 0019  | Modular Architecture Split (14 Independent Modules) | Accepted  | Architecture   | 2025-10-27  |
| 0020  | Multi-Format Packaging Strategy                    | Accepted  | Distribution   | 2025-10-27  |
| 0021  | Built-in Proxy Capabilities vs Service Mesh        | Accepted  | Architecture   | 2025-10-27  |
| 0022  | Elicitation Passthrough Implementation             | Accepted  | MCP Protocol   | 2025-10-26  |
| 0023  | One-Time Authentication Servers                    | Accepted  | Security       | 2025-10-27  |
| 0024  | Adopt **uvicorn[standard]** for Enhanced Server Performance | Accepted | Performance | 2025-12-21 |
| 0025  | Adopt **Granian** as Alternative HTTP Server | Accepted | Performance | 2025-12-21 |
| 0026  | Add **Hiredis** as Default Redis Parser | Accepted | Performance | 2025-12-21 |
| 0027  | Migrate from **Psycopg2** to **Psycopg3** | Accepted | Database | 2025-01-15 |
| 0028  | Authentication Data Caching | Accepted | Performance | 2025-01-15 |
| 0029  | Registry and Admin Stats Caching | Accepted | Performance | 2025-01-15 |
| 0030  | Metrics Cleanup and Rollup | Accepted | Performance | 2025-01-15 |
| 0031  | Parallel Session Cleanup with asyncio.gather() | Accepted | Performance | 2025-01-15 |
| 0032  | MCP Session Pool for Connection Reuse | Accepted | Performance | 2025-01-05 |
| 0033  | Tool Lookup Cache for invoke_tool | Accepted | Performance | 2025-01-20 |
| 0035  | Query Parameter Authentication for Gateways | Accepted | Security | 2026-01-19 |
| 0037  | External Plugin STDIO Launch with Command/Env Overrides | Accepted | Extensibility | 2026-01-28 |
| 0038  | Experimental Rust Transport Backend (Streamable HTTP) | Proposed | Performance | 2025-12-26 |
| 0039  | Adopt Fully Independent Plugin Crates Architecture | Accepted | Architecture | 2026-02-13 |

> ✳️ Add new decisions chronologically and link to them from this table.

