The wiki integration reaches into the domains registry directly instead of through the integration contract #44

Open
opened 2026-09-21 07:18:14 +00:00 by cgalo5758 · 0 comments
Owner

What a contributor runs into

The wiki integration imports the domains registry package and calls it directly, while every other integration reaches core through the registered contract (manifest, routes, workers, configuration, migrations). A contributor changing the registry's API finds one integration coupled to it by import, and a contributor writing a new integration that needs a domain has no contract to follow because the one example bypasses it.

Why it costs

The integration contract is the promise that integrations can be added and removed without touching core. One import that ignores it makes the promise false and leaves the registry's surface undefined for the next integration.

Where

internal/integrations/fedwiki (the import of internal/domains); internal/integration (the contract that has no domain verb).

Done when

The contract carries what an integration needs from the registry (a way to claim, place and release a domain for a resource it owns), the wiki integration uses it, and no integration imports the registry package.

## What a contributor runs into The wiki integration imports the domains registry package and calls it directly, while every other integration reaches core through the registered contract (manifest, routes, workers, configuration, migrations). A contributor changing the registry's API finds one integration coupled to it by import, and a contributor writing a new integration that needs a domain has no contract to follow because the one example bypasses it. ## Why it costs The integration contract is the promise that integrations can be added and removed without touching core. One import that ignores it makes the promise false and leaves the registry's surface undefined for the next integration. ## Where [`internal/integrations/fedwiki`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/integrations/fedwiki) (the import of [`internal/domains`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/domains)); [`internal/integration`](https://git.coopcloud.tech/wiki-cafe/member-console/src/commit/b7a0e15/internal/integration) (the contract that has no domain verb). ## Done when The contract carries what an integration needs from the registry (a way to claim, place and release a domain for a resource it owns), the wiki integration uses it, and no integration imports the registry package.
cgalo5758 added the
kind
debt
area/domainsarea/fedwikiarea/integrations
labels 2026-09-21 07:18:14 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: wiki-cafe/member-console#44