Skip to content

Implement ECCA registry catalog and capability discovery #896

Description

@enricopiovesan

Parent

Part of #894. Blocked until Spec 534 and its ADR are approved in #895.

Problem

The registry has event declarations but no ECCA-grade catalog entry, contract discovery surface, or evidence-backed capability relationships.

Definition of Done

  • Ingest and validate the approved event-governance descriptor and JSON Schema with each registry publication.
  • Reject event publication when required owner, purpose, lifecycle, classification, compatibility, or semantic fields are absent or invalid.
  • Persist immutable contract versions, schema links, lifecycle/deprecation/replacement metadata, producer and declared-consumer relationships.
  • Expose dedicated event contract pages and capability Publishes/Consumes sections with owner, lifecycle, exposure, field classifications, schema/version, and stable support route.
  • Render declared relationships separately from observed runtime lineage and surface drift.
  • Provide searchable/filterable event discovery by type, domain, owner, lifecycle, classification, producer, consumer, and payload-field metadata.
  • Provide navigable producer-consumer lineage from both a capability and an event contract.
  • Generate AsyncAPI as a derived discovery/export view without making it contract authority.
  • Add fixtures and integration tests covering valid publication, each rejected metadata class, immutable evolution, lifecycle/deprecation, classification visibility, and declared/observed relationship rendering.

Validation

  • Unit, integration, and catalog fixture tests pass.
  • Accessibility and registry UI checks pass where applicable.
  • Conformance fixtures prove the interface matches approved Spec 534 and ADR.

Non-goals

Runtime transport enforcement and the reference application, which are separate tickets.

Metadata

Metadata

Assignees

No one assigned

    Labels

    agent:codexClaimed by Codexspec-completeGoverning specification or ADR is approved; implementation may rely on it

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions