32 lines
1.5 KiB
Markdown
32 lines
1.5 KiB
Markdown
## Purpose
|
|
|
|
Canonical specification for news-structured-data requirements synced from OpenSpec change deltas.
|
|
|
|
## Requirements
|
|
|
|
### Requirement: Homepage publishes Newspaper structured data
|
|
The system SHALL expose a valid JSON-LD entity of type `Newspaper` on the homepage.
|
|
|
|
#### Scenario: Newspaper entity is emitted on homepage
|
|
- **WHEN** the homepage HTML is rendered
|
|
- **THEN** a JSON-LD script block includes an entity with `@type` set to `Newspaper`
|
|
- **AND** the entity includes stable publisher and site identity fields
|
|
|
|
#### Scenario: Newspaper entity remains language-aware
|
|
- **WHEN** homepage content is rendered in a selected language
|
|
- **THEN** the structured data includes language context for the active locale
|
|
- **AND** language output stays consistent with visible content language
|
|
|
|
### Requirement: Each rendered news item publishes NewsArticle structured data
|
|
The system SHALL expose a valid JSON-LD entity of type `NewsArticle` for each rendered news item in hero and feed contexts.
|
|
|
|
#### Scenario: NewsArticle entities include required semantic fields
|
|
- **WHEN** news items are present on the homepage
|
|
- **THEN** each `NewsArticle` entity includes headline, description, image, publication dates, and URL fields
|
|
- **AND** publisher and author context are present for each item
|
|
|
|
#### Scenario: Structured data avoids duplicate article entities
|
|
- **WHEN** article data appears across hero and feed sections
|
|
- **THEN** structured-data output deduplicates entities for the same article URL
|
|
- **AND** only one canonical semantic entry remains for each unique article
|