# Registry Onboarding Multi-repo onboarding uses an operator-owned manifest to register ecosystem repositories with a running Railiance Fabric registry and to push graph and library inventory when the local checkout has the required inputs. Repo-local declarations remain useful self-description evidence. They should not be treated as the default authority for external fabric membership, ownership, tenant boundaries, or cross-boundary utility relations. Those belong to the accountability-root discovery model described in `docs/FabricDiscoveryAndUpdate.md`. ## Run The Railiance Manifest Start the registry: ```bash railiance-fabric-registry --db .railiance-fabric/registry.sqlite3 --port 8765 ``` Sync the known local Railiance ecosystem repos: ```bash railiance-fabric registry sync-manifest registry/railiance-repos.yaml ``` Sync every active State Hub repo that is available on this local host: ```bash railiance-fabric registry sync-manifest registry/local-repos.yaml ``` Use `--json` for automation and `--strict` when unavailable repos or invalid inputs should fail the command. ## Manifest Shape ```yaml apiVersion: railiance.fabric/v1alpha1 kind: RegistryOnboardingManifest registry_url: http://127.0.0.1:8765 repositories: - slug: railiance-fabric name: railiance-fabric path: .. default_branch: main state_hub_repo_id: 2c0de614-e468-4eb6-8157-470649ac8c05 declaration_paths: - .. sbom: bom.json ``` `path` is the local checkout used for git metadata and default graph discovery. `declaration_paths` is optional; when omitted, the repo path is scanned for a `fabric/` directory. Relative paths are resolved from the manifest file. `sbom` or `sboms` may point to CycloneDX JSON/YAML files. When present, the command ingests them as queryable library inventory after repository registration. ## Onboarding Behavior Each repository entry is registered first. If the checkout is unavailable or has 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. When declarations exist, the command validates them, builds a graph snapshot, and posts it to: ```text POST /repositories/{repo_slug}/snapshots ``` The first Railiance manifest keeps the seed ecosystem graph in `railiance-fabric` and registers adjacent repos as known sources. As discovery roots mature, adjacent repos can contribute local evidence without making each repo responsible for the whole external fabric relation model. `registry/local-repos.yaml` is a broader local-host manifest. It is generated from active State Hub repo records whose local path exists on the current WSL host. It registers cross-domain local repos into the Fabric registry while only syncing graph snapshots for repos that already have Fabric declarations.