docs: Renumber duplicate ADRs to eliminate conflicts
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
This commit is contained in:
@@ -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)
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ADR-006: IndieAuth Client Identification Strategy
|
||||
# ADR-023: IndieAuth Client Identification Strategy
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
@@ -1,4 +1,4 @@
|
||||
# ADR-010: Static HTML Identity Pages for IndieAuth
|
||||
# ADR-024: Static HTML Identity Pages for IndieAuth
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
@@ -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
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# ADR-022: IndieAuth Token Exchange Compliance
|
||||
# ADR-026: IndieAuth Token Exchange Compliance
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
@@ -1,4 +1,4 @@
|
||||
# ADR-022: IndieAuth Authentication Endpoint Correction
|
||||
# ADR-027: IndieAuth Authentication Endpoint Correction
|
||||
|
||||
## Status
|
||||
Accepted
|
||||
@@ -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.
|
||||
|
||||
@@ -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.**
|
||||
Reference in New Issue
Block a user