Packages

Multi-surface application runtime for Elixir. One TEA module renders to terminal, browser (LiveView), SSH, and MCP (agents). 30+ widgets, flexbox + CSS grid, AI agent runtime, distributed swarm with CRDTs, time-travel debugging, session recording, sandboxed REPL, and agentic commerce.

Current section

Files

Jump to
raxol docs adr README.md
Raw

docs/adr/README.md

# Architecture Decision Records
This directory contains Architecture Decision Records (ADRs) for the Raxol project. ADRs document important architectural decisions made during development, including the context, decision, and consequences.
## What is an ADR?
An Architecture Decision Record captures a single architectural decision and its rationale. The goal is to document why decisions were made, not just what was decided.
## ADR Index
| ADR | Title | Status | Date |
|-----|-------|--------|------|
| [0001](0001-component-based-architecture.md) | Component-Based Architecture | Accepted | 2025-01-27 |
| [0002](0002-parser-performance-optimization.md) | Parser Performance Optimization | Implemented | 2025-01-27 |
| [0003](0003-terminal-emulation-strategy.md) | Terminal Emulation Strategy | Accepted | 2025-01-27 |
| [0004](0004-wash-style-web-continuity.md) | WASH-Style Web Continuity Architecture | Implemented | 2025-07-15 |
| [0005](0005-runtime-plugin-system-architecture.md) | Runtime Plugin System Architecture | Implemented | 2025-06-20 |
| [0006](0006-enterprise-security-and-compliance-model.md) | Enterprise Security and Compliance Model | Implemented | 2025-06-01 |
| [0007](0007-state-management-strategy.md) | State Management Strategy | Implemented | 2025-05-15 |
| [0008](0008-phoenix-liveview-integration-architecture.md) | Phoenix LiveView Integration Architecture | Implemented | 2025-05-20 |
| [0009](0009-high-performance-buffer-management.md) | High-Performance Buffer Management | Implemented | 2025-04-20 |
## ADR Template
When creating a new ADR, use this template:
```markdown
# ADR-XXXX: Title
## Status
[Proposed | Accepted | Deprecated | Superseded by ADR-YYYY]
## Context
What is the issue that we're seeing that is motivating this decision?
## Decision
What is the change that we're proposing and/or doing?
## Consequences
What becomes easier or more difficult to do because of this change?
### Positive
- List of positive consequences
### Negative
- List of negative consequences
### Mitigation
How do we mitigate the negative consequences?
## Validation
How do we validate that this decision was correct?
## References
Links to related documentation, discussions, or resources.
```
## Why ADRs?
1. **Historical Context**: Understand why decisions were made
2. **Onboarding**: Help new team members understand the architecture
3. **Decision Review**: Revisit decisions when context changes
4. **Documentation**: Complement code comments and design docs
## Contributing
When making significant architectural decisions:
1. Create a new ADR using the template
2. Number it sequentially (0004, 0005, etc.)
3. Set status to "Proposed" initially
4. Get review from team members
5. Update status to "Accepted" after approval
6. Update this index
## Categories
### Core Architecture
- [0001: Component-Based Architecture](0001-component-based-architecture.md)
- [0003: Terminal Emulation Strategy](0003-terminal-emulation-strategy.md)
- [0007: State Management Strategy](0007-state-management-strategy.md)
### Performance & Scalability
- [0002: Parser Performance Optimization](0002-parser-performance-optimization.md)
- [0009: High-Performance Buffer Management](0009-high-performance-buffer-management.md)
### Web Integration & Collaboration
- [0004: WASH-Style Web Continuity Architecture](0004-wash-style-web-continuity.md)
- [0008: Phoenix LiveView Integration Architecture](0008-phoenix-liveview-integration-architecture.md)
### Extensibility & Security
- [0005: Runtime Plugin System Architecture](0005-runtime-plugin-system-architecture.md)
- [0006: Enterprise Security and Compliance Model](0006-enterprise-security-and-compliance-model.md)
## Status: ADR Coverage Complete ✅
**Current Coverage**: 9 ADRs covering all major architectural decisions
**Gap Analysis**: ADR Audit Plan - **COMPLETED**
### Major Architecture Areas Documented
- **Core Framework**: Component architecture and terminal emulation strategy
- **Performance**: Parser optimization and high-performance buffer management (42,000x improvement)
- **Web Integration**: WASH-style continuity and Phoenix LiveView integration
- **Extensibility**: Runtime plugin system with hot reloading
- **Enterprise**: Security, compliance, and audit logging
- **State Management**: Multi-layered state architecture with React-style patterns
### Implementation Status
All ADRs represent **implemented and production-ready** architectural decisions. The ADR process now documents the complete architectural foundation of Raxol.
### Future ADR Process
- New architectural decisions will follow the established ADR workflow
- Regular ADR reviews during major version releases
- ADR updates when architectural patterns evolve