-
-
Notifications
You must be signed in to change notification settings - Fork 1
Open
1 / 41 of 4 issues completedLabels
enhancementNew feature or requestNew feature or request
Description
Summary
Implement the layered crate public API design established in ADR-030 and documented in ARCHITECTURE.md.
Background
The eventcore crate should export a minimal API for application developers, while eventcore-types provides the full API for backend implementers. This cleanup reduces API surface area, clarifies audience separation, and makes future evolution easier.
Acceptance Criteria
- EventCollector projector implemented in eventcore-testing (Implement EventCollector projector in eventcore-testing (ADR-031) #278)
- eventcore-examples crate created (Create eventcore-examples crate (ADR-032) #279)
- Integration tests migrated to eventcore-examples (Migrate integration tests to eventcore-examples #280)
-
eventcore/src/lib.rsexports only application-developer types (Remove unnecessary exports from eventcore public API (ADR-030) #281) - Internal types made
pub(crate) - Dead code removed
- All tests pass after API cleanup
Sub-Issues
- Implement EventCollector projector in eventcore-testing (ADR-031) #278 - Implement EventCollector projector in eventcore-testing (ADR-031)
- Create eventcore-examples crate (ADR-032) #279 - Create eventcore-examples crate (ADR-032)
- Migrate integration tests to eventcore-examples #280 - Migrate integration tests to eventcore-examples
- Remove unnecessary exports from eventcore public API (ADR-030) #281 - Remove unnecessary exports from eventcore public API
Related
- Architect continuous polling mode for run_projection API #276 - Architect continuous polling mode (future work)
- ADR-030: Layered Crate Public API Design
- ADR-031: Black-Box Integration Testing via Projections
- ADR-032: Integration Test Crate for End-to-End Testing
References
- ARCHITECTURE.md: Crate Organization section
Sub-issues
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request