- Accept activity now includes required 'id' field (uuid-based)
- Updated shared submodule: add_follower upserts to prevent IntegrityError
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Fix sign_request() call: parse URL into path/host (was passing 'url' kwarg that doesn't exist)
- Fix verify_request_signature() call to match actual function signature
- Add manuallyApprovesFollowers: false to actor JSON-LD so Mastodon auto-accepts follows
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Phase 0+1 of AP integration. New 5th Quart microservice:
Blueprints:
- wellknown: WebFinger, NodeInfo 2.0, host-meta
- actors: AP actor profiles (JSON-LD + HTML), outbox, inbox, followers
- identity: username selection flow (creates ActorProfile + RSA keypair)
- auth: magic link login/logout (ported from blog, self-contained)
Services:
- Registers SqlFederationService (real impl) for federation domain
- Registers real impls for blog, calendar, market, cart
- All cross-domain via shared service contracts
Templates:
- Actor profiles, username selection, platform home
- Auth login/check-email (ported from blog)
Infrastructure:
- Dockerfile + entrypoint.sh (matches other apps)
- CI/CD via Gitea Actions
- shared/ as git submodule
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>