From cebd3fb71e38c81cda1511b5da3ea7f7ff5791db Mon Sep 17 00:00:00 2001 From: Phil Skentelbery Date: Mon, 24 Nov 2025 10:25:00 -0700 Subject: [PATCH] docs: Renumber duplicate ADRs to eliminate conflicts MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Resolved all duplicate ADR numbers by renumbering based on chronological order: ADR Renumbering Map: - ADR-006-indieauth-client-identification.md → ADR-023 - ADR-010-static-identity-page.md → ADR-024 - ADR-019-indieauth-pkce-authentication.md → ADR-025 - ADR-022-indieauth-token-exchange-compliance.md → ADR-026 - ADR-022-indieauth-authentication-endpoint-correction.md → ADR-027 Files Kept Original Numbers (earliest chronologically): - ADR-006-python-virtual-environment-uv.md (2025-11-18 19:21:31) - ADR-010-authentication-module-design.md (2025-11-18 20:35:36) - ADR-019-indieauth-correct-implementation.md (2025-11-19 15:43:38) - ADR-022-auth-route-prefix-fix.md (2025-11-22 18:22:08) Updated: - ADR titles inside each renamed file - Cross-references in implementation reports - CHANGELOG.md references to ADR-025 - Renamed associated report files to match new ADR numbers --- CHANGELOG.md | 2 +- ...DR-023-indieauth-client-identification.md} | 2 +- ...age.md => ADR-024-static-identity-page.md} | 2 +- ... ADR-025-indieauth-pkce-authentication.md} | 2 +- ...26-indieauth-token-exchange-compliance.md} | 2 +- ...uth-authentication-endpoint-correction.md} | 2 +- ...rt.md => ADR-025-implementation-report.md} | 16 ++++++------- ...y.md => ADR-025-implementation-summary.md} | 24 +++++++++---------- ...ance.md => ADR-025-versioning-guidance.md} | 0 9 files changed, 26 insertions(+), 26 deletions(-) rename docs/decisions/{ADR-006-indieauth-client-identification.md => ADR-023-indieauth-client-identification.md} (98%) rename docs/decisions/{ADR-010-static-identity-page.md => ADR-024-static-identity-page.md} (98%) rename docs/decisions/{ADR-019-indieauth-pkce-authentication.md => ADR-025-indieauth-pkce-authentication.md} (99%) rename docs/decisions/{ADR-022-indieauth-token-exchange-compliance.md => ADR-026-indieauth-token-exchange-compliance.md} (98%) rename docs/decisions/{ADR-022-indieauth-authentication-endpoint-correction.md => ADR-027-indieauth-authentication-endpoint-correction.md} (99%) rename docs/reports/{ADR-019-implementation-report.md => ADR-025-implementation-report.md} (94%) rename docs/reports/{ADR-019-implementation-summary.md => ADR-025-implementation-summary.md} (90%) rename docs/reports/{ADR-019-versioning-guidance.md => ADR-025-versioning-guidance.md} (100%) diff --git a/CHANGELOG.md b/CHANGELOG.md index 35fa2a6..13cff90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -157,7 +157,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - **v0.8.0**: Correct implementation based on official IndieLogin.com API documentation. ### Related Documentation -- ADR-019: IndieAuth Correct Implementation Based on IndieLogin.com API +- ADR-025: IndieAuth Correct Implementation Based on IndieLogin.com API - Design Document: docs/designs/indieauth-pkce-authentication.md - ADR-016: Superseded (h-app client discovery not required) - ADR-017: Superseded (OAuth metadata not required) diff --git a/docs/decisions/ADR-006-indieauth-client-identification.md b/docs/decisions/ADR-023-indieauth-client-identification.md similarity index 98% rename from docs/decisions/ADR-006-indieauth-client-identification.md rename to docs/decisions/ADR-023-indieauth-client-identification.md index a606010..65b66af 100644 --- a/docs/decisions/ADR-006-indieauth-client-identification.md +++ b/docs/decisions/ADR-023-indieauth-client-identification.md @@ -1,4 +1,4 @@ -# ADR-006: IndieAuth Client Identification Strategy +# ADR-023: IndieAuth Client Identification Strategy ## Status Accepted diff --git a/docs/decisions/ADR-010-static-identity-page.md b/docs/decisions/ADR-024-static-identity-page.md similarity index 98% rename from docs/decisions/ADR-010-static-identity-page.md rename to docs/decisions/ADR-024-static-identity-page.md index f07bcb5..422a5c1 100644 --- a/docs/decisions/ADR-010-static-identity-page.md +++ b/docs/decisions/ADR-024-static-identity-page.md @@ -1,4 +1,4 @@ -# ADR-010: Static HTML Identity Pages for IndieAuth +# ADR-024: Static HTML Identity Pages for IndieAuth ## Status Accepted diff --git a/docs/decisions/ADR-019-indieauth-pkce-authentication.md b/docs/decisions/ADR-025-indieauth-pkce-authentication.md similarity index 99% rename from docs/decisions/ADR-019-indieauth-pkce-authentication.md rename to docs/decisions/ADR-025-indieauth-pkce-authentication.md index 4c3775f..ec8d03c 100644 --- a/docs/decisions/ADR-019-indieauth-pkce-authentication.md +++ b/docs/decisions/ADR-025-indieauth-pkce-authentication.md @@ -1,4 +1,4 @@ -# ADR-019: IndieAuth Correct Implementation Based on IndieLogin.com API +# ADR-025: IndieAuth Correct Implementation Based on IndieLogin.com API ## Status diff --git a/docs/decisions/ADR-022-indieauth-token-exchange-compliance.md b/docs/decisions/ADR-026-indieauth-token-exchange-compliance.md similarity index 98% rename from docs/decisions/ADR-022-indieauth-token-exchange-compliance.md rename to docs/decisions/ADR-026-indieauth-token-exchange-compliance.md index b15395a..83dfedf 100644 --- a/docs/decisions/ADR-022-indieauth-token-exchange-compliance.md +++ b/docs/decisions/ADR-026-indieauth-token-exchange-compliance.md @@ -1,4 +1,4 @@ -# ADR-022: IndieAuth Token Exchange Compliance +# ADR-026: IndieAuth Token Exchange Compliance ## Status Accepted diff --git a/docs/decisions/ADR-022-indieauth-authentication-endpoint-correction.md b/docs/decisions/ADR-027-indieauth-authentication-endpoint-correction.md similarity index 99% rename from docs/decisions/ADR-022-indieauth-authentication-endpoint-correction.md rename to docs/decisions/ADR-027-indieauth-authentication-endpoint-correction.md index 8aaa869..08edada 100644 --- a/docs/decisions/ADR-022-indieauth-authentication-endpoint-correction.md +++ b/docs/decisions/ADR-027-indieauth-authentication-endpoint-correction.md @@ -1,4 +1,4 @@ -# ADR-022: IndieAuth Authentication Endpoint Correction +# ADR-027: IndieAuth Authentication Endpoint Correction ## Status Accepted diff --git a/docs/reports/ADR-019-implementation-report.md b/docs/reports/ADR-025-implementation-report.md similarity index 94% rename from docs/reports/ADR-019-implementation-report.md rename to docs/reports/ADR-025-implementation-report.md index f9c53f7..8dcb4d2 100644 --- a/docs/reports/ADR-019-implementation-report.md +++ b/docs/reports/ADR-025-implementation-report.md @@ -1,4 +1,4 @@ -# ADR-019 Implementation Report +# ADR-025 Implementation Report **Date**: 2025-11-19 **Version**: 0.8.0 @@ -6,7 +6,7 @@ ## Summary -Successfully implemented ADR-019: IndieAuth Correct Implementation Based on IndieLogin.com API with PKCE support. This fixes the critical authentication bug that has been present since v0.7.0. +Successfully implemented ADR-025: IndieAuth Correct Implementation Based on IndieLogin.com API with PKCE support. This fixes the critical authentication bug that has been present since v0.7.0. ## Implementation Completed @@ -53,8 +53,8 @@ Successfully implemented ADR-019: IndieAuth Correct Implementation Based on Indi - ✅ Updated version to 0.8.0 in starpunk/__init__.py - ✅ Updated CHANGELOG.md with v0.8.0 entry - ✅ Added known issues notes to v0.7.0 and v0.7.1 CHANGELOG entries -- ✅ Updated ADR-016 status to "Superseded by ADR-019" -- ✅ Updated ADR-017 status to "Superseded by ADR-019" +- ✅ Updated ADR-016 status to "Superseded by ADR-025" +- ✅ Updated ADR-017 status to "Superseded by ADR-025" - ✅ Created TODO_TEST_UPDATES.md documenting test updates needed ## Lines of Code Changes @@ -201,16 +201,16 @@ ALTER TABLE auth_state ADD COLUMN code_verifier TEXT NOT NULL DEFAULT ''; ## References -- **ADR-019**: docs/decisions/ADR-019-indieauth-pkce-authentication.md +- **ADR-025**: docs/decisions/ADR-025-indieauth-pkce-authentication.md - **Design Doc**: docs/designs/indieauth-pkce-authentication.md -- **Versioning Guidance**: docs/reports/ADR-019-versioning-guidance.md -- **Implementation Summary**: docs/reports/ADR-019-implementation-summary.md +- **Versioning Guidance**: docs/reports/ADR-025-versioning-guidance.md +- **Implementation Summary**: docs/reports/ADR-025-implementation-summary.md - **RFC 7636**: PKCE specification - **IndieLogin.com API**: https://indielogin.com/api ## Conclusion -ADR-019 has been successfully implemented. The IndieAuth authentication flow now correctly implements PKCE as required by IndieLogin.com, uses the correct API endpoints, and validates the issuer. Unnecessary features from v0.7.0 and v0.7.1 have been removed, resulting in cleaner, more maintainable code. +ADR-025 has been successfully implemented. The IndieAuth authentication flow now correctly implements PKCE as required by IndieLogin.com, uses the correct API endpoints, and validates the issuer. Unnecessary features from v0.7.0 and v0.7.1 have been removed, resulting in cleaner, more maintainable code. The implementation follows the architect's specifications exactly and maintains the project's minimal code philosophy. Version 0.8.0 is ready for testing and deployment. diff --git a/docs/reports/ADR-019-implementation-summary.md b/docs/reports/ADR-025-implementation-summary.md similarity index 90% rename from docs/reports/ADR-019-implementation-summary.md rename to docs/reports/ADR-025-implementation-summary.md index ba23b90..5cf4abc 100644 --- a/docs/reports/ADR-019-implementation-summary.md +++ b/docs/reports/ADR-025-implementation-summary.md @@ -1,4 +1,4 @@ -# ADR-019 Implementation Summary +# ADR-025 Implementation Summary **Quick Reference for Developer** **Date**: 2025-11-19 @@ -12,8 +12,8 @@ This is a **critical bug fix** that implements IndieAuth authentication correctl All documentation has been separated into proper categories: -### 1. **Architecture Decision Record** (ADR-019) -**File**: `/home/phil/Projects/starpunk/docs/decisions/ADR-019-indieauth-pkce-authentication.md` +### 1. **Architecture Decision Record** (ADR-025) +**File**: `/home/phil/Projects/starpunk/docs/decisions/ADR-025-indieauth-pkce-authentication.md` **What it contains**: - Context: Why we need this change @@ -39,7 +39,7 @@ All documentation has been separated into proper categories: This is your **primary implementation reference**. ### 3. **Versioning Guidance** -**File**: `/home/phil/Projects/starpunk/docs/reports/ADR-019-versioning-guidance.md` +**File**: `/home/phil/Projects/starpunk/docs/reports/ADR-025-versioning-guidance.md` **What it contains**: - Version number decision: **0.8.0** @@ -53,7 +53,7 @@ This is your **primary implementation reference**. Follow the design document for detailed steps. This is just a high-level checklist: ### Pre-Implementation -- [ ] Read ADR-019 (architectural decision) +- [ ] Read ADR-025 (architectural decision) - [ ] Read full design document - [ ] Review versioning guidance - [ ] Understand PKCE flow @@ -91,8 +91,8 @@ Follow the design document for detailed steps. This is just a high-level checkli - [ ] **Do NOT delete v0.7.0 or v0.7.1 tags** ### Documentation -- [ ] Update ADR-016 status to "Superseded by ADR-019" -- [ ] Update ADR-017 status to "Superseded by ADR-019" +- [ ] Update ADR-016 status to "Superseded by ADR-025" +- [ ] Update ADR-017 status to "Superseded by ADR-025" - [ ] Add implementation note to ADR-005 ## Key Points @@ -123,9 +123,9 @@ Follow the design document for detailed steps. This is just a high-level checkli **Read in this order**: 1. This file (you are here) - Overview -2. `/home/phil/Projects/starpunk/docs/decisions/ADR-019-indieauth-pkce-authentication.md` - Architectural decision +2. `/home/phil/Projects/starpunk/docs/decisions/ADR-025-indieauth-pkce-authentication.md` - Architectural decision 3. `/home/phil/Projects/starpunk/docs/designs/indieauth-pkce-authentication.md` - **Full implementation guide** -4. `/home/phil/Projects/starpunk/docs/reports/ADR-019-versioning-guidance.md` - Versioning details +4. `/home/phil/Projects/starpunk/docs/reports/ADR-025-versioning-guidance.md` - Versioning details **Standards Reference**: - `/home/phil/Projects/starpunk/docs/standards/versioning-strategy.md` - Semantic versioning rules @@ -176,8 +176,8 @@ You're done when: **If authentication still fails**: 1. Check logs for PKCE parameters (should be redacted but visible) 2. Verify database has code_verifier column -3. Check authorization URL has `code_challenge` and `code_challenge_method=S256` -4. Verify token exchange POST includes `code_verifier` +3. Check authorization URL has code_challenge and code_challenge_method=S256 +4. Verify token exchange POST includes code_verifier 5. Check IndieLogin.com response in logs **Key debugging points**: @@ -192,7 +192,7 @@ You're done when: Refer to: - Design document for "how" -- ADR-019 for "why" +- ADR-025 for "why" - Versioning guidance for "what version" All documentation follows the project principle: **Every line must justify its existence.** diff --git a/docs/reports/ADR-019-versioning-guidance.md b/docs/reports/ADR-025-versioning-guidance.md similarity index 100% rename from docs/reports/ADR-019-versioning-guidance.md rename to docs/reports/ADR-025-versioning-guidance.md