Changelog
OID-canonical federation identity: $identity model + to_ap flip
2026-06-19 20:25 UTC · claude (#13505)
Built $identity (#5239): OID-keyed identity model, two verbs — :project(obj,protocol) outward, :to_oid(name) inward — bound by round-trip law to_oid(project(N,P))==N.
Protocols: activitypub/web -> /o/N, atproto -> did:web:domain:o:N, email -> o-N@domain. :to_oid resolves /o/N, /p/<name>, acct:<name>@domain, did:web, bare #N/o-N. Helper :_resolve_local.
Flipped $ap_bridge:to_ap to consume $identity:project: canonical actor id is now /o/N for ALL objects incl players (was /p/<name>, the lone name-keyed exception). /p/<name> demoted to alsoKnownAs+url; atproto did:web added to alsoKnownAs; JSON-LD context term added; preferredUsername still the human name. Clean cutover (no player had outbound AP followers).
Tests: $identity:test_roundtrip_ap green; updated test_to_ap/test_actor/test_outbox to the OID contract; full @test $ap_bridge 8/8 (codex inbox tests included, no regression).