You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
chore: Add FDv2-compatible contract test support (#362)
<!-- CURSOR_SUMMARY -->
> [!NOTE]
> Introduces FDv2 data system configuration and robust synchronizer
lifecycle (start/stop), integrates SSE streaming with payload filter,
implements an in-memory feature store, and updates tests and contract
client accordingly.
>
> - **FDv2/Data System**:
> - Add `Synchronizer.stop()` to interface and implement stop/lifecycle
management in `StreamingDataSource` and `PollingDataSource`.
> - Enhance `FDv2` to track/stop the active synchronizer safely with
locks; ensure threads shut down cleanly.
> - Add `datasystem.config` builders (`polling_ds_builder`,
`streaming_ds_builder`), expose `fdv1_fallback_synchronizer` in config.
> - **Streaming**:
> - Switch to `ld_eventsource.SSEClient`; include payload filter in
stream URI.
> - Handle stream errors by interrupting/closing SSE; stop on
unrecoverable errors; ensure closure on exit.
> - **Polling**:
> - Add stoppable sync loop with `_stop` flag and `stop()` method.
> - **Store**:
> - Implement thread-safe `InMemoryFeatureStore` with basic CRUD, init,
and diagnostics; integrate with `Store`.
> - **Contract tests**:
> - Support FDv2 `dataSystem` config (initializers/synchronizers,
payloadFilter) in `client_entity.py`.
> - **Tests**:
> - Update streaming synchronizer tests for new SSE client usage and
stop/interrupt behavior.
>
> <sup>Written by [Cursor
Bugbot](https://cursor.com/dashboard?tab=bugbot) for commit
e87daa0. This will update automatically
on new commits. Configure
[here](https://cursor.com/dashboard?tab=bugbot).</sup>
<!-- /CURSOR_SUMMARY -->
0 commit comments