Skip to main content

Federation diagnostic rule reference

View as Markdown

Federation diagnostics use stable rule IDs. Configure each rule as off, warn, or error under federation.rules.

RuleDefaultSummary
federation/duplicate-sourceerrorA resource has multiple owning catalogs
federation/type-collisionerrorOne resource ID is documented with conflicting types
federation/pointer-type-mismatcherrorA relationship expects the wrong target type
federation/facet-disagreementerrorCatalogs provide contradictory facets for a resource
federation/asset-collisionwarnRemote sources publish different files at one asset path
federation/missing-resourcewarnA relationship points to an ID that is not present
federation/unresolved-versionwarnThe target ID exists, but its requested version does not

federation/duplicate-source

Message: Resource has multiple owners

Triggered when the same resource ID and type are owned by more than one catalog. All versions of one resource ID must have the same owner.

Attributes:

AttributeMeaning
resourceConflicting resource ID
catalogsCatalogs claiming ownership
resolutionSuggested ownership action

Resolution: choose one owning catalog. Remove copied or placeholder resource definitions from consumers.

federation/type-collision

Message: Resource ID has conflicting types

Triggered when the same resource ID is documented as different EventCatalog resource types, such as an event in one catalog and a command in another.

Attributes:

AttributeMeaning
resourceConflicting resource ID
<catalog ID>Type documented by that catalog

Resolution: correct the resource type or use distinct IDs for different resources.

federation/pointer-type-mismatch

Message: Reference type does not match resource

Triggered when a relationship pointer expects one target type but the resolved resource has another type.

Attributes:

AttributeMeaning
resourceReferenced resource ID
expected typeType required by the relationship
actual typeType documented by the owner
catalogsCatalogs involved in the mismatch

Resolution: correct the pointer or point it to the intended resource ID.

federation/facet-disagreement

Message: Catalogs disagree about this resource

Represents contradictory contributed facets for a resource, such as incompatible content supplied for the same facet by several catalogs.

Attributes:

AttributeMeaning
resourceResource ID with contradictory facets
detailAvailable disagreement detail
catalogsCatalogs contributing the conflicting values

Resolution: decide which source is authoritative and align or remove the conflicting contribution.

federation/asset-collision

Message: Asset collision

Triggered when remote sources publish different content to the same public/ or components/ path.

Attributes:

AttributeMeaning
assetConflicting catalog-relative asset path
sourcesSources publishing the path
winnerSource selected by Federation
resolutionSelection rule, currently last configured source wins

Resolution: namespace the paths, make the files identical, or deliberately order the sources and keep the warning visible.

An existing public asset owned by the central catalog is preserved.

federation/missing-resource

Message: Referenced EventCatalog resource does not exist

Triggered when a relationship points to a resource ID that is not documented by any participating remote or central catalog.

Attributes:

AttributeMeaning
source catalogCatalog containing the relationship pointer
referenced byResource containing the pointer
missing resourceMissing ID and requested version, when present

Resolution: add the owning catalog, document the resource in its owner, or correct the pointer ID.

federation/unresolved-version

Message: Referenced EventCatalog resource version does not exist

Triggered when the resource ID exists, but no available version satisfies the pointer.

Attributes:

AttributeMeaning
source catalogCatalog containing the relationship pointer
referenced byVersioned resource containing the pointer
resourceTarget resource ID
requested versionExact version, range, or authored pointer value
available versionsVersions published by the owner

Resolution: change the pointer to an available version or publish a matching version in the owning catalog.

Configure levels

eventcatalog.config.js
export default {
federation: {
rules: {
'federation/missing-resource': 'error',
'federation/unresolved-version': 'error',
'federation/asset-collision': 'off',
},
sources: [/* ... */],
},
};

Changing structural rules from error can allow ambiguous ownership or types into the generated view. See Configure validation rules.

Operational errors without rule IDs

Some failures stop Federation directly and do not have configurable federation/* rule IDs. These include:

  • Missing or invalid license access
  • Duplicate configured source IDs
  • Unsupported source locators
  • GitHub authentication or network failures
  • Missing filesystem source directories
  • Unsafe source, catalog, or artifact paths
  • Invalid published indexes
  • Content hash mismatches
  • Unreadable lockfiles
  • Filesystem write or rollback failures

See Troubleshooting Federation.