Files
railiance-fabric/README.md

157 lines
5.2 KiB
Markdown

# Railiance Fabric
Railiance Fabric models the durable infrastructure-responsibility graph of the
Railiance netkingdom.
Fabric is bounded by financial and operational accountability: who pays for the
infrastructure, who is accountable for keeping it alive, and which durable
interfaces create value across fabric and subfabric boundaries.
It holds schemas, discovery tools, registry services, graph queries, and State
Hub export contracts for services, machines, repositories, deployables,
endpoints, ownership, dependencies, and bindings across Railiance deployment
realities.
See `docs/FabricDiscoveryAndUpdate.md` for the current architecture direction
for fabric boundaries, king/lord/tenant ownership, discovery, rebuilds, and
update loops.
## Validate Declarations
From a checkout with the Python dependencies installed:
```bash
railiance-fabric validate .
```
During early bootstrapping, the local module entry point works too:
```bash
PYTHONPATH=. python -m railiance_fabric.cli validate .
```
The validator loads `fabric/` declarations, checks schema conformance, verifies
catalog type names, catches missing references/providers, checks active
production dependency source links, and warns about dependency cycles.
## Query The Graph
```bash
railiance-fabric providers runtime-secrets
railiance-fabric consumers railiance-platform.openbao.kv-v2
railiance-fabric dependency-path flex-auth.api
railiance-fabric unresolved
railiance-fabric blast-radius openbao-kv-v2-mount
railiance-fabric export --format json
railiance-fabric export --format mermaid
railiance-fabric export --format graph-explorer
railiance-fabric export --format financial
```
See `docs/discovery-queries.md` for command details.
## Financial Fabric Baseline
The current financial Fabric model starts from
`fabric/financial/railiance-netkingdom.yaml`. It defines the Railiance
netkingdom, the king, the current lord, the one active Railiance fabric, and
the default ownership rules used while Railiance still has one effective payer.
`railiance-fabric export --format financial` projects the current accepted
legacy graph into the `railiance.fabric/v1alpha2` / `financial-fabric-v1`
contract. Repo-local `fabric/` declarations remain useful evidence and
bootstrap data; they are not the long-term authority for external deployment,
ownership, tenant, or utility relations.
See `docs/financial-fabric-operator-guide.md` for the reset/rebuild refresh
loop and State Hub handoff.
## Adopt In Another Repo
See `docs/adoption-guide.md` for the legacy declaration workflow and
`docs/first-rollout.md` for the initial Railiance repo rollout. Treat
repo-local declarations as self-description and discovery evidence. Financial
fabric membership, ownership, and cross-boundary utility relations are owned by
the accountability-root discovery model described in
`docs/FabricDiscoveryAndUpdate.md`.
## Next: Ecosystem Registry Service
See `docs/ecosystem-registry-service.md` for the standards comparison and
service direction for registering repos and interacting with the combined
ecosystem model. See `docs/registry-api.md` for the current registry HTTP API.
List available Make targets from the repo root:
```bash
make
```
Start the first registry service slice and graph explorer explicitly:
```bash
make graph-explorer
```
The target serves `http://127.0.0.1:8765/ui/graph-explorer` by default. Override
`PORT`, `HOST`, or `REGISTRY_DB` if the local port or database path differs.
Equivalent raw command:
```bash
railiance-fabric-registry --db .railiance-fabric/registry.sqlite3 --port 8765
```
The initial service exposes repository registration, graph snapshot ingestion,
artifact attachment, graph query endpoints, State Hub export, and early
Backstage/xRegistry projection endpoints. It stores snapshots in SQLite and
reuses the Fabric graph export shape.
Feed the running service from this checkout:
```bash
railiance-fabric registry sync --repo-slug railiance-fabric .
```
Or register and sync the known local Railiance ecosystem repos from the
onboarding manifest:
```bash
railiance-fabric registry sync-manifest registry/railiance-repos.yaml
```
To onboard every active State Hub repo with an available local checkout on this
host:
```bash
railiance-fabric registry sync-manifest registry/local-repos.yaml
```
Ingest a CycloneDX SBOM as queryable library inventory:
```bash
railiance-fabric registry ingest-cyclonedx bom.json --repo-slug railiance-fabric
```
Useful inspection endpoints include:
```text
GET /repositories/{repo_slug}/inventory
GET /repositories/{repo_slug}/snapshots
GET /repositories/{repo_slug}/snapshots/diff
GET /search?q=jsonschema
GET /ui/graph-explorer
GET /exports/graph-explorer/manifest
GET /exports/graph-explorer
```
See `docs/registry-onboarding.md` for the multi-repo manifest and operating
loop.
The graph explorer export is the first executable slice of the interactive
Fabric map. See `docs/graph-explorer-transfer-review.md` for the repo-scoping
transfer review, `docs/graph-explorer-contract.md` for the shared manifest and
payload contract, `docs/semantic-attractors.md` for the attractor-based layout
orientation concept, and `docs/graph-explorer-operations.md` for launch,
refresh, verification, and extraction guidance.