omni-dev 0.23.1

A powerful Git commit message analysis and amendment toolkit
Documentation
# Architecture Decision Records

This directory contains the Architecture Decision Records (ADRs) for the omni-dev project.

An ADR is a short document that captures a single significant architectural or design decision
along with its context and consequences. ADRs give current and future contributors a way to
understand *why* the system is shaped the way it is, not just *how* it works.

For more background on the practice, see
[Documenting Architecture Decisions](https://cognitect.com/blog/2011/11/15/documenting-architecture-decisions)
by Michael Nygard.

## Status Legend

| Emoji | Status     | Meaning                               |
|-------|------------|---------------------------------------|
| 🟡    | Proposed   | Under discussion, not yet agreed upon  |
|| Accepted   | Agreed and in effect                   |
|| Deprecated | No longer applies                      |
| 🔄    | Superseded | Replaced by a newer ADR                |

## Inventory

| ADR                      | Status      | Date       | Title                                                                                 |
|--------------------------|-------------|------------|---------------------------------------------------------------------------------------|
| [ADR-0000]adr-0000.md  | ✅ Accepted | 2026-02-10 | Use Architecture Decision Records                                                      |
| [ADR-0001]adr-0001.md  | ✅ Accepted | 2026-02-10 | YAML as Primary Human Data Exchange Format                                             |
| [ADR-0002]adr-0002.md  | ✅ Accepted | 2026-02-20 | Multi-Provider AI Abstraction via Trait Objects                                        |
| [ADR-0003]adr-0003.md  | ✅ Accepted | 2026-02-20 | Hybrid Git Integration — git2 for Reads, Shell for Complex Mutations                   |
| [ADR-0004]adr-0004.md  | ✅ Accepted | 2026-02-21 | Embedded Templates via `include_str!`                                                  |
| [ADR-0005]adr-0005.md  | ✅ Accepted | 2026-02-21 | Hierarchical Configuration Resolution with Walk-Up Discovery                           |
| [ADR-0006]adr-0006.md  | ✅ Accepted | 2026-02-22 | Two-View Repository Data Model via Generics and Composition                            |
| [ADR-0007]adr-0007.md  | ✅ Accepted | 2026-02-22 | Preflight Validation Pattern                                                           |
| [ADR-0008]adr-0008.md  | ✅ Accepted | 2026-02-22 | Deterministic Pre-Validation Before AI Analysis                                        |
| [ADR-0009]adr-0009.md  | ✅ Accepted | 2026-02-22 | Token-Budget-Aware Batch Planning                                                      |
| [ADR-0010]adr-0010.md  | ✅ Accepted | 2026-02-22 | Multi-Layer Retry Strategy                                                             |
| [ADR-0011]adr-0011.md  | ✅ Accepted | 2026-02-23 | Compile-Time Model Registry with Identifier Normalization                              |
| [ADR-0012]adr-0012.md  | ✅ Accepted | 2026-02-23 | Three-Level Issue Severity with `--strict` Exit-Code Promotion                         |
| [ADR-0013]adr-0013.md  | ✅ Accepted | 2026-02-23 | Self-Describing YAML Output with Field Presence Tracking                               |
| [ADR-0014]adr-0014.md  | ✅ Accepted | 2026-02-23 | Provider-Specific Prompt Engineering                                                   |
| [ADR-0015]adr-0015.md  | ✅ Accepted | 2026-02-23 | Dual Error Handling Strategy — `thiserror` for Domain Errors, `anyhow` for Propagation |
| [ADR-0016]adr-0016.md  | ✅ Accepted | 2026-02-24 | Clap Derive Macros with Hierarchical Subcommand Structure                              |
| [ADR-0017]adr-0017.md  | ✅ Accepted | 2026-02-25 | Per-File Diff Splitting for Token Budget Fitting                                       |
| [ADR-0018]adr-0018.md  | ✅ Accepted | 2026-02-25 | Automatic Context Detection for Adaptive AI Prompts                                    |
| [ADR-0019]adr-0019.md  | ✅ Accepted | 2026-02-25 | Ecosystem-Aware Scope Auto-Detection                                                   |
| [ADR-0020]adr-0020.md  | ✅ Proposed | 2026-04-16 | JFM — A Markdown Dialect for Bidirectional ADF Interchange                             |
| [ADR-0021]adr-0021.md  | 🟡 Proposed | 2026-04-18 | MCP Server via Second Binary with `rmcp`                                                |