Architecture Decision Records (ADR) Index
This index centralizes all strategic technical decisions made for CostEngine (MfgIQ). We follow the ADR pattern to document context, decisions, and consequences.
🏗️ Core Architecture ADRs
| ID |
Status |
Decision |
Key Rationale |
| ADR-001 |
✅ Proposed |
Open Source SaaS Stack |
Avoid vendor lock-in; Python/Next.js ecosystem. |
| ADR-002 |
✅ Proposed |
Snowflake Schema + JSONB |
Balance between transactional integrity and spec flexibility. |
| ADR-003 |
✅ Proposed |
CSV + XLSX Strategy |
Standardize data exchange + rich templates. |
| ADR-004 |
✅ Proposed |
Branch-and-Snapshot |
Immutable history and forensic replay capability. |
| ADR-005 |
✅ Proposed |
Modular Block Pattern |
Reusable 'Lego' components for costing logic. |
🛠️ Infrastructure & Data ADRs
| ID |
Status |
Decision |
Key Rationale |
| ADR-006 |
✅ Proposed |
DRY Semantic Layer |
Centralize 50+ metric formulas into a metadata catalog. |
| ADR-007 |
✅ Proposed |
Idempotent Pipeline |
Use Watermarking and Hashing for fast, robust ingestion. |
| ADR-008 |
⌛ Draft |
Keycloak Managed Identity |
Enterprise-grade SAML/OAuth for MSME clients. |
📈 Analytical ADRs
| ID |
Status |
Decision |
Key Rationale |
| ADR-009 |
📅 Planned |
Columnar Extension (Citus/DuckDB) |
roadmap for >5M quote history records. |
While ADRs document why we made a choice, the following files document how the systems are built:
- System Architecture Overview
- Non-Functional Requirements