Files
StarPunk/docs/design/v1.0.0/indieauth-spec-url-standardization-2025-11-24.md
Phil Skentelbery f10d0679da feat(tags): Add database schema and tags module (v1.3.0 Phase 1)
Implements tag/category system backend following microformats2 p-category specification.

Database changes:
- Migration 008: Add tags and note_tags tables
- Normalized tag storage (case-insensitive lookup, display name preserved)
- Indexes for performance

New module:
- starpunk/tags.py: Tag management functions
  - normalize_tag: Normalize tag strings
  - get_or_create_tag: Get or create tag records
  - add_tags_to_note: Associate tags with notes (replaces existing)
  - get_note_tags: Retrieve note tags (alphabetically ordered)
  - get_tag_by_name: Lookup tag by normalized name
  - get_notes_by_tag: Get all notes with specific tag
  - parse_tag_input: Parse comma-separated tag input

Model updates:
- Note.tags property (lazy-loaded, prefer pre-loading in routes)
- Note.to_dict() add include_tags parameter

CRUD updates:
- create_note() accepts tags parameter
- update_note() accepts tags parameter (None = no change, [] = remove all)

Micropub integration:
- Pass tags to create_note() (tags already extracted by extract_tags())
- Return tags in q=source response

Per design doc: docs/design/v1.3.0/microformats-tags-design.md

Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-10 11:24:23 -07:00

4.9 KiB

IndieAuth Specification URL Standardization Report

Date: 2025-11-24 Task: Validate and standardize IndieAuth specification references across all documentation Architect: StarPunk Architect Subagent

Executive Summary

Successfully standardized all IndieAuth specification references across the StarPunk codebase to use the official W3C version at https://www.w3.org/TR/indieauth/. This ensures consistency and points to the authoritative, maintained specification.

Scope of Changes

Files Updated: 28

The following categories of files were updated:

Core Documentation

  • /home/phil/Projects/starpunk/README.md - Main project readme
  • /home/phil/Projects/starpunk/docs/examples/identity-page-customization-guide.md - User guide
  • /home/phil/Projects/starpunk/docs/standards/testing-checklist.md - Testing standards

Architecture Documentation

  • /home/phil/Projects/starpunk/docs/architecture/overview.md - System architecture overview
  • /home/phil/Projects/starpunk/docs/architecture/indieauth-client-diagnosis.md - Client diagnosis guide
  • /home/phil/Projects/starpunk/docs/architecture/indieauth-identity-page.md - Identity page design
  • /home/phil/Projects/starpunk/docs/architecture/technology-stack.md - Technology stack documentation

Architecture Decision Records (ADRs)

  • ADR-005: IndieLogin Authentication
  • ADR-010: Authentication Module Design
  • ADR-016: IndieAuth Client Discovery
  • ADR-017: OAuth Client Metadata Document
  • ADR-018: IndieAuth Detailed Logging
  • ADR-019: IndieAuth Correct Implementation
  • ADR-021: IndieAuth Provider Strategy
  • ADR-022: Auth Route Prefix Fix
  • ADR-023: IndieAuth Client Identification
  • ADR-024: Static Identity Page
  • ADR-025: IndieAuth PKCE Authentication
  • ADR-028: Micropub Implementation
  • ADR-029: Micropub IndieAuth Integration

Project Planning

  • /home/phil/Projects/starpunk/docs/projectplan/v1/implementation-plan.md
  • /home/phil/Projects/starpunk/docs/projectplan/v1/quick-reference.md
  • /home/phil/Projects/starpunk/docs/projectplan/v1/README.md

Design Documents

  • /home/phil/Projects/starpunk/docs/design/initial-files.md
  • /home/phil/Projects/starpunk/docs/design/phase-3-authentication-implementation.md

Reports

  • Various implementation reports referencing IndieAuth specification

Changes Made

URL Replacements

  • Old URL: https://indieauth.spec.indieweb.org/
  • New URL: https://www.w3.org/TR/indieauth/
  • Total Replacements: 42 references updated

Why This Matters

  1. Authority: The W3C version is the official, authoritative specification
  2. Maintenance: W3C specifications receive regular updates and errata
  3. Permanence: W3C URLs are guaranteed to be permanent and stable
  4. Standards Compliance: Referencing W3C directly shows commitment to web standards

Verification

Pre-Update Status

  • Found 42 references to the old IndieAuth spec URL (indieauth.spec.indieweb.org)
  • No references to the W3C version

Post-Update Status

  • 0 references to the old spec URL
  • 42 references to the W3C version (www.w3.org/TR/indieauth)
  • All documentation now consistently references the W3C specification

Validation Command

# Check for any remaining old references
grep -r "indieauth\.spec\.indieweb\.org" /home/phil/Projects/starpunk --include="*.md" --include="*.py"
# Result: No matches found

# Count W3C references
grep -r "w3\.org/TR/indieauth" /home/phil/Projects/starpunk --include="*.md" --include="*.py" | wc -l
# Result: 42 references

Impact Assessment

Positive Impacts

  1. Documentation Consistency: All documentation now points to the same authoritative source
  2. Future-Proofing: W3C URLs are permanent and will not change
  3. Professional Standards: Demonstrates commitment to official web standards
  4. Improved Credibility: References to W3C specifications carry more weight

No Negative Impacts

  • No functional changes to code
  • No breaking changes to existing functionality
  • URLs redirect properly, so existing bookmarks still work
  • All section references remain valid

Recommendations

  1. Documentation Standards: Add a documentation standard requiring all specification references to use official W3C URLs where available
  2. CI/CD Check: Consider adding a check to prevent introduction of old spec URLs
  3. Regular Review: Periodically review external references to ensure they remain current

Conclusion

Successfully completed standardization of all IndieAuth specification references across the StarPunk documentation. All 42 references have been updated from the old IndieWeb.org URL to the official W3C specification URL. This ensures the project documentation remains consistent, professional, and aligned with web standards best practices.


Note: This report documents an architectural documentation update. No code changes were required as Python source files did not contain direct specification URLs in comments.