# 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 to ADR-014)

- **ADR-012**: [Nushell Nickel Plugin CLI Wrapper](adr-012-nushell-nickel-plugin-cli-wrapper.md) - Plugin architecture for Nickel integration
- **ADR-013**: [Typdialog Web UI Backend Integration](adr-013-typdialog-integration.md) - Browser-based configuration forms with multi-user collaboration
- **ADR-014**: [SecretumVault Integration](adr-014-secretumvault-integration.md) - Centralized secrets management with dynamic credentials

### AI and Intelligence (ADR-015)

- **ADR-015**: [AI Integration Architecture](adr-015-ai-integration-architecture.md) - Comprehensive AI system for intelligent infrastructure provisioning

## 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-08
**Total ADRs**: 15
