Story: Unified DataSource Abstraction #10

Closed
opened 2026-03-18 06:25:57 +00:00 by david · 1 comment
Owner

As a developer
I want all data sources to have a common interface
So that pipeline stages work with any source type

Acceptance Criteria:

  • DataSource abstract class with get_items() method
  • SourceRegistry discovers and manages sources
  • Static sources (Headlines, Poetry) implement DataSource
  • Dynamic sources (Pipeline) implement DataSource

Technical Tasks (from commit e0bbfea, d9c7138):

  • Create engine/data_sources/sources.py: DataSource ABC
  • Create engine/data_sources/__init__.py: SourceRegistry
  • Implement HeadlinesDataSource, PoetryDataSource
  • Add comprehensive tests in test_data_sources.py
**As a** developer **I want** all data sources to have a common interface **So that** pipeline stages work with any source type **Acceptance Criteria:** - [ ] DataSource abstract class with get_items() method - [ ] SourceRegistry discovers and manages sources - [ ] Static sources (Headlines, Poetry) implement DataSource - [ ] Dynamic sources (Pipeline) implement DataSource --- **Technical Tasks (from commit e0bbfea, d9c7138):** - Create `engine/data_sources/sources.py`: DataSource ABC - Create `engine/data_sources/__init__.py`: SourceRegistry - Implement HeadlinesDataSource, PoetryDataSource - Add comprehensive tests in `test_data_sources.py`
Author
Owner
**ADR:** [ADR-003: DataSource Abstraction](https://git.notsosm.art/david/Mainline.wiki/ADR-003-DataSource-Abstraction)
david closed this issue 2026-03-18 06:53:28 +00:00
david reopened this issue 2026-03-18 06:54:06 +00:00
david added this to the Mainline project 2026-03-18 07:12:12 +00:00
david added the status:feature-complete label 2026-03-18 07:15:14 +00:00
david added the status:tested label 2026-03-18 07:48:52 +00:00
david moved this to Feature Complete in Mainline on 2026-03-18 07:53:09 +00:00
david moved this to Tested in Mainline on 2026-03-18 07:53:13 +00:00
david added the epic:#3 label 2026-03-18 07:55:35 +00:00
david added the epic:Data Source label 2026-03-18 07:59:08 +00:00
david closed this issue 2026-03-18 22:03:27 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: klubhaus/sideline#10