Project repo-family relations from local declarations
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s

This commit is contained in:
codex 2026-07-26 08:51:29 +02:00
parent 1d8f59f1de
commit 9af9ee3e72
13 changed files with 671 additions and 28 deletions

View file

@ -51,7 +51,9 @@ repositories:
sbom: bom.json
```
`path` is the local checkout used for git metadata and default graph discovery.
`path` is the local checkout used for git metadata, default graph discovery,
and repo-family relation projection when the registry later needs to reopen
repo-local `rail`, `rapp`, or `reef` files.
`declaration_paths` is optional; when omitted, the repo path is scanned for a
`fabric/` directory. Relative paths are resolved from the manifest file.
@ -68,7 +70,7 @@ The following repo-family metadata fields are also optional:
declared
- `supported_rails`: array of supported rail ids for `rapp-*` repos
- `substrate_kind`: grouped substrate category such as `server`,
`workstation-group`, or `cluster`
`server-group`, `workstation-group`, or `cluster`
`sbom` or `sboms` may point to CycloneDX JSON/YAML files. When present, the
command ingests them as queryable library inventory after repository
@ -81,6 +83,12 @@ no Fabric declarations yet, the command leaves the repo registered and reports a
warning. This lets the registry represent known repos before every repo has
published local evidence.
For `rail-*`, `rapp-*`, and `reef-*` repos, registration-only entries still
matter: the registry stores the checkout path and repo-family metadata, and the
graph export can use the conventional repo-local declaration files to project
first-wave `governed_by`, `supports_rail`, `hosts_rail`, and `binds_rapp`
edges even when the repo does not yet publish native Fabric declarations.
When declarations exist, the command validates them, builds a graph snapshot,
and posts it to: