Extra Storys Catalog (US-101+)
Comprehensive catalog of 96 extra story stories (US-101 to US-320) organized by epic with filtering and search.
Overview
These extra story stories enhance the POC foundation with production-ready features, advanced functionality, and MVP requirements.
Epic 1
Content Ingestion
31 tickets | 150 SPEpic 2
Lists & Categories
35 tickets | 150 SPEpic 3
AI Summaries
35 tickets | 196 SPEpic 4-11
Infrastructure+
120 tickets | 540 SPEpic 1: Content Ingestion Extra Storys (US-101 to US-130)
Status: 31 tickets created | 150 SP | 20% implemented Source: /home/ubuntu/archive/jira-imports/jira_extra story_batch1_part1.md and batch1_part2.md
Foundation (US-100 to US-105)
US-100: Create Resource Entity and Migration
Status: Complete | SP: 5 | Sprint: 0
Description: Resource entity with SourceType enum (URL, TEXT, PDF, FILE_SHARE) and Status enum (PENDING, PROCESSING, COMPLETED, FAILED).
Implementation:
backend/src/Entity/Resource.php- Doctrine migration
- M:N relationship with Categories and Tags
US-101: Implement ContentIngestionService with Strategy Pattern
Status: Partial (needs refactor) | SP: 8 | Sprint: 1
Description: Refactor content ingestion to use strategy pattern for different content types.
Needs:
- UrlIngestionStrategy
- TextIngestionStrategy
- PdfIngestionStrategy
- FileShareIngestionStrategy
US-102: Add Async Processing via Symfony Messenger
Status: Not Started | SP: 5 | Sprint: 1
Description: Implement queue system for async content processing.
Needs:
- Symfony Messenger configuration
- Message handlers
- Queue workers
- Retry logic
Web Scraping (US-103 to US-105)
US-103: Create PHP WebScraperService
Status: Partial (Node.js only) | SP: 5 | Sprint: 1
Description: PHP version of web scraper for backend processing.
Current: Node.js implementation in src/services/urlScraper.tsNeeds: PHP implementation with Symfony HttpClient
US-105: Store Content in ResourceContent Entity
Status: Complete | SP: 3 | Sprint: 0
Description: ResourceContent entity for storing extracted content.
Implementation:
backend/src/Entity/ResourceContent.php- Relationship with Resource entity
PDF Processing (US-108 to US-110)
US-108: Create PdfExtractorService
Status: Not Started | SP: 8 | Sprint: 2
Description: Service for extracting text and metadata from PDF files.
Needs:
- PDF parsing library (pdftotext or similar)
- Text extraction
- Metadata extraction
- Image handling
US-109: Create ResourceFile Entity
Status: Not Started | SP: 3 | Sprint: 2
Description: Entity for storing file metadata and references.
Needs:
- File path storage
- MIME type
- File size
- Upload timestamp
Tag Management (US-111 to US-113)
US-111: Create Tag Entity and M:N Relationship
Status: Complete | SP: 5 | Sprint: 0
Description: Tag entity with many-to-many relationship to Resources.
Implementation:
backend/src/Entity/Tag.php- M:N relationship configured
US-112: Implement Tag Normalization Service
Status: Not Started | SP: 3 | Sprint: 1
Description: Service for normalizing tags (lowercase, trim, deduplication).
Needs:
- Tag normalization logic
- Duplicate detection
- Merge functionality
US-113: Add Tag Autocomplete API
Status: Not Started | SP: 3 | Sprint: 2
Description: API endpoint for tag autocomplete in UI.
Needs:
- Search endpoint
- Fuzzy matching
- Frequency-based sorting
Epic 2: Lists & Categories Extra Storys (US-131 to US-165)
Status: Pending creation | 35 tickets | 150 SP | 30% implemented
List Suggestions (US-131 to US-135)
US-131: Create ListSuggestionService
Status: Not Started | SP: 8 | Sprint: 2
Description: Service for suggesting appropriate lists based on content.
Needs:
- Content analysis
- Keyword matching
- ML-based suggestions (optional)
Multi-list Assignment (US-136)
US-136: Implement Multi-list Assignment UI
Status: Not Started | SP: 5 | Sprint: 2
Description: Allow assigning resources to multiple lists simultaneously.
Needs:
- Multi-select UI in Slack
- Batch assignment API
- Validation
List Filtering (US-137 to US-140)
US-137: Create ListFilterService
Status: Not Started | SP: 8 | Sprint: 5
Description: Service for filtering lists by various criteria.
Needs:
- Filter by target group
- Filter by date range
- Filter by tag
- Filter by status
Epic 3: AI Summaries Implementation (US-166 to US-200)
Status: 35 tickets created | 196 SP | 9% implemented Source: /home/ubuntu/archive/jira-imports/jira_extra story_batch3.md
AI Service Foundation (US-166 to US-170)
US-166: Create AiSummaryService Foundation
Status: Stub Only | SP: 8 | Sprint: 3
Description: Core AI summary service with provider abstraction.
Current: Stub in backend/src/Service/SummaryService.phpNeeds: Full implementation with generation logic
US-167: Create Summary Entity and Migration
Status: Complete | SP: 5 | Sprint: 0
Description: Summary entity for storing AI-generated summaries.
Implementation:
backend/src/Entity/Summary.php- Relationship with Resource entity
US-168: Implement AiProviderInterface
Status: Not Started | SP: 5 | Sprint: 3
Description: Interface for AI provider abstraction.
Needs:
- Provider interface
- OpenAI implementation
- OpenRouter implementation
- Provider factory
US-169: Integrate OpenAI Provider
Status: Complete (needs interface) | SP: 8 | Sprint: 0
Description: OpenAI integration for summary generation.
Implementation:
backend/src/Service/OpenAiService.phpNeeds: Refactor to implement AiProviderInterface
Prompt Engineering (US-171 to US-175)
US-171: Create SummaryPromptBuilder Service
Status: Not Started | SP: 8 | Sprint: 3
Description: Service for building prompts based on target group and content type.
Needs:
- Prompt templates
- Variable substitution
- Target group customization
US-172: Create Role Entity for Target Groups
Status: Complete | SP: 5 | Sprint: 0
Description: Role/TargetGroup entity for audience segmentation.
Implementation:
backend/src/Service/TargetGroupService.php
Language Handling (US-176 to US-180)
US-176: Add Explicit Language Directive
Status: Not Started | SP: 3 | Sprint: 3
Description: Add language directive to prompts for consistent output.
Needs:
- Language detection
- Language directive in prompts
- Multi-language support
Regeneration (US-186 to US-190)
US-186: Add Summary Regeneration UI
Status: Not Started | SP: 5 | Sprint: 4
Description: UI for regenerating summaries with different parameters.
Needs:
- Regeneration button in Slack
- Parameter selection
- History tracking
Caching & Tracking (US-199 to US-200)
US-199: Implement Redis Caching for Summaries
Status: Not Started | SP: 8 | Sprint: 3
Description: Cache summaries in Redis for faster retrieval.
Needs:
- Redis configuration
- Cache key strategy
- Cache invalidation
US-200: Add Token Tracking and Cost Allocation
Status: Not Started | SP: 8 | Sprint: 3
Description: Track token usage and costs per summary.
Needs:
- Token counting
- Cost calculation
- Usage reporting
Epic 4-11: Infrastructure & Advanced Features (US-201 to US-320)
Status: Pending creation | 120 tickets | 540 SP | 0-15% implemented
Epic 4: Digest System (US-201 to US-220)
Tickets: 20 | SP: 100 | Status: 10% implemented
Focus:
- Digest scheduling and automation
- Template system
- Delivery to Slack channels
- History and tracking
Epic 5: Infrastructure (US-221 to US-235)
Tickets: 15 | SP: 80 | Status: 15% implemented
Focus:
- Redis integration
- Queue system (Symfony Messenger)
- Retry logic and circuit breakers
- Rate limiting
Epic 6: Monitoring (US-236 to US-250)
Tickets: 15 | SP: 80 | Status: 0% implemented
Focus:
- Health check endpoints
- Prometheus metrics
- Structured logging
- Error tracking
Epic 7: Search (US-251 to US-265)
Tickets: 15 | SP: 80 | Status: 10% implemented
Focus:
- Advanced filtering
- Full-text search
- Saved searches
- Search analytics
Epic 8: User Management (US-266 to US-280)
Tickets: 15 | SP: 100 | Status: 0% implemented
Focus:
- Authentication
- Role-based permissions
- User profiles
- Audit logging
Epic 9: Advanced Features (US-281 to US-295)
Tickets: 10 | SP: 70 | Status: 0% implemented
Focus:
- Content moderation
- Versioning
- Bulk operations
- Import/export
Epic 10: Analytics (US-296 to US-310)
Tickets: 10 | SP: 50 | Status: 0% implemented
Focus:
- Usage dashboards
- Reports
- Metrics
- Data visualization
Epic 11: Integrations (US-311 to US-320)
Tickets: 10 | SP: 30 | Status: 0% implemented
Focus:
- Third-party integrations
- Webhooks
- API documentation
Filter by Status
Complete (6 tickets)
- US-100: Resource Entity
- US-105: ResourceContent Entity
- US-111: Tag Entity
- US-167: Summary Entity
- US-169: OpenAI Provider
- US-172: Role Entity
Partial (5 tickets)
- US-101: ContentIngestionService (needs refactor)
- US-103: WebScraperService (Node.js only)
- US-166: AiSummaryService (stub only)
Not Started (185 tickets)
All remaining extra story stories
Related Pages
- Sprint 0 Showcase - See completed work
- MVP Roadmap - View sprint planning
- User Stories - Browse US-001 to US-100