Skip to main content

ADR-150: ADR Single Source of Truth Consolidation

Status

ACCEPTED (2026-02-03)

Context

CODITECT had three separate ADR numbering schemes across repositories:

RepositoryLocationADR CountExample Conflicts
coditect-coreinternal/architecture/adrs/70+ADR-001 = Framework Architecture
cloud-infra docs-sitedocs-site/docs/architecture/adrs/60+ADR-001 = Async Task Executor
cloud-infra backenddocs/architecture/adrs/20+ADR-001 = Floating Licenses

This caused:

  1. Number collisions - Same number, different content
  2. Cross-reference confusion - Which ADR-012 is referenced?
  3. Maintenance burden - Updating ADRs in multiple places
  4. Discovery difficulty - Finding the authoritative version

Decision

Single Source of Truth: coditect-core

All ADRs will be numbered and maintained in coditect-core only.

AUTHORITATIVE LOCATION:
coditect-core/internal/architecture/adrs/ADR-{number}-{slug}.md

OTHER REPOSITORIES:
- Reference by number (e.g., "See ADR-053")
- Link to coditect-core ADR
- Do NOT maintain separate numbered ADRs

Migration Strategy

Phase 1: Immediate (Complete)

  • Created ADR-009 (Multi-Tenant Architecture)
  • Created ADR-012 (Data Isolation Strategy)
  • Created ADR-053 (Cloud Context Sync Architecture)

Phase 2: Audit & Map (Next)

  • Audit all cloud-infra ADRs
  • Identify unique content not in coditect-core
  • Assign new numbers from available range

Phase 3: Migrate Unique ADRs

  • Copy unique cloud-infra ADRs to coditect-core with new numbers
  • Update cross-references
  • Add "Migrated from" notes

Phase 4: Deprecate Duplicates

  • Mark cloud-infra ADRs as "Superseded by coditect-core ADR-XXX"
  • Redirect references
  • Eventually archive

Number Allocation

Reserved Ranges:

RangePurpose
001-099Core Framework ADRs
100-149Platform & Infrastructure
150-199Governance & Standards
200-299Cloud Services (migrated from cloud-infra)
300-399Licensing (migrated from backend)
400-499LMS (Learning Management System)
500+Future expansion

Available Numbers (001-099): 7, 17-19, 22-31, 33-34, 36-37, 39, 42-43, 46-49, 51-52, 55, 58-59, 61-70, 72-73, 77-81, 83, 85-87, 92-99

Cloud-Infra ADR Mapping

ADRs to Migrate (Unique Content):

cloud-infra #TitleNew coditect-core #Status
022Codebase Indexing ExpansionADR-022Migrate
023SQLite Scalability AnalysisADR-023Migrate
024Multi-Tenant PlatformADR-009Merged
025Comprehensive Entry SchemaADR-025Migrate
026Intent ClassificationADR-026Migrate
027Guardrail EngineADR-027Migrate
042Litestream SyncADR-042Migrate
043PowerSyncADR-043Migrate
046Continual LearningADR-046Migrate
047Platform FoundationADR-047Migrate
048PILOT ExecutionADR-048Migrate
049Component CreationADR-049Migrate
051Work DiscoveryADR-051Migrate
052Intent-Aware ContextADR-052Migrate
055Licensed Docker SchemaADR-055Migrate
058Machine-Specific LogsADR-058Migrate
061Provisioning StrategiesADR-061Migrate
062Statusline ConfigADR-062Migrate

ADRs Already in coditect-core (Duplicates):

cloud-infra #coditect-core #Action
002ADR-002Keep coditect-core
008ADR-008Keep coditect-core
013ADR-013Keep coditect-core
014ADR-014Keep coditect-core
015ADR-015Keep coditect-core
020ADR-020Keep coditect-core
021ADR-021Keep coditect-core
044ADR-044Keep coditect-core
045ADR-045Keep coditect-core
050ADR-050Keep coditect-core
054ADR-054Keep coditect-core
056ADR-056Keep coditect-core
057ADR-057Keep coditect-core
060ADR-060Keep coditect-core

Backend ADRs (New Range 300+):

backend #TitleNew coditect-core #
001Floating vs Node-lockedADR-300
002Redis Lua ScriptsADR-301
003Check-on-Init PatternADR-302
.........

Cross-Reference Format

In coditect-core:

See [ADR-053](pathname://internal/architecture/adrs/ADR-053-cloud-context-sync.md)

In other repositories:

See [ADR-053](https://github.com/coditect-ai/coditect-core/blob/main/internal/architecture/adrs/ADR-053-cloud-context-sync.md) in coditect-core

Deprecation Notice Template

For ADRs in cloud-infra that are superseded:

---
status: superseded
superseded_by: ADR-053
---

# ⚠️ SUPERSEDED

This ADR has been moved to coditect-core as **ADR-053**.

**Authoritative location:**
[coditect-core/internal/architecture/adrs/ADR-053-cloud-context-sync.md](...)

Do not modify this file. All updates should be made to the coditect-core version.

Consequences

Positive

  1. Single source of truth - No more confusion about authoritative version
  2. Consistent numbering - One number, one ADR
  3. Easier discovery - All ADRs in one place
  4. Simpler cross-references - Just use the number
  5. Reduced maintenance - Update in one place

Negative

  1. Migration effort - Time to consolidate
  2. Broken links - Temporary during migration
  3. Historical context - May lose some git history

Mitigations

  1. Phased migration - Don't do all at once
  2. Redirect markers - Leave superseded notices
  3. Git history - Reference original commits

Implementation

Immediate Actions ✅

  • ADR-009: Multi-Tenant Architecture (created)
  • ADR-012: Data Isolation Strategy (created)
  • ADR-053: Cloud Context Sync (created)
  • ADR-150: This governance ADR

Next Sprint

  • Audit cloud-infra docs-site ADRs
  • Identify 20 highest-priority unique ADRs
  • Migrate with new numbers
  • Add superseded notices

Ongoing

  • All new ADRs created in coditect-core only
  • Quarterly audit for drift
  • Automated broken link detection
  • ADR-054: Track Nomenclature (similar governance pattern)
  • ADR-116: Track-Based Architecture (SSOT for plans)

Track: F (Documentation) Task: F.12.2.6