Sharing high level concept before proceeding to knot/spindle changes!
While most services like knotmirror are fine with tracking org.tangled.git.packedRefs record, some services want literal git-push event and not just reference updates. For example, spindle wants to read the push actor & passed push options like -o skip-ci.
But we don't want to maintain separate global event stream alongside with firehose. So, we just extend existing atproto com.atproto.sync.subscribeRepos stream. Existing atproto firehose fan-in services like relay won't support this because it can't verify the signature without knowing the message schema, but it doesn't matter much since there are only few services need this event (currently only spindle.)