Files
StarPunk/docs/projectplan/BACKLOG.md
Phil Skentelbery 372064b116 feat(tags): Add tag archive route and admin interface integration
Implement Phase 3 of v1.3.0 tags feature per microformats-tags-design.md:

Routes (starpunk/routes/public.py):
- Add /tag/<tag> archive route with normalization and 404 handling
- Pre-load tags in index route for all notes
- Pre-load tags in note route for individual notes

Admin (starpunk/routes/admin.py):
- Parse comma-separated tag input in create route
- Parse tag input in update route
- Pre-load tags when displaying edit form
- Empty tag field removes all tags

Templates:
- Add tag input field to templates/admin/edit.html
- Add tag input field to templates/admin/new.html
- Use Jinja2 map filter to display existing tags

Implementation details:
- Tag URL parameter normalized to lowercase before lookup
- Tags pre-loaded using object.__setattr__ pattern (like media)
- parse_tag_input() handles trim, dedupe, normalization
- All existing tests pass (micropub categories, admin routes)

Per architect design:
- No pagination on tag archives (acceptable for v1.3.0)
- No autocomplete in admin (out of scope)
- Follows existing media loading patterns

Generated with Claude Code

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

2.2 KiB

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

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