Skip to content

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 SP

Epic 2

Lists & Categories

35 tickets | 150 SP

Epic 3

AI Summaries

35 tickets | 196 SP

Epic 4-11

Infrastructure+

120 tickets | 540 SP

Epic 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