Request for Comments (RFCs)
RFCs are detailed technical specifications for major features and architectural components in Prism. Each RFC provides comprehensive design documentation, implementation guidelines, and rationale for significant system changes.
๐ฏ New to Prism? Start Hereโ
If you're new to Prism, we recommend this reading path:
- RFC-001: Prism Architecture - Understand the core architecture and vision
- RFC-002: Data Layer Interface Specification - Learn the fundamental interfaces
- RFC-018: POC Implementation Strategy - See how we're building Prism incrementally
๐ Reading Paths by Roleโ
For Application Developersโ
Start with these RFCs to understand how to use Prism in your applications:
- RFC-002: Data Layer Interface Specification - Core interfaces you'll use
- RFC-014: Layered Data Access Patterns - Choose the right abstraction level
- RFC-019: Session Management Protocol - Manage connections and sessions
- RFC-012: Structured Error Handling - Handle errors gracefully
For Platform Engineersโ
Learn how to deploy, configure, and operate Prism:
- RFC-003: Admin Interface for Prism - Administrative operations
- RFC-006: Python Admin CLI - Command-line administration
- RFC-020: Namespace Self-Service Portal - Self-service configuration
- RFC-016: Local Development Infrastructure - Local dev environment
For Backend Plugin Authorsโ
Build new backend integrations or understand existing ones:
- RFC-008: Proxy Plugin Architecture - Plugin architecture fundamentals
- RFC-013: Pattern Capability Interfaces - Fine-grained capability system
- RFC-015: Plugin Acceptance Test Framework - Testing your plugin
- RFC-004: Redis Integration - Example: Redis plugin design
For System Architectsโ
Understand design decisions and reliability patterns:
- RFC-001: Prism Architecture - Overall system design
- RFC-009: Distributed Reliability Patterns - Reliability at scale
- RFC-017: Multicast Registry Pattern - Advanced pattern example
- RFC-007: Cache Strategies - Performance optimization
๐ RFCs by Categoryโ
๐๏ธ Foundation & Architectureโ
Core architectural specifications that define Prism's structure:
- RFC-001: Prism Data Access Layer Architecture (Draft) Complete architecture for high-performance data access gateway with unified interface and backend abstraction
- RFC-002: Data Layer Interface Specification (Draft) Complete gRPC interface specification for Sessions, Queues, PubSub, Readers, and Transactions
- RFC-008: Proxy Plugin Architecture (Draft) Architectural separation between minimal proxy core and extensible backend plugins
- RFC-013: Pattern Capability Interfaces (Draft) Fine-grained capability interfaces replacing monolithic backend interfaces
- RFC-014: Layered Data Access Patterns (Proposed) Three-layer pattern architecture (Basic, Advanced, Specialized) with automatic backend selection
๐ Backend Integrationsโ
Specifications for connecting Prism to different data backends:
- RFC-004: Redis Integration (Draft) Cache, PubSub, and Vector Similarity Search access patterns
- RFC-005: ClickHouse Integration for Time Series (Draft) ClickHouse-backed time series analytics supporting 1M+ events/sec ingestion
๐ก๏ธ Reliability & Patternsโ
High-level patterns for building fault-tolerant, scalable systems:
- RFC-009: Distributed Reliability Data Patterns (Proposed) Tiered Storage, Write-Ahead Log, Claim Check, Event Sourcing, CDC, CQRS, Outbox patterns
- RFC-012: Structured Error Handling (Proposed) Comprehensive error handling with status codes, retryability signals, and detailed context
- RFC-007: Cache Strategies for Data Layer (Draft) Standardized look-aside and write-through cache patterns with configuration-driven behavior
- RFC-017: Multicast Registry Pattern (Draft) Service discovery pattern with metadata registration and multicast publish using schematized slots
- RFC-019: Session Management Protocol (Draft) Connection lifecycle, token refresh, session affinity, and reconnection strategies
๐ง Operations & Managementโ
Administration, monitoring, and operational workflows:
- RFC-003: Admin Interface for Prism (Proposed) Administrative interface for managing configs, monitoring sessions, and viewing backend health
- RFC-006: Python Admin CLI (Draft) Python command-line interface for administering Prism using Typer and Rich
- RFC-020: Namespace Self-Service Portal (Draft) Web-based self-service portal for namespace creation and management
- RFC-016: Local Development Infrastructure (Proposed) Signoz (observability), Dex (OIDC), auto-provisioned developer identity, lifecycle management
๐งช Testing & Qualityโ
Frameworks and strategies for ensuring code quality:
- RFC-010: Test-Driven Development for Patterns (Draft) TDD workflow with mandatory code coverage thresholds (85%+ patterns, 90%+ utilities)
- RFC-011: Prism Loadtest Infrastructure (Draft) Load testing infrastructure using Python asyncio for realistic traffic generation
- RFC-015: Plugin Acceptance Test Framework (Accepted) World-class acceptance testing enabling ~50 lines of integration code for full coverage
๐ Implementation Planningโ
Roadmaps and phased delivery strategies:
- RFC-018: POC Implementation Strategy (Accepted) Walking Skeleton approach with 5 sequential POCs building from simple to complex (11-week timeline)
๐ RFC Processโ
RFCs follow this lifecycle:
- Draft โ Initial specification written by author(s)
- Review โ Team discussion and feedback period
- Proposed โ Refined specification ready for approval
- Accepted โ Approved for implementation
- Implemented โ Feature completed and deployed
โ๏ธ Writing RFCsโ
RFCs should include:
- Abstract: One-paragraph summary
- Motivation: Why this change is needed
- Detailed Design: Complete technical specification
- Implementation Plan: Phases and milestones
- Alternatives Considered: Other approaches and trade-offs
- Open Questions: Unresolved issues for discussion
See CLAUDE.md for the complete RFC process.
Total RFCs: 20 specifications covering architecture, backends, patterns, testing, and operations
Latest Updates: See the Changelog for recent RFCs