# Known, intentional event-registry divergence (unification pass).
#
# The canonical registry is
# src/omnimarket/nodes/node_emit_daemon/registries/topics.yaml. The omniclaude
# hook registry (hooks/event_registry.py + TopicBase) must agree with it on every
# field. Anything not declared here fails the drift gate.
#
# Kinds (one '<kind> <value>' per line):
#   source_only        <topic>       wire topic in omniclaude only (legacy debt)
#   registry_only      <topic>       wire topic in the canonical YAML only
#   event_source_only  <event_type>  whole event registered in omniclaude only
#   event_registry_only <event_type> whole event in the canonical YAML only

# --- Topic-level carve-outs ---------------------------------------------------
# Emit-daemon-only fan-out topics with no omniclaude TopicBase counterpart.
registry_only onex.cmd.omnibase-infra.delegation-request.v1
registry_only onex.evt.diagnostic.daemon-health.v1

# --- Event-type-level carve-outs ----------------------------------------------
# delegation.request is the legacy event the emit daemon still accepts; the hook
# side renamed it to delegate.task in an earlier pass and dropped the old key. It stays
# registry-only until the legacy emit-daemon path is removed.
event_registry_only delegation.request
# daemon.health.probe is a synthetic round-trip the emit daemon emits to itself
# for liveness checks. It is never produced by an omniclaude hook, so it has no
# entry in the hook registry by design.
event_registry_only daemon.health.probe

# --- OMN-17019 (C9) work-obligation events ------------------------------------
# The five obligation lifecycle kinds are emit-daemon-only BY DESIGN, not as
# debt: their emitter is the onex CLI and the nodes that record work, not a
# Claude Code lifecycle hook. OMN-17019 names omniclaude's hook wiring as
# *existing* and unchanged, so there is no hook-side registration to mirror --
# the same situation daemon.health.probe is in. Both carve-out kinds are needed
# because compare_topic_sets() compares the flattened wire-topic sets
# independently of compare_registrations()' event-type membership check.
# This carve-out shrinks if a hook client ever constructs these; it never grows.
registry_only onex.evt.omniclaude.work-obligation-created.v1
registry_only onex.evt.omniclaude.work-obligation-transferred.v1
registry_only onex.evt.omniclaude.work-obligation-satisfied.v1
registry_only onex.evt.omniclaude.work-obligation-superseded.v1
registry_only onex.evt.omniclaude.work-obligation-abandoned.v1
event_registry_only work.obligation.created
event_registry_only work.obligation.transferred
event_registry_only work.obligation.satisfied
event_registry_only work.obligation.superseded
event_registry_only work.obligation.abandoned
