2026-01-08 09:55:37 +00:00
# Architecture Decision Records (ADRs)
This directory contains all Architecture Decision Records for the provisioning platform. ADRs document significant architectural decisions and their rationale.
## Index of Decisions
### Core Architecture (ADR-001 to ADR-006)
- **ADR-001**: [Project Structure ](adr-001-project-structure.md ) - Overall project organization and directory layout
- **ADR-002**: [Distribution Strategy ](adr-002-distribution-strategy.md ) - How the platform is packaged and distributed
- **ADR-003**: [Workspace Isolation ](adr-003-workspace-isolation.md ) - Workspace management and isolation boundaries
- **ADR-004**: [Hybrid Architecture ](adr-004-hybrid-architecture.md ) - Rust/Nushell hybrid system design
- **ADR-005**: [Extension Framework ](adr-005-extension-framework.md ) - Plugin/extension system architecture
- **ADR-006**: [Provisioning CLI Refactoring ](adr-006-provisioning-cli-refactoring.md ) - CLI modularization and command handling
### Infrastructure & Configuration (ADR-007 to ADR-011)
- **ADR-007**: [KMS Simplification ](adr-007-kms-simplification.md ) - Key Management System design
- **ADR-008**: [Cedar Authorization ](adr-008-cedar-authorization.md ) - Fine-grained authorization via Cedar policies
- **ADR-009**: [Security System Complete ](adr-009-security-system-complete.md ) - Comprehensive security implementation
- **ADR-010**: [Configuration Format Strategy ](adr-010-configuration-format-strategy.md ) - When to use Nickel, TOML, YAML, or KCL
- **ADR-011**: [Nickel Migration ](adr-011-nickel-migration.md ) - Migration from KCL to Nickel as primary IaC language
### Platform Services (ADR-012)
- **ADR-012**: [Nushell Nickel Plugin CLI Wrapper ](adr-012-nushell-nickel-plugin-cli-wrapper.md ) - Plugin architecture for Nickel integration
## How to Use ADRs
1. **For decisions affecting architecture** : Create a new ADR with the next sequential number
2. **For reading decisions** : Browse this list or check SUMMARY.md
3. **For understanding context** : Each ADR includes context, rationale, and consequences
## ADR Format
Each ADR follows this standard structure:
- **Context**: What problem we're solving
- **Decision**: What we decided
- **Rationale**: Why we chose this approach
- **Consequences**: Positive and negative impacts
- **Alternatives Considered**: Other options we evaluated
## Status Markers
- **Proposed**: Under review, not yet final
- **Accepted**: Approved and adopted
- **Superseded**: Replaced by a later ADR
- **Deprecated**: No longer recommended
---
**Last Updated**: 2025-01-03
**Total ADRs**: 12