Overview
StreamForge Core needs a foundational event ingestion module responsible for receiving and parsing contribution events (e.g. commits, pull requests, reviews) from upstream sources.
What needs to be done
- Create an
ingestion module under src/
- Define a basic
Event struct with the following fields:
id (String)
event_type (String — e.g. "pull_request", "commit", "review")
contributor (String)
timestamp (u64)
metadata (optional key-value map)
- Implement a function to receive and parse a raw event into the
Event struct
- Handle malformed or missing fields gracefully with proper error types
Acceptance Criteria
Pre-Submission Checklist
Notes
This is the foundational building block of StreamForge Core. Keep the implementation simple and well-documented.
Overview
StreamForge Core needs a foundational event ingestion module responsible for receiving and parsing contribution events (e.g. commits, pull requests, reviews) from upstream sources.
What needs to be done
ingestionmodule undersrc/Eventstruct with the following fields:id(String)event_type(String — e.g. "pull_request", "commit", "review")contributor(String)timestamp(u64)metadata(optional key-value map)EventstructAcceptance Criteria
src/ingestion.rsmodule exists and is wired intomain.rsEventstruct is defined with the fields listed abovePre-Submission Checklist
cargo buildlocally and it succeedscargo testlocally and all tests passcargo fmtto format my codecargo clippyand fixed all warningsNotes
This is the foundational building block of StreamForge Core. Keep the implementation simple and well-documented.