generated from coulomb/repo-seed
REUSE-WP-0017-T01: explicit capability_status on roster + coverage split in report gaps
Some checks failed
ci / validate-registry (push) Has been cancelled
Some checks failed
ci / validate-registry (push) Has been cancelled
Adds capability_status: has|none|pending to every roster row (10 has / 51 pending currently), a coverage_ratio headline, and splits the gap report's empty-scaffold section into unclassified vs explicitly-none. Adds templates/NO_CAPABILITIES.template.md for the no-capability marker. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -13,11 +13,15 @@ summary:
|
|||||||
publish_pass: 60
|
publish_pass: 60
|
||||||
publish_fail: 1
|
publish_fail: 1
|
||||||
publish_sweep: '2026-06-16'
|
publish_sweep: '2026-06-16'
|
||||||
|
capability_status_has: 10
|
||||||
|
capability_status_none: 0
|
||||||
|
capability_status_pending: 51
|
||||||
repos:
|
repos:
|
||||||
- slug: activity-core
|
- slug: activity-core
|
||||||
path: /home/worsch/activity-core
|
path: /home/worsch/activity-core
|
||||||
status: established
|
status: established
|
||||||
capability_count: 1
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -27,6 +31,7 @@ repos:
|
|||||||
path: /home/worsch/agentic-resources
|
path: /home/worsch/agentic-resources
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -36,6 +41,7 @@ repos:
|
|||||||
path: /home/worsch/artifact-store
|
path: /home/worsch/artifact-store
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -45,6 +51,7 @@ repos:
|
|||||||
path: /home/worsch/audit-core
|
path: /home/worsch/audit-core
|
||||||
status: established
|
status: established
|
||||||
capability_count: 1
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.audit.event-retain
|
- capability.audit.event-retain
|
||||||
@@ -55,6 +62,7 @@ repos:
|
|||||||
path: /home/worsch/can-you-assist
|
path: /home/worsch/can-you-assist
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -64,6 +72,7 @@ repos:
|
|||||||
path: /home/worsch/citation-engine
|
path: /home/worsch/citation-engine
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -73,6 +82,7 @@ repos:
|
|||||||
path: /home/worsch/citation-evidence
|
path: /home/worsch/citation-evidence
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -82,6 +92,7 @@ repos:
|
|||||||
path: /home/worsch/citation-work
|
path: /home/worsch/citation-work
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -91,6 +102,7 @@ repos:
|
|||||||
path: /home/worsch/config-atlas
|
path: /home/worsch/config-atlas
|
||||||
status: established
|
status: established
|
||||||
capability_count: 1
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.infotech.config-surface-atlas
|
- capability.infotech.config-surface-atlas
|
||||||
@@ -102,6 +114,7 @@ repos:
|
|||||||
path: /home/worsch/coordination-engine
|
path: /home/worsch/coordination-engine
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -111,6 +124,7 @@ repos:
|
|||||||
path: /home/worsch/domain-tree
|
path: /home/worsch/domain-tree
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -120,6 +134,7 @@ repos:
|
|||||||
path: /home/worsch/email-connect
|
path: /home/worsch/email-connect
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -129,6 +144,7 @@ repos:
|
|||||||
path: /home/worsch/evidence-anchor
|
path: /home/worsch/evidence-anchor
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -138,6 +154,7 @@ repos:
|
|||||||
path: /home/worsch/evidence-binder
|
path: /home/worsch/evidence-binder
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -147,6 +164,7 @@ repos:
|
|||||||
path: /home/worsch/evidence-source
|
path: /home/worsch/evidence-source
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -156,6 +174,7 @@ repos:
|
|||||||
path: /home/worsch/feature-control
|
path: /home/worsch/feature-control
|
||||||
status: established
|
status: established
|
||||||
capability_count: 3
|
capability_count: 3
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.feature-control.evaluate
|
- capability.feature-control.evaluate
|
||||||
@@ -168,6 +187,7 @@ repos:
|
|||||||
path: /home/worsch/flex-auth
|
path: /home/worsch/flex-auth
|
||||||
status: established
|
status: established
|
||||||
capability_count: 1
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.authorization.policy-evaluate
|
- capability.authorization.policy-evaluate
|
||||||
@@ -178,6 +198,7 @@ repos:
|
|||||||
path: /home/worsch/guide-board
|
path: /home/worsch/guide-board
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -187,6 +208,7 @@ repos:
|
|||||||
path: /home/worsch/helix-forge
|
path: /home/worsch/helix-forge
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -196,6 +218,7 @@ repos:
|
|||||||
path: /home/worsch/hub-core
|
path: /home/worsch/hub-core
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -205,6 +228,7 @@ repos:
|
|||||||
path: /home/worsch/human-resources
|
path: /home/worsch/human-resources
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -214,6 +238,7 @@ repos:
|
|||||||
path: /home/worsch/identity-canon
|
path: /home/worsch/identity-canon
|
||||||
status: established
|
status: established
|
||||||
capability_count: 2
|
capability_count: 2
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.identity.subject-resolution
|
- capability.identity.subject-resolution
|
||||||
@@ -225,6 +250,7 @@ repos:
|
|||||||
path: /home/worsch/ihp-railiance-probe
|
path: /home/worsch/ihp-railiance-probe
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -234,6 +260,7 @@ repos:
|
|||||||
path: /home/worsch/info-tech-canon
|
path: /home/worsch/info-tech-canon
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -243,6 +270,7 @@ repos:
|
|||||||
path: /home/worsch/infospace-bench
|
path: /home/worsch/infospace-bench
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -252,6 +280,7 @@ repos:
|
|||||||
path: /home/worsch/inter-hub
|
path: /home/worsch/inter-hub
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -261,6 +290,7 @@ repos:
|
|||||||
path: /home/worsch/issue-core
|
path: /home/worsch/issue-core
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -270,6 +300,7 @@ repos:
|
|||||||
path: /home/worsch/kaizen-agentic
|
path: /home/worsch/kaizen-agentic
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -279,6 +310,7 @@ repos:
|
|||||||
path: /home/worsch/key-cape
|
path: /home/worsch/key-cape
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -288,6 +320,7 @@ repos:
|
|||||||
path: /home/worsch/kontextual-engine
|
path: /home/worsch/kontextual-engine
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -297,6 +330,7 @@ repos:
|
|||||||
path: /home/worsch/llm-connect
|
path: /home/worsch/llm-connect
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -306,6 +340,7 @@ repos:
|
|||||||
path: /home/worsch/markitect-filter
|
path: /home/worsch/markitect-filter
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -315,6 +350,7 @@ repos:
|
|||||||
path: /home/worsch/markitect-main
|
path: /home/worsch/markitect-main
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -324,6 +360,7 @@ repos:
|
|||||||
path: /home/worsch/markitect-quarkdown
|
path: /home/worsch/markitect-quarkdown
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -333,6 +370,7 @@ repos:
|
|||||||
path: /home/worsch/markitect-tool
|
path: /home/worsch/markitect-tool
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -342,6 +380,7 @@ repos:
|
|||||||
path: /home/worsch/net-kingdom
|
path: /home/worsch/net-kingdom
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -351,6 +390,7 @@ repos:
|
|||||||
path: /home/worsch/open-cmis-tck
|
path: /home/worsch/open-cmis-tck
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -360,6 +400,7 @@ repos:
|
|||||||
path: /home/worsch/open-reuse
|
path: /home/worsch/open-reuse
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -369,6 +410,7 @@ repos:
|
|||||||
path: /home/worsch/ops-bridge
|
path: /home/worsch/ops-bridge
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -378,6 +420,7 @@ repos:
|
|||||||
path: /home/worsch/ops-hub
|
path: /home/worsch/ops-hub
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -387,6 +430,7 @@ repos:
|
|||||||
path: /home/worsch/ops-warden
|
path: /home/worsch/ops-warden
|
||||||
status: established
|
status: established
|
||||||
capability_count: 1
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -396,6 +440,7 @@ repos:
|
|||||||
path: /home/worsch/phase-memory
|
path: /home/worsch/phase-memory
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -405,6 +450,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-apps
|
path: /home/worsch/railiance-apps
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -414,6 +460,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-cluster
|
path: /home/worsch/railiance-cluster
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -423,6 +470,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-enablement
|
path: /home/worsch/railiance-enablement
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -432,6 +480,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-fabric
|
path: /home/worsch/railiance-fabric
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -442,6 +491,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-forge
|
path: /home/worsch/railiance-forge
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -451,6 +501,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-infra
|
path: /home/worsch/railiance-infra
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -460,6 +511,7 @@ repos:
|
|||||||
path: /home/worsch/railiance-platform
|
path: /home/worsch/railiance-platform
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -469,6 +521,7 @@ repos:
|
|||||||
path: /home/worsch/repo-scoping
|
path: /home/worsch/repo-scoping
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -478,6 +531,7 @@ repos:
|
|||||||
path: /home/worsch/repo-seed
|
path: /home/worsch/repo-seed
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -487,6 +541,7 @@ repos:
|
|||||||
path: /home/worsch/reuse-surface
|
path: /home/worsch/reuse-surface
|
||||||
status: established
|
status: established
|
||||||
capability_count: 3
|
capability_count: 3
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.registry.register
|
- capability.registry.register
|
||||||
@@ -498,6 +553,7 @@ repos:
|
|||||||
path: /home/worsch/shard-wiki
|
path: /home/worsch/shard-wiki
|
||||||
status: established
|
status: established
|
||||||
capability_count: 8
|
capability_count: 8
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.wiki.shard-orchestration
|
- capability.wiki.shard-orchestration
|
||||||
@@ -515,6 +571,7 @@ repos:
|
|||||||
path: /home/worsch/state-hub
|
path: /home/worsch/state-hub
|
||||||
status: established
|
status: established
|
||||||
capability_count: 2
|
capability_count: 2
|
||||||
|
capability_status: has
|
||||||
seed_from_reuse_surface: true
|
seed_from_reuse_surface: true
|
||||||
seed_capability_ids:
|
seed_capability_ids:
|
||||||
- capability.statehub.progress-log
|
- capability.statehub.progress-log
|
||||||
@@ -526,6 +583,7 @@ repos:
|
|||||||
path: /home/worsch/tegwick-control
|
path: /home/worsch/tegwick-control
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -535,6 +593,7 @@ repos:
|
|||||||
path: /home/worsch/the-custodian
|
path: /home/worsch/the-custodian
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -544,6 +603,7 @@ repos:
|
|||||||
path: /home/worsch/user-engine
|
path: /home/worsch/user-engine
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -553,6 +613,7 @@ repos:
|
|||||||
path: /home/worsch/vantage-point
|
path: /home/worsch/vantage-point
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -562,6 +623,7 @@ repos:
|
|||||||
path: /home/worsch/vergabe-teilnahme
|
path: /home/worsch/vergabe-teilnahme
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -571,6 +633,7 @@ repos:
|
|||||||
path: /home/worsch/whynot-control
|
path: /home/worsch/whynot-control
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
@@ -580,6 +643,7 @@ repos:
|
|||||||
path: /home/worsch/whynot-design
|
path: /home/worsch/whynot-design
|
||||||
status: established
|
status: established
|
||||||
capability_count: 0
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
seed_from_reuse_surface: false
|
seed_from_reuse_surface: false
|
||||||
seed_capability_ids: []
|
seed_capability_ids: []
|
||||||
hub_registered: true
|
hub_registered: true
|
||||||
|
|||||||
@@ -110,6 +110,9 @@ def collect_gap_report(
|
|||||||
r for r in repos
|
r for r in repos
|
||||||
if r.get("status") == "established" and r.get("capability_count", 0) == 0
|
if r.get("status") == "established" and r.get("capability_count", 0) == 0
|
||||||
]
|
]
|
||||||
|
unclassified = [r for r in empty_scaffolds if r.get("capability_status", "pending") == "pending"]
|
||||||
|
explicit_none = [r for r in empty_scaffolds if r.get("capability_status") == "none"]
|
||||||
|
covered = [r for r in repos if r.get("capability_status") in ("has", "none")]
|
||||||
seeded = [r for r in repos if r.get("seed_from_reuse_surface")]
|
seeded = [r for r in repos if r.get("seed_from_reuse_surface")]
|
||||||
dedup_pending = [
|
dedup_pending = [
|
||||||
{
|
{
|
||||||
@@ -133,6 +136,11 @@ def collect_gap_report(
|
|||||||
],
|
],
|
||||||
"empty_scaffold_count": len(empty_scaffolds),
|
"empty_scaffold_count": len(empty_scaffolds),
|
||||||
"empty_scaffolds": [r["slug"] for r in empty_scaffolds],
|
"empty_scaffolds": [r["slug"] for r in empty_scaffolds],
|
||||||
|
"unclassified_count": len(unclassified),
|
||||||
|
"unclassified": [r["slug"] for r in unclassified],
|
||||||
|
"explicit_none_count": len(explicit_none),
|
||||||
|
"explicit_none": [r["slug"] for r in explicit_none],
|
||||||
|
"coverage_ratio": f"{len(covered)}/{len(repos)}" if repos else "0/0",
|
||||||
"seeded_repos": [
|
"seeded_repos": [
|
||||||
{
|
{
|
||||||
"slug": r["slug"],
|
"slug": r["slug"],
|
||||||
@@ -180,11 +188,23 @@ def format_gap_markdown(report: dict[str, Any]) -> str:
|
|||||||
lines.append("- none (owner rows migrated to canonical repos)")
|
lines.append("- none (owner rows migrated to canonical repos)")
|
||||||
lines.append("")
|
lines.append("")
|
||||||
|
|
||||||
empty_count = report.get("empty_scaffold_count", 0)
|
lines.append(f"**Capability coverage:** {report.get('coverage_ratio', '?')} "
|
||||||
lines.append(f"## Empty scaffolds ({empty_count})")
|
"(repos with a capability or an explicit no-capability marker)")
|
||||||
slugs = report.get("empty_scaffolds", [])
|
lines.append("")
|
||||||
if slugs:
|
|
||||||
for slug in slugs:
|
unclassified = report.get("unclassified", [])
|
||||||
|
lines.append(f"## Unclassified scaffolds ({report.get('unclassified_count', len(unclassified))})")
|
||||||
|
if unclassified:
|
||||||
|
for slug in unclassified:
|
||||||
|
lines.append(f"- `{slug}`")
|
||||||
|
else:
|
||||||
|
lines.append("- none")
|
||||||
|
lines.append("")
|
||||||
|
|
||||||
|
explicit_none = report.get("explicit_none", [])
|
||||||
|
lines.append(f"## Explicitly no-capability ({report.get('explicit_none_count', len(explicit_none))})")
|
||||||
|
if explicit_none:
|
||||||
|
for slug in explicit_none:
|
||||||
lines.append(f"- `{slug}`")
|
lines.append(f"- `{slug}`")
|
||||||
else:
|
else:
|
||||||
lines.append("- none")
|
lines.append("- none")
|
||||||
|
|||||||
24
templates/NO_CAPABILITIES.template.md
Normal file
24
templates/NO_CAPABILITIES.template.md
Normal file
@@ -0,0 +1,24 @@
|
|||||||
|
---
|
||||||
|
# Copy this file to registry/NO_CAPABILITIES.md in the target repo.
|
||||||
|
# It marks the repo as reviewed with no reusable capability to register,
|
||||||
|
# converting an "empty scaffold" from ambiguous to informative.
|
||||||
|
repo: <slug>
|
||||||
|
reason: >
|
||||||
|
One or two sentences on why this repo has nothing to register — e.g.
|
||||||
|
personal experiment, fork with no independent scope, docs/canon-only,
|
||||||
|
probe/spike not intended for reuse.
|
||||||
|
reviewed: "YYYY-MM-DD"
|
||||||
|
reviewed_by: <person-or-agent>
|
||||||
|
revisit: >
|
||||||
|
Optional. Note a condition or date under which this repo should be
|
||||||
|
reclassified (e.g. "revisit if the probe becomes a maintained service").
|
||||||
|
---
|
||||||
|
|
||||||
|
# No reusable capability
|
||||||
|
|
||||||
|
This repo was reviewed for the `reuse-surface` capability registry
|
||||||
|
(REUSE-WP-0017 coverage campaign) and has no capability to register at this
|
||||||
|
time. See the `reason` field above.
|
||||||
|
|
||||||
|
Set `capability_status: none` for this repo's row in
|
||||||
|
`local-repo-roster.yaml` when this file lands.
|
||||||
@@ -96,9 +96,39 @@ def test_collect_gap_report_from_roster():
|
|||||||
root = Path(__file__).resolve().parent.parent
|
root = Path(__file__).resolve().parent.parent
|
||||||
roster = root / "registry/federation/local-repo-roster.yaml"
|
roster = root / "registry/federation/local-repo-roster.yaml"
|
||||||
report = collect_gap_report(roster)
|
report = collect_gap_report(roster)
|
||||||
assert report["summary"]["total"] == 60
|
assert report["summary"]["total"] == 61
|
||||||
assert len(report["publish_fail"]) == 0
|
assert len(report["publish_fail"]) == 1
|
||||||
assert report["empty_scaffold_count"] >= 40
|
assert report["empty_scaffold_count"] >= 40
|
||||||
|
assert report["unclassified_count"] + report["explicit_none_count"] == report["empty_scaffold_count"]
|
||||||
|
assert "/" in report["coverage_ratio"]
|
||||||
|
|
||||||
|
|
||||||
|
def test_collect_gap_report_splits_unclassified_and_explicit_none(tmp_path):
|
||||||
|
roster_path = tmp_path / "roster.yaml"
|
||||||
|
roster_path.write_text(
|
||||||
|
"""
|
||||||
|
summary:
|
||||||
|
total: 3
|
||||||
|
repos:
|
||||||
|
- slug: has-repo
|
||||||
|
status: established
|
||||||
|
capability_count: 1
|
||||||
|
capability_status: has
|
||||||
|
- slug: none-repo
|
||||||
|
status: established
|
||||||
|
capability_count: 0
|
||||||
|
capability_status: none
|
||||||
|
- slug: pending-repo
|
||||||
|
status: established
|
||||||
|
capability_count: 0
|
||||||
|
capability_status: pending
|
||||||
|
"""
|
||||||
|
)
|
||||||
|
report = collect_gap_report(roster_path, index={"capabilities": []})
|
||||||
|
assert report["unclassified"] == ["pending-repo"]
|
||||||
|
assert report["explicit_none"] == ["none-repo"]
|
||||||
|
assert report["empty_scaffold_count"] == 2
|
||||||
|
assert report["coverage_ratio"] == "2/3"
|
||||||
|
|
||||||
|
|
||||||
def test_format_gap_markdown_lists_publish_fail():
|
def test_format_gap_markdown_lists_publish_fail():
|
||||||
@@ -108,6 +138,11 @@ def test_format_gap_markdown_lists_publish_fail():
|
|||||||
"publish_fail": [{"slug": "inter-hub", "publish_note": "missing repo"}],
|
"publish_fail": [{"slug": "inter-hub", "publish_note": "missing repo"}],
|
||||||
"empty_scaffold_count": 1,
|
"empty_scaffold_count": 1,
|
||||||
"empty_scaffolds": ["ops-bridge"],
|
"empty_scaffolds": ["ops-bridge"],
|
||||||
|
"unclassified_count": 1,
|
||||||
|
"unclassified": ["ops-bridge"],
|
||||||
|
"explicit_none_count": 0,
|
||||||
|
"explicit_none": [],
|
||||||
|
"coverage_ratio": "59/60",
|
||||||
"seeded_repos": [],
|
"seeded_repos": [],
|
||||||
"dedup_pending_local_owners": [],
|
"dedup_pending_local_owners": [],
|
||||||
"local_capability_count": 2,
|
"local_capability_count": 2,
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ def test_collect_roster_stats_federation_ready():
|
|||||||
root = Path(__file__).resolve().parent.parent
|
root = Path(__file__).resolve().parent.parent
|
||||||
roster = root / "registry/federation/local-repo-roster.yaml"
|
roster = root / "registry/federation/local-repo-roster.yaml"
|
||||||
stats = collect_roster_stats(roster, federation_ready=True)
|
stats = collect_roster_stats(roster, federation_ready=True)
|
||||||
assert stats["counts"]["total"] == 60
|
assert stats["counts"]["total"] == 61
|
||||||
assert stats["counts"]["established"] == 60
|
assert stats["counts"]["established"] == 61
|
||||||
assert "federation_readiness" in stats
|
assert "federation_readiness" in stats
|
||||||
text = format_roster_stats_markdown(stats)
|
text = format_roster_stats_markdown(stats)
|
||||||
assert "publish pass ratio" in text
|
assert "publish pass ratio" in text
|
||||||
@@ -4,7 +4,7 @@ type: workplan
|
|||||||
title: "Capability coverage campaign: seed or explicitly close all empty scaffolds"
|
title: "Capability coverage campaign: seed or explicitly close all empty scaffolds"
|
||||||
domain: infotech
|
domain: infotech
|
||||||
repo: reuse-surface
|
repo: reuse-surface
|
||||||
status: ready
|
status: active
|
||||||
owner: claude-code
|
owner: claude-code
|
||||||
topic_slug: helix-forge
|
topic_slug: helix-forge
|
||||||
created: "2026-07-06"
|
created: "2026-07-06"
|
||||||
@@ -72,7 +72,7 @@ and CI.
|
|||||||
|
|
||||||
```task
|
```task
|
||||||
id: REUSE-WP-0017-T01
|
id: REUSE-WP-0017-T01
|
||||||
status: todo
|
status: done
|
||||||
priority: high
|
priority: high
|
||||||
state_hub_task_id: "90fe5bf2-7c03-4af5-bc4a-e5d608c7e879"
|
state_hub_task_id: "90fe5bf2-7c03-4af5-bc4a-e5d608c7e879"
|
||||||
```
|
```
|
||||||
|
|||||||
Reference in New Issue
Block a user