Skip to content

Architecture Decision Records

This directory contains all Architecture Decision Records (ADRs) for floe.

ADR numbers are immutable once assigned. Gaps in numbering occur when:

  • ADRs are rejected or withdrawn
  • ADRs are superseded and merged into others
  • Numbers are reserved for future use

Missing Numbers:

  • 0002, 0003, 0004: Historical gaps (pre-documentation system)
  • 0013: Merged into ADR-0012 (Data Classification)
ADRTitleStatus
0001Use Cube for Semantic/Consumption LayerAccepted
0005Apache Iceberg as Enforced Table FormatAccepted
0006Use OpenTelemetry for ObservabilityAccepted
0007Include OpenLineage from StartAccepted
0008Standalone Repository ArchitectureAccepted
0009dbt Owns SQL TransformationAccepted
0010Target-Agnostic ComputeAccepted
0011Pluggable Orchestration via OrchestratorPluginAccepted
0012Data Classification and GovernanceAccepted
0014Flink for Streaming WorkloadsDeferred
0015Policy Enforcement Plugin InterfaceAccepted
0016Platform Enforcement ArchitectureAccepted
0017Kubernetes-Based Testing InfrastructureAccepted
0018Opinionation BoundariesAccepted
0019Platform Services LifecycleAccepted
0020Ingestion PluginsAccepted
0021Data Architecture PatternsAccepted
0022Security & RBAC ModelAccepted
0023Secrets Management ArchitectureAccepted
0024Identity and Access ManagementAccepted
0025Plugin Error TaxonomyAccepted
0026Data Contract ArchitectureAccepted
0027ODCS Standard AdoptionAccepted
0028Runtime Contract MonitoringAccepted
0029Contract Lifecycle ManagementAccepted
0030Namespace-Based IdentityAccepted
0031Infisical as Default Secrets ManagementAccepted
0032Semantic Layer Compute Plugin IntegrationAccepted
0033Target Airflow 3.xAccepted
0034dbt-duckdb Iceberg Catalog WorkaroundAccepted
0035Observability Plugin InterfaceAccepted
0036Storage Plugin InterfaceAccepted
0037Composability as Core PrincipleAccepted
0038Data Mesh ArchitectureAccepted
0039Multi-Environment Artifact PromotionAccepted
0040Artifact Immutability and Garbage CollectionAccepted
0041Artifact Signing and VerificationAccepted
0042Linear + Beads Traceability IntegrationSuperseded
0043dbt Compilation Environment AbstractionAccepted
0044Unified Data Quality Plugin ArchitectureAccepted
0045Compilation Caching StrategyAccepted
0046Agent Memory Architecture (Cognee)Proposed
0047CLI Architecture (Click Unification)Accepted
  • 0005 - Apache Iceberg as enforced table format
  • 0008 - Repository structure and plugin architecture
  • 0016 - Four-layer architecture and platform enforcement
  • 0017 - Testing infrastructure
  • 0018 - Enforced vs pluggable boundaries
  • 0037 - Composability as core architectural principle
  • 0009 - dbt as transformation engine
  • 0010 - Compute target flexibility
  • 0020 - dlt/Airbyte ingestion
  • 0021 - Medallion, Data Mesh patterns
  • 0034 - dbt-duckdb Iceberg catalog workaround (CRITICAL)
  • 0038 - Data Mesh with unified Manifest schema
  • 0043 - dbt compilation environment abstraction (local/fusion/cloud)
  • 0045 - Content-addressable caching for compilation stages
  • 0006 - OpenTelemetry integration
  • 0007 - OpenLineage lineage tracking
  • 0012 - Data classification
  • 0015 - Policy enforcement plugin interface (compile-time code quality)
  • 0044 - Unified data quality plugin (Great Expectations, Soda, custom)
  • 0001 - Cube semantic layer
  • 0011 - Pluggable orchestration via OrchestratorPlugin (Dagster, Airflow, Prefect)
  • 0019 - Service lifecycle management
  • 0032 - Cube delegates to compute plugin (DuckDB-first)
  • 0033 - Target Airflow 3.x orchestration
  • 0035 - Pluggable observability backends (Jaeger, Datadog, Grafana Cloud)
  • 0036 - Pluggable storage backends (S3, GCS, Azure, MinIO)
  • 0022 - RBAC, network policies, pod security
  • 0023 - Secrets management architecture (superseded by 0031)
  • 0024 - Identity providers (Keycloak, Dex, Okta)
  • 0031 - Infisical as default OSS secrets (supersedes 0023)
  • 0026 - Data contract architecture and enforcement
  • 0027 - ODCS v3 standard adoption
  • 0028 - Runtime contract monitoring
  • 0029 - Contract versioning and lifecycle
  • 0030 - Namespace-based product and contract identity
  • 0039 - Multi-environment promotion with GitOps workflows (dev → staging → prod)
  • 0040 - Artifact immutability and garbage collection (Harbor, ECR, ACR, GAR)
  • 0041 - Artifact signing and verification (Cosign, keyless + key-based signing)
  • 0014 - Streaming workloads (V2.0)
  • 0042 - Linear + Beads for requirements traceability
  • 0046 - Cognee integration for AI agent persistent memory
  • 0047 - Unified CLI architecture (Click, floe-core)