generated from coulomb/repo-seed
Some checks failed
ci / validate-registry (push) Has been cancelled
Sync 60 hub URL sources, compose federated index (37 capabilities). Document owner-migration collision policy and per-owner removal plan.
3.6 KiB
3.6 KiB
Federation deduplication plan (post WP-0014 rollout)
Date: 2026-06-16
Trigger: hub sync --merge (60 sources) + federation compose (37 capabilities)
Compose outcome
| Metric | Value |
|---|---|
| Hub sources synced | 60 |
| Federated capability rows | 37 |
| Duplicate ID warnings | 16 |
| Remote fetch failures | 13 (T09 Gitea 404 blockers) |
collision_policy: warn — duplicates are retained with source_repo on each row;
compose does not pick a winner.
Duplicate-ID policy (owner migration)
When a capability's canonical owner repo publishes its own index row:
- Owner repo is source of truth for entry body, maturity, and relations.
- reuse-surface retains a stub only while the owner index is unreachable or discovery from federation is impaired.
- Removal from reuse-surface happens in a separate commit per owner repo
after: owner
publish_check: pass, federation compose shows the owner row, and the owner confirms no agents depend on reuse-surface paths. - Do not delete reuse-surface markdown until the owner index row is live; optional: replace with a one-line redirect note in git history only.
activity-core(capability.activity.event-coordinate): owner index not yet fetchable (Gitea 404) — keep reuse-surface row until publish passes.
Rows to remove from reuse-surface (planned)
| Capability ID | Owner repo | Owner publish | Remove when |
|---|---|---|---|
capability.audit.event-retain |
audit-core |
pass | Owner commit 1 |
capability.authorization.policy-evaluate |
flex-auth |
pass | Owner commit 2 |
capability.feature-control.evaluate |
feature-control |
pass | Owner commit 3 |
capability.feature-control.rollout |
feature-control |
pass | Owner commit 3 |
capability.feature-control.visibility |
feature-control |
pass | Owner commit 3 |
capability.identity.subject-resolution |
identity-canon |
pass | Owner commit 4 |
capability.identity.vocabulary-canonicalize |
identity-canon |
pass | Owner commit 4 |
capability.statehub.progress-log |
state-hub |
pass | Owner commit 5 |
capability.statehub.workstream-coordinate |
state-hub |
pass | Owner commit 5 |
capability.wiki.shard-orchestration |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.adapter-contract |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.page-model |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.coordination-journal |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.overlay |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.federation-models |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.engine-typed-extensions |
shard-wiki |
pass | Owner commit 6 |
capability.wiki.derived-views |
shard-wiki |
pass | Owner commit 6 |
capability.activity.event-coordinate |
activity-core |
fail | After Gitea fix + publish pass |
Keep in reuse-surface: capability.registry.register, capability.registry.validate
(meta-registry capabilities).
Execution order (suggested)
- Fix T09 Gitea 404 repos (operator) so all owner indexes fetch.
- Per-owner PR in
reuse-surface: drop index row + capability markdown for that owner's IDs; runvalidate,federation compose,graph --check. - Re-run
hub sync --mergeif hub URLs change. - Target federated count after dedup: ~21 unique capabilities (37 − 16 duplicates
- empty scaffolds as owners add entries).
Verification commands
reuse-surface hub sync --merge
reuse-surface federation compose
reuse-surface validate --relations
reuse-surface graph --check