This commit resolves all documentation issues identified in the comprehensive review: CRITICAL FIXES: - Renumbered duplicate ADRs to eliminate conflicts: * ADR-022-migration-race-condition-fix → ADR-037 * ADR-022-syndication-formats → ADR-038 * ADR-023-microformats2-compliance → ADR-040 * ADR-027-versioning-strategy-for-authorization-removal → ADR-042 * ADR-030-CORRECTED-indieauth-endpoint-discovery → ADR-043 * ADR-031-endpoint-discovery-implementation → ADR-044 - Updated all cross-references to renumbered ADRs in: * docs/projectplan/ROADMAP.md * docs/reports/v1.0.0-rc.5-migration-race-condition-implementation.md * docs/reports/2025-11-24-endpoint-discovery-analysis.md * docs/decisions/ADR-043-CORRECTED-indieauth-endpoint-discovery.md * docs/decisions/ADR-044-endpoint-discovery-implementation.md - Updated README.md version from 1.0.0 to 1.1.0 - Tracked ADR-021-indieauth-provider-strategy.md in git DOCUMENTATION IMPROVEMENTS: - Created comprehensive INDEX.md files for all docs/ subdirectories: * docs/architecture/INDEX.md (28 documents indexed) * docs/decisions/INDEX.md (55 ADRs indexed with topical grouping) * docs/design/INDEX.md (phase plans and feature designs) * docs/standards/INDEX.md (9 standards with compliance checklist) * docs/reports/INDEX.md (57 implementation reports) * docs/deployment/INDEX.md (deployment guides) * docs/examples/INDEX.md (code samples and usage patterns) * docs/migration/INDEX.md (version migration guides) * docs/releases/INDEX.md (release documentation) * docs/reviews/INDEX.md (architectural reviews) * docs/security/INDEX.md (security documentation) - Updated CLAUDE.md with complete folder descriptions including: * docs/migration/ * docs/releases/ * docs/security/ VERIFICATION: - All ADR numbers now sequential and unique (50 total ADRs) - No duplicate ADR numbers remain - All cross-references updated and verified - Documentation structure consistent and well-organized These changes improve documentation discoverability, maintainability, and ensure proper version tracking. All index files follow consistent format with clear navigation guidance. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
310 lines
8.9 KiB
Markdown
310 lines
8.9 KiB
Markdown
# StarPunk Roadmap
|
|
|
|
## Current Status
|
|
|
|
**Latest Version**: v1.1.0 "SearchLight"
|
|
**Released**: 2025-11-25
|
|
**Status**: Production Ready
|
|
|
|
StarPunk has achieved V1 feature completeness with all core IndieWeb functionality implemented:
|
|
- ✅ IndieAuth authentication
|
|
- ✅ Micropub endpoint
|
|
- ✅ Notes management
|
|
- ✅ RSS syndication
|
|
- ✅ Full-text search
|
|
- ✅ Custom slugs
|
|
|
|
## Version History
|
|
|
|
### Released Versions
|
|
|
|
#### v1.1.0 "SearchLight" (2025-11-25)
|
|
- Full-text search with FTS5
|
|
- Complete search UI
|
|
- Custom slugs via Micropub mp-slug
|
|
- RSS feed ordering fix
|
|
- Migration system improvements
|
|
|
|
#### v1.0.1 (2025-11-24)
|
|
- Fixed Micropub URL double-slash bug
|
|
- Minor bug fixes
|
|
|
|
#### v1.0.0 (2025-11-24)
|
|
- Initial production release
|
|
- IndieAuth authentication
|
|
- Micropub server implementation
|
|
- Notes CRUD functionality
|
|
- RSS feed generation
|
|
- Web interface (public & admin)
|
|
|
|
## Future Roadmap
|
|
|
|
### v1.1.1 "Polish" (In Progress)
|
|
**Timeline**: 2 weeks (December 2025)
|
|
**Status**: In Development
|
|
**Effort**: 12-18 hours
|
|
**Focus**: Quality, user experience, and production readiness
|
|
|
|
Planned Features:
|
|
|
|
#### Search Configuration System (3-4 hours)
|
|
- `SEARCH_ENABLED` flag for sites that don't need search
|
|
- `SEARCH_TITLE_LENGTH` configurable limit (currently hardcoded at 100)
|
|
- Enhanced search term highlighting in results
|
|
- Search result relevance scoring display
|
|
- Graceful FTS5 degradation with fallback to LIKE queries
|
|
|
|
#### Performance Monitoring Foundation (4-6 hours)
|
|
- Add timing instrumentation to key operations
|
|
- Database query performance logging
|
|
- Slow query detection and warnings (configurable threshold)
|
|
- Memory usage tracking in production
|
|
- `/admin/performance` dashboard with real-time metrics
|
|
|
|
#### Production Readiness Improvements (3-5 hours)
|
|
- Graceful degradation when FTS5 unavailable
|
|
- Better error messages for common configuration issues
|
|
- Database connection pooling optimization
|
|
- Improved logging structure with configurable levels
|
|
- Enhanced health check endpoints (`/health` and `/health/ready`)
|
|
|
|
#### Bug Fixes & Edge Cases (2-3 hours)
|
|
- Fix 10 flaky timing tests from migration race conditions
|
|
- Handle Unicode edge cases in slug generation
|
|
- RSS feed memory optimization for large note counts
|
|
- Session timeout handling improvements
|
|
|
|
Technical Decisions:
|
|
- [ADR-052: Configuration System Architecture](/home/phil/Projects/starpunk/docs/decisions/ADR-052-configuration-system-architecture.md)
|
|
- [ADR-053: Performance Monitoring Strategy](/home/phil/Projects/starpunk/docs/decisions/ADR-053-performance-monitoring-strategy.md)
|
|
- [ADR-054: Structured Logging Architecture](/home/phil/Projects/starpunk/docs/decisions/ADR-054-structured-logging-architecture.md)
|
|
- [ADR-055: Error Handling Philosophy](/home/phil/Projects/starpunk/docs/decisions/ADR-055-error-handling-philosophy.md)
|
|
|
|
### v1.1.2 "Feeds"
|
|
**Timeline**: December 2025
|
|
**Focus**: Expanded syndication format support
|
|
**Effort**: 8-13 hours
|
|
|
|
Planned Features:
|
|
- **ATOM Feed Support** (2-4 hours)
|
|
- RFC 4287 compliant ATOM feed at `/feed.atom`
|
|
- Leverage existing feedgen library
|
|
- Parallel to RSS 2.0 implementation
|
|
- Full test coverage
|
|
- **JSON Feed Support** (4-6 hours)
|
|
- JSON Feed v1.1 specification compliance
|
|
- Native JSON serialization at `/feed.json`
|
|
- Modern alternative to XML feeds
|
|
- Direct mapping from Note model
|
|
- **Feed Discovery Enhancement**
|
|
- Auto-discovery links for all formats
|
|
- Content-Type negotiation (optional)
|
|
- Feed validation tests
|
|
|
|
See: [ADR-038: Syndication Formats](/home/phil/Projects/starpunk/docs/decisions/ADR-038-syndication-formats.md)
|
|
|
|
### v1.2.0 "Semantic"
|
|
**Timeline**: Q1 2026
|
|
**Focus**: Enhanced semantic markup and organization
|
|
**Effort**: 10-16 hours for microformats2, plus category system
|
|
|
|
Planned Features:
|
|
- **Strict Microformats2 Compliance** (10-16 hours)
|
|
- Complete h-entry properties (p-name, p-summary, p-author)
|
|
- Author h-card implementation
|
|
- h-feed wrapper for index pages
|
|
- Full IndieWeb parser compatibility
|
|
- Microformats2 validation suite
|
|
- See: [ADR-040: Microformats2 Compliance](/home/phil/Projects/starpunk/docs/decisions/ADR-040-microformats2-compliance.md)
|
|
- **Tag/Category System**
|
|
- Database schema for tags
|
|
- Tag-based filtering
|
|
- Tag clouds
|
|
- Category RSS/ATOM/JSON feeds
|
|
- p-category microformats2 support
|
|
- **Hierarchical Slugs**
|
|
- Support for `/` in slugs
|
|
- Directory-like organization
|
|
- Breadcrumb navigation with microformats2
|
|
- **Draft Management**
|
|
- Explicit draft status
|
|
- Draft preview
|
|
- Scheduled publishing
|
|
- **Search Enhancements**
|
|
- Tag search
|
|
- Date range filtering
|
|
- Advanced query syntax
|
|
|
|
### v1.3.0 "Connections"
|
|
**Timeline**: Q2 2026
|
|
**Focus**: IndieWeb social features
|
|
|
|
Planned Features:
|
|
- **Webmentions**
|
|
- Receive endpoint
|
|
- Send on publish
|
|
- Display received mentions
|
|
- Moderation interface
|
|
- **IndieAuth Provider** (optional)
|
|
- Self-hosted IndieAuth server
|
|
- Token endpoint
|
|
- Client registration
|
|
- **Reply Contexts**
|
|
- In-reply-to support
|
|
- Like/repost posts
|
|
- Bookmark posts
|
|
|
|
### v1.4.0 "Media"
|
|
**Timeline**: Q3 2026
|
|
**Focus**: Rich content support
|
|
|
|
Planned Features:
|
|
- **Media Uploads**
|
|
- Image upload via Micropub
|
|
- File management interface
|
|
- Thumbnail generation
|
|
- CDN integration (optional)
|
|
- **Photo Posts**
|
|
- Instagram-like photo notes
|
|
- Gallery views
|
|
- EXIF data preservation
|
|
- **Video/Audio Support**
|
|
- Embed support
|
|
- Podcast RSS (optional)
|
|
|
|
### v2.0.0 "MultiUser"
|
|
**Timeline**: 2027
|
|
**Focus**: Multi-author support (BREAKING CHANGES)
|
|
|
|
Major Features:
|
|
- **User Management**
|
|
- Multiple authors
|
|
- Role-based permissions
|
|
- User profiles
|
|
- **Content Attribution**
|
|
- Per-note authorship
|
|
- Author pages
|
|
- Author RSS feeds
|
|
- **Collaborative Features**
|
|
- Draft sharing
|
|
- Editorial workflow
|
|
- Comment system
|
|
|
|
## Design Principles
|
|
|
|
All future development will maintain these core principles:
|
|
|
|
1. **Simplicity First**: Every feature must justify its complexity
|
|
2. **IndieWeb Standards**: Full compliance with specifications
|
|
3. **Progressive Enhancement**: Core functionality works without JavaScript
|
|
4. **Data Portability**: User data remains exportable and portable
|
|
5. **Backwards Compatibility**: Minor versions preserve compatibility
|
|
|
|
## Feature Request Process
|
|
|
|
To propose new features:
|
|
|
|
1. **Check Alignment**
|
|
- Does it align with IndieWeb principles?
|
|
- Does it solve a real user problem?
|
|
- Can it be implemented simply?
|
|
|
|
2. **Document Proposal**
|
|
- Create issue or discussion
|
|
- Describe use case clearly
|
|
- Consider implementation complexity
|
|
|
|
3. **Architectural Review**
|
|
- Impact on existing features
|
|
- Database schema changes
|
|
- API compatibility
|
|
|
|
4. **Priority Assessment**
|
|
- User value vs. complexity
|
|
- Maintenance burden
|
|
- Dependencies on other features
|
|
|
|
## Deferred Features
|
|
|
|
These features have been considered but deferred indefinitely:
|
|
|
|
- **Static Site Generation**: Conflicts with dynamic Micropub
|
|
- **Multi-language UI**: Low priority for single-user system
|
|
- **Advanced Analytics**: Privacy concerns, use external tools
|
|
- **Comments System**: Use Webmentions instead
|
|
- **WYSIWYG Editor**: Markdown is sufficient
|
|
- **Mobile App**: Web interface is mobile-friendly
|
|
|
|
## Support Lifecycle
|
|
|
|
### Version Support
|
|
- **Current Release** (v1.1.0): Full support
|
|
- **Previous Minor** (v1.0.x): Security fixes only
|
|
- **Older Versions**: Community support only
|
|
|
|
### Compatibility Promise
|
|
- **Database**: Migrations always provided
|
|
- **API**: Micropub/IndieAuth remain stable
|
|
- **Configuration**: Changes documented in upgrade guides
|
|
|
|
## Contributing
|
|
|
|
StarPunk welcomes contributions that align with its philosophy:
|
|
|
|
### Code Contributions
|
|
- Follow existing patterns
|
|
- Include tests
|
|
- Document changes
|
|
- Keep it simple
|
|
|
|
### Documentation
|
|
- User guides
|
|
- API documentation
|
|
- Deployment guides
|
|
- Migration guides
|
|
|
|
### Testing
|
|
- Bug reports with reproduction steps
|
|
- Compatibility testing
|
|
- Performance testing
|
|
- Security testing
|
|
|
|
## Technology Evolution
|
|
|
|
### Near-term Considerations
|
|
- Python 3.12+ adoption
|
|
- SQLite WAL mode
|
|
- HTTP/2 support
|
|
- Container optimizations
|
|
|
|
### Long-term Possibilities
|
|
- Alternative database backends (PostgreSQL)
|
|
- Federation protocols (ActivityPub)
|
|
- Real-time features (WebSockets)
|
|
- AI-assisted writing (local models)
|
|
|
|
## Success Metrics
|
|
|
|
StarPunk success is measured by:
|
|
- **Simplicity**: Lines of code remain minimal
|
|
- **Reliability**: Uptime and stability
|
|
- **Standards Compliance**: Passing validators
|
|
- **User Satisfaction**: Feature completeness
|
|
- **Performance**: Response times <300ms
|
|
|
|
## Philosophy
|
|
|
|
> "Every line of code must justify its existence. When in doubt, leave it out."
|
|
|
|
This philosophy guides all development decisions. StarPunk aims to be the simplest possible IndieWeb CMS that works correctly, not the most feature-rich.
|
|
|
|
---
|
|
|
|
**Document Created**: 2025-11-25
|
|
**Last Updated**: 2025-11-25
|
|
**Status**: Living Document
|
|
|
|
For the latest updates, see:
|
|
- [Release Notes](/home/phil/Projects/starpunk/CHANGELOG.md)
|
|
- [Project Plan](/home/phil/Projects/starpunk/docs/projectplan/)
|
|
- [Architecture Decisions](/home/phil/Projects/starpunk/docs/decisions/) |