syntaxis/docs/adr/README.md

77 lines
2.5 KiB
Markdown
Raw Permalink Normal View History

# Architecture Decision Records (ADRs)
This directory contains Architecture Decision Records (ADRs) for SYNTAXIS - significant architectural and design decisions, their rationale, and implications.
## What is an ADR?
An ADR documents a significant architectural decision, the reasoning behind it, and trade-offs considered. Each ADR:
- Describes a specific decision
- Explains the problem and context
- Lists alternatives considered
- States the decision and rationale
- Documents trade-offs and implications
## Index
### ADR-001: Wrapper Architecture Strategy
**Status**: DEPRECATED (See ADR-002 for deployment wrappers)
**Date**: 2025-11-17
~~Analyzes installation orchestrator wrappers (`provision.sh`). Deprecated in favor of ADR-002 which focuses on runtime deployment wrappers.~~
**Files**: [ADR-001-wrapper-architecture-strategy.md](./ADR-001-wrapper-architecture-strategy.md)
---
### ADR-002: Bundle Wrapper Deployment Architecture
**Status**: ACCEPTED
**Date**: 2025-11-17
Defines three-layer wrapper deployment for bundle installations:
1. **Bash Wrapper** (`~/.cargo/bin/syntaxis-cli`)
- Sets environment variables
- Calls NuShell wrapper
2. **NuShell Wrapper** (`~/.config/syntaxis/scripts/syntaxis-cli.nu`)
- Discovers configuration files
- Auto-injects `--config` path
- Calls actual binary
3. **Real Binary** (`~/.cargo/bin/syntaxis-cli.real`)
- Actual compiled executable
**Decision**: Bundle installations should create the same wrapper structure as development installations for consistent UX.
**Key Insight**: Users should NOT have to type `--config path` every time (frequent burden). Wrappers solve this.
**Files**: [ADR-002-bundle-wrapper-deployment.md](./ADR-002-bundle-wrapper-deployment.md)
---
## How to Use These ADRs
1. **Read the Decision**: Start with "Decision" section
2. **Understand the Rationale**: See "Problem Statement" and analysis
3. **Review Trade-offs**: Consider both sides
4. **Check Status**: Is this PROPOSED, ACCEPTED, SUPERSEDED?
## Contributing
When proposing a new ADR:
1. Create `ADR-NNN-short-title.md` in this directory
2. Use template from existing ADRs
3. Include decision, rationale, trade-offs
4. Update this README with reference
## Decision Status Reference
- **PROPOSED**: Under review, not yet accepted
- **ACCEPTED**: Approved, implementation proceeding
- **IMPLEMENTED**: Completed and in production
- **SUPERSEDED**: Replaced by newer ADR (reference new one)
- **DEPRECATED**: No longer relevant
---
**SYNTAXIS** v0.1.0