feat
patch
social
task/social-domain-phase02
#1 / 1
feat(social): Phase 02 — MuseHub Social API
Add three-layer Social API to musehub:
- GET /api/social/{handle}: cursor-paginated posts feed (reads social-domain repo snapshot manifest, loads post objects, sorts newest-first) - GET /api/social/{handle}/stream: SSE real-time subscription (delivers social_delta events when new social-domain pushes land for a handle) - musehub/services/musehub_social.py: in-process SSE subscriber registry (subscribe_handle / unsubscribe_handle / fan_out_to_subscribers) plus get_social_feed service that reads directly from the Muse object store
28/28 tests GREEN across TestSocialApiShape, TestSocialApiFeed, TestSocialFanOut, TestSocialFeedService, TestSocialApiDocstrings.
sha256:7473b37760ad25d37ddad07e9c1a6c671a33ee6ee9e3349056467cd1987493f6
sha
+109
symbols
sha256:c3dd819cae0e1b74a313c54853e3697ba00396775783b75cac1ecc9214563354
snapshot
+109
symbols added
0
dead code introduced
Semantic Changes
109 symbols
+
test_get_social_feed_service_has_docstring
method
method test_get_social_feed_service_has_docstring L447–449
+
test_feed_post_has_required_fields
method
async_method test_feed_post_has_required_fields L240–249
+
test_feed_posts_sorted_newest_first
method
async_method test_feed_posts_sorted_newest_first L226–237
+
test_feed_200_for_known_handle_no_posts
method
async_method test_feed_200_for_known_handle_no_posts L161–166
+
test_feed_response_has_expected_keys
method
async_method test_feed_response_has_expected_keys L169–178
+
test_stream_returns_streaming_response
method
method test_stream_returns_streaming_response L195–201
+
test_fan_out_delivers_event_to_subscriber
method
async_method test_fan_out_delivers_event_to_subscriber L303–317
+
test_fan_out_multiple_subscribers_all_receive
method
async_method test_fan_out_multiple_subscribers_all_receive L327–342
+
test_fan_out_no_subscribers_is_noop
method
async_method test_fan_out_no_subscribers_is_noop L320–324
+
test_get_social_feed_empty_when_no_social_repo
method
async_method test_get_social_feed_empty_when_no_social_repo L365–372
+
test_get_social_feed_raises_404_not_found
method
async_method test_get_social_feed_raises_404_not_found L415–422
+
test_get_social_feed_returns_posts
method
async_method test_get_social_feed_returns_posts L375–386
+
test_get_social_feed_sorted_newest_first
method
async_method test_get_social_feed_sorted_newest_first L389–400
← Older
Oldest on task/social-domain-phase02
All commits
Newer →
Latest on task/social-domain-phase02
0 comments
To add a comment, use the Muse CLI:
muse hub commit comment sha256:7473b37760ad25d37ddad07e9c1a6c671a33ee6ee9e3349056467cd1987493f6 --body "your comment"
No comments yet. Be the first to start the discussion.