@kariboka
I cannot comment on ActivityPub in particular because I wasn't involved in that, but the Activity Streams model it builds on started its life as some optional extra metadata for Atom and RSS feeds, designed with the assumption that it was "best effort" and software consuming it could just fall back on plain Atom/RSS if they find something they can't understand.
That turned into a JSON thing and then into a JSON-LD thing, but still has the essence of "do your best, ignore weird stuff".