trails/openspec/changes/archive/2026-06-07-social-federation/specs/public-profiles/spec.md
Ullrich Schäfer d87a1e30c2 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>
2026-06-07 16:47:35 +02:00

601 B

ADDED Requirements

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