Phase 4: Validation per microformats-tags-design.md Added test fixtures: - published_note_with_tags: Creates note with test tags for p-category validation - published_note_with_media: Creates note with media for u-photo placement testing Added v1.3.0 microformats2 validation tests: - test_hfeed_has_required_properties: Validates name, author, url per spec - test_hfeed_author_is_valid_hcard: Validates h-card structure - test_hentry_has_pcategory_for_tags: Validates p-category markup - test_uphoto_outside_econtent: Validates u-photo placement per draft spec Test results: - All 18 microformats tests pass - All 116 related tests pass (microformats, notes, micropub) - Confirms Phases 1-3 implementation correctness Updated BACKLOG.md with tag-filtered feeds feature (medium priority) Implementation report: docs/design/v1.3.0/2025-12-10-phase4-implementation.md Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
104 lines
2.4 KiB
Markdown
104 lines
2.4 KiB
Markdown
# StarPunk Backlog
|
|
|
|
**Last Updated**: 2025-12-10
|
|
|
|
## Priority Levels
|
|
|
|
- **Critical** - Items that break existing functionality
|
|
- **High** - Important features or fixes
|
|
- **Medium** - Planned features
|
|
- **Low** - Nice-to-have, deferred indefinitely
|
|
|
|
---
|
|
|
|
## Critical
|
|
|
|
*No critical items*
|
|
|
|
---
|
|
|
|
## High
|
|
|
|
### Strict Microformats2 Compliance
|
|
- 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
|
|
|
|
### Enhanced Feed Media Support
|
|
- Multiple image sizes/thumbnails (150px, 320px, 640px, 1280px)
|
|
- Full Media RSS implementation (media:group, all attributes)
|
|
- Enhanced JSON Feed attachments
|
|
- ATOM enclosure links for all media
|
|
- See: ADR-059
|
|
|
|
### Tag/Category System
|
|
- Database schema for tags
|
|
- Tag-based filtering
|
|
- Tag clouds
|
|
- Category RSS/ATOM/JSON feeds
|
|
- p-category microformats2 support
|
|
|
|
---
|
|
|
|
## Medium
|
|
|
|
### Tag-Filtered Feeds
|
|
- Filter feeds by tag (e.g., `/feed.rss?tag=python`)
|
|
- Dedicated tag feed URLs (e.g., `/tags/python/feed.rss`)
|
|
- Support all three formats (RSS, Atom, JSON Feed)
|
|
- Cache management for filtered feeds
|
|
|
|
### Webmentions
|
|
- Receive endpoint
|
|
- Send on publish
|
|
- Display received mentions
|
|
- Moderation interface
|
|
|
|
### Reply Contexts
|
|
- In-reply-to support
|
|
- Like/repost posts
|
|
- Bookmark posts
|
|
|
|
### Media Uploads Enhancements
|
|
- File management interface
|
|
- Thumbnail generation
|
|
- CDN integration (optional)
|
|
|
|
### Photo Posts
|
|
- Instagram-like photo notes
|
|
- Gallery views
|
|
- EXIF data preservation
|
|
|
|
### Audio/Podcast Support
|
|
- Podcast RSS with iTunes namespace
|
|
- Audio duration extraction
|
|
- Episode metadata support
|
|
- Apple/Google podcast compatibility
|
|
- See: ADR-059
|
|
|
|
### Video Support
|
|
- Video upload handling
|
|
- Poster image generation
|
|
- Video in Media RSS feeds
|
|
- HTML5 video embedding
|
|
|
|
---
|
|
|
|
## Low
|
|
|
|
### Flaky Migration Race Condition Tests
|
|
- Improve `test_migration_race_condition.py::TestGraduatedLogging::test_debug_level_for_early_retries`
|
|
- Test expects DEBUG retry messages but passes when migration succeeds without retries
|
|
- May need to mock or force retry conditions for reliable testing
|
|
|
|
### 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
|