The event-driven estate in most organizations grew up outside everything the industry built for HTTP APIs. There is no catalog of topics, no contract for the messages, no versioning policy, no record of who consumes what, and no way to deprecate anything safely because nobody knows who would break.
Backfilling that is the work. Concretely: require an AsyncAPI document for every channel, with message schemas registered and versioned. Require a named owner per topic, the same as per API. Put topics in the same catalog as your HTTP APIs so discovery is one search, not two. Define a compatibility policy — usually backward compatibility enforced by a schema registry — so a producer cannot silently break every consumer. Track consumers so deprecation is possible at all. And apply the same authentication, authorization and audit expectations you apply at the gateway.
Lint AsyncAPI documents in the pipeline exactly as you lint OpenAPI. The rules differ; the discipline does not.
The single most valuable artifact here is the consumer registry. In HTTP, the gateway tells you who calls what. In a pub/sub system, subscription is often invisible to the producer, which is why event-driven estates become impossible to change. Make consumption explicit and everything else becomes tractable.