feat(api): 1:1 accountability buddies (#201) - #271
Merged
Conversation
Adds a 1:1 accountability-buddy system on top of the #193 social foundation: invite -> accept between two accepted friends, per-user linked-habit joins, moderated check-ins that push the buddy, a Daily/Weekly cadence, multiple pairs per user up to a cap, and either-party revoke. - Domain: AccountabilityPair / AccountabilityPairHabit / AccountabilityCheckIn entities + AccountabilityPairStatus / AccountabilityCadence enums + guards. - Application: AccountabilityPairService, 6 commands + 2 queries, FluentValidation, no-N+1 pairs query. - API: AccountabilityController (7 routes) + accountability-invites / accountability-checkins rate-limit policies. - Persistence: AddAccountabilityBuddies migration (3 tables, unique (PairId,UserId,HabitId) and (PairId,UserId,Date) indexes). - Battle Buddy award wired on pair-accept via the "battle_buddy" string id; no-ops until #196 ships the achievement definition. - Registered the new controller actions in the agent catalog. - Tests: domain entity guards + handler/validator/query unit tests. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
# Conflicts: # src/Orbit.Infrastructure/Services/AgentCatalogService.Capabilities.cs
…t BattleBuddy now #196 ships Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.



Backend half of #201 (paired with the orbit-ui-mobile shared-types PR). No client UI (that's #205).
What
AccountabilityPair(1:1 between accepted friends, invite→accept), per-user habit join, moderated lightweight check-in ack that pushes the buddy,Daily|Weeklycadence, multi-pair up to a cap, either-party revoke. MigrationAddAccountabilityBuddies.Validation
dotnet build0 errors; full suite green in implementation (Domain/App/Infra).Refs thomasluizon/orbit-ui-mobile#201. Migration is part of the serialized Phase-5 set — rebase-and-rescaffold at merge if another lands first.
🤖 Generated with Claude Code