Define the extensible format contract and deterministic built-in registry.
Scope
Add the FeedReader.Format behaviour, ordered registry, RSS/Atom/RDF registration points, and a test-only external format supplied through per-call options. Keep handler selection inside format modules rather than hard-coded parser dispatch.
Acceptance Criteria
The behaviour exposes detection, handler, parser state, feed normalization, and item normalization callbacks.
Built-in order is deterministic.
Consumers can provide an explicit format without changing core dispatch.
No application configuration or module-load-order discovery is used.
Contract tests cover the external format boundary.
## Objective
Define the extensible format contract and deterministic built-in registry.
## Scope
Add the `FeedReader.Format` behaviour, ordered registry, RSS/Atom/RDF registration points, and a test-only external format supplied through per-call options. Keep handler selection inside format modules rather than hard-coded parser dispatch.
## Acceptance Criteria
- The behaviour exposes detection, handler, parser state, feed normalization, and item normalization callbacks.
- Built-in order is deterministic.
- Consumers can provide an explicit format without changing core dispatch.
- No application configuration or module-load-order discovery is used.
- Contract tests cover the external format boundary.
mmacia
self-assigned this 2026-10-16 10:12:24 +00:00
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Objective
Define the extensible format contract and deterministic built-in registry.
Scope
Add the
FeedReader.Formatbehaviour, ordered registry, RSS/Atom/RDF registration points, and a test-only external format supplied through per-call options. Keep handler selection inside format modules rather than hard-coded parser dispatch.Acceptance Criteria