28 lines
1.2 KiB
Markdown
28 lines
1.2 KiB
Markdown
## MODIFIED Requirements
|
|
|
|
### Requirement: Normalized content items
|
|
The system MUST normalize all ingested items (YouTube videos, Instagram posts, podcast episodes) into a single internal schema so the website can render them consistently.
|
|
|
|
The normalized item MUST include at minimum:
|
|
- `id` (stable within its source)
|
|
- `source` (`youtube`, `instagram`, or `podcast`)
|
|
- `url`
|
|
- `title`
|
|
- `publishedAt` (ISO-8601)
|
|
- `thumbnailUrl` (optional)
|
|
|
|
The system MUST support an optional summary field on normalized items when available from the source:
|
|
- `summary` (optional, short human-readable excerpt suitable for cards)
|
|
|
|
#### Scenario: Normalizing a YouTube video
|
|
- **WHEN** the system ingests a YouTube video item
|
|
- **THEN** it produces a normalized item containing `id`, `source: youtube`, `url`, `title`, and `publishedAt`
|
|
|
|
#### Scenario: Normalizing a podcast episode
|
|
- **WHEN** the system ingests a podcast RSS episode
|
|
- **THEN** it produces a normalized item containing `id`, `source: podcast`, `url`, `title`, and `publishedAt`
|
|
|
|
#### Scenario: Summary available
|
|
- **WHEN** an ingested item provides summary/description content
|
|
- **THEN** the normalized item includes a `summary` suitable for rendering in cards
|