docs(openspec): archive social-federation; sync delta specs into main
The change shipped end-to-end (58/58 tasks; live on trails.cool since 2026-06-07, soaked against Mastodon and flagship⇄staging). Delta specs synced into the mainline: - specs/social-federation/spec.md created (8 requirements: actor objects + WebFinger, signing keypairs, narrow inbox, outbox, push delivery, trails-only outbound, poll ingestion, audience filtering) - specs/social-follows/spec.md: social-activity-feed requirement updated for remote rows + audience gating; pending lifecycle for outbound remote follows added - specs/public-profiles/spec.md: Pending follow-button state added openspec validate --all: green. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
4b342ad91b
commit
d87a1e30c2
10 changed files with 147 additions and 24 deletions
|
|
@ -63,3 +63,10 @@ Every user SHALL have an explicit `profile_visibility` of `public` or `private`.
|
|||
- **WHEN** a previously-private user switches `profile_visibility` to `public` and saves
|
||||
- **THEN** their `/users/:username` renders the full profile to anyone again, and any incoming follows auto-accept going forward
|
||||
|
||||
### Requirement: Pending state on Follow button
|
||||
When a signed-in viewer has an outgoing follow against a profile that is `accepted_at IS NULL` (awaiting `Accept(Follow)` from the remote), the Follow button SHALL render in a Pending state with a cancel option, distinct from both the unfollowed and followed states.
|
||||
|
||||
#### Scenario: Pending state visible
|
||||
- **WHEN** a signed-in user has just initiated a follow against a remote trails actor's profile
|
||||
- **THEN** the profile page renders a "Pending" indicator with a cancel-request control instead of the Follow or Unfollow button
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue