diff --git a/docs/accountability-root-manifest.md b/docs/accountability-root-manifest.md index 95a3a63..0434531 100644 --- a/docs/accountability-root-manifest.md +++ b/docs/accountability-root-manifest.md @@ -70,6 +70,12 @@ fabric by adding a tenant actor, a `Subfabric`, and subfabric-scoped discovery roots. This does not change the root fabric criterion: the fabric boundary still rests on financial and operational accountability. +`owner_actor_id` on a discovery root describes the default owner to attach to +identity candidates discovered through that root. For ordinary repositories, +deployment files, and host-path evidence this should be the lord who pays for +the fabric. King authority remains modeled on the netkingdom and on roots that +represent recovery, secret, backup, or termination authority. + Discovery roots should state `safe_discovery` explicitly. Secret and backup roots should use `metadata_only` or `explicit_review`; adapters must never read secret values or operational telemetry while building Fabric graph evidence. diff --git a/docs/financial-fabric-operator-guide.md b/docs/financial-fabric-operator-guide.md index e87e937..6cf107f 100644 --- a/docs/financial-fabric-operator-guide.md +++ b/docs/financial-fabric-operator-guide.md @@ -84,6 +84,28 @@ railiance-fabric discover-roots --delta \ --previous-ownership-review previous-ownership.json ``` +The current bootstrap artifacts live at: + +```text +fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-identities.json +fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-ownership-review.json +fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-update-delta.json +exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json +``` + +To refresh the same artifact set: + +```bash +railiance-fabric discover-roots --include-remote --max-items-per-root 200 \ + --identity-projection > fabric/discovery/snapshots/YYYY-MM-DD-railiance-bootstrap-identities.json +railiance-fabric discover-roots --include-remote --max-items-per-root 200 \ + --ownership-review > fabric/discovery/snapshots/YYYY-MM-DD-railiance-bootstrap-ownership-review.json +railiance-fabric discover-roots --include-remote --max-items-per-root 200 \ + --delta > fabric/discovery/snapshots/YYYY-MM-DD-railiance-bootstrap-update-delta.json +railiance-fabric export --format financial . \ + > exports/state-hub/YYYY-MM-DD-railiance-financial-fabric-v1.json +``` + The financial export must satisfy these invariants: - every accepted node has resolvable ownership; @@ -144,6 +166,25 @@ Hub graph import. The importer must preserve netkingdom, actors, fabrics, containment, ownership, accounting attribution, cross-boundary utility context, and unresolved gaps. +To import a saved financial export into State Hub: + +```bash +curl -s -X POST \ + "http://127.0.0.1:8000/fabric/graph-exports?source_repo_slug=railiance-fabric" \ + -H "Content-Type: application/json" \ + --data-binary @exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json +``` + +If the `/fabric/graph-exports` endpoints return `500` while ordinary State Hub +routes work, run the State Hub migrations and retry: + +```bash +cd ~/state-hub +make migrate +# or, when uv is not on PATH: +.venv/bin/alembic upgrade head +``` + ## Discovery Work Handoff The next discovery/update-loop work should replace the baseline projection with diff --git a/exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json b/exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json new file mode 100644 index 0000000..0154692 --- /dev/null +++ b/exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json @@ -0,0 +1,3572 @@ +{ + "actors": [ + { + "authority": { + "backup_authority": true, + "recovery_authority": true, + "secrets_authority": true, + "termination_authority": true + }, + "description": "Responsible for the Railiance netkingdom and recovery authority.", + "id": "actor.railiance.king", + "kind": "FabricActor", + "name": "Railiance King", + "role": "king" + }, + { + "description": "Pays for the current Railiance infrastructure boundary.", + "id": "actor.railiance.primary-lord", + "kind": "FabricActor", + "name": "Railiance Primary Lord", + "role": "lord" + } + ], + "apiVersion": "railiance.fabric/v1alpha2", + "compatibility": { + "breaking_reset": false, + "legacy_v1alpha1_supported": true, + "projected_from_apiVersion": "railiance.fabric/v1alpha1" + }, + "edges": [ + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.storage-service", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "artifact-store.object-storage", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.storage-service", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "artifact-store.object-storage.credentials", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.storage-service", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "artifact-store.object-storage.bucket", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.storage-service", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "artifact-store.object-storage.sts", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.authorization-decisions", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "flex-auth.api.http-api", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "flex-auth.api.policy-package", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.topaz", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.topaz.authorization-runtime", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.topaz", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "flex-auth.topaz.http-api", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "key-cape.iam-profile", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "key-cape.iam-profile.issuer", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "key-cape.iam-profile", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "key-cape.iam-profile.http-api", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "key-cape.iam-profile", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "key-cape.iam-profile.oidc-discovery", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "net-kingdom.iam-profile", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "net-kingdom.iam-profile.issuer", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "net-kingdom.iam-profile", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "net-kingdom.iam-profile.oidc-discovery", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-fabric.registry", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-fabric.registry.ecosystem-registry", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-fabric.registry", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-fabric.registry.http-api", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-fabric.registry", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-fabric.registry.graph-explorer-ui", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.cnpg", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.cnpg.postgresql", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.cnpg", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-platform.cnpg.database-connection", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.openbao", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.runtime-secrets", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.openbao", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-platform.openbao.kv-v2", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.openbao", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-platform.openbao.database-roles", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.valkey", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.valkey.cache", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.valkey", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "railiance-platform.valkey.database-connection", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "repo-scoping.scope-generator", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "repo-scoping.scope-generation", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "repo-scoping.scope-generator", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "repo-scoping.scope-generator.cli", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "implements", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "the-custodian.state-hub.coordination", + "type": "provides" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub", + "mapping_fit": "direct", + "relationship_category": "technical", + "to": "the-custodian.state-hub.http-api", + "type": "exposes" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.object-storage.credentials", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "artifact-store.object-storage.sts", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.object-storage", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "artifact-store.object-storage.bucket", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.authorization-decisions", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.http-api", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.authorization-decisions", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.policy-package", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.topaz.authorization-runtime", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.topaz.http-api", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "key-cape.iam-profile.issuer", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "key-cape.iam-profile.http-api", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "key-cape.iam-profile.issuer", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "key-cape.iam-profile.oidc-discovery", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "net-kingdom.iam-profile.issuer", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "net-kingdom.iam-profile.oidc-discovery", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-fabric.registry.ecosystem-registry", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-fabric.registry.http-api", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-fabric.registry.ecosystem-registry", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-fabric.registry.graph-explorer-ui", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.cnpg.postgresql", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.cnpg.database-connection", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.openbao.runtime-secrets", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.kv-v2", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "railiance-platform.valkey.cache", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.valkey.database-connection", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "repo-scoping.scope-generation", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "repo-scoping.scope-generator.cli", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/network", + "canonical_type": "exposes", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub.coordination", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "the-custodian.state-hub.http-api", + "type": "available_via" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.storage-service", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "artifact-store.object-storage.needs-runtime-secrets", + "type": "consumes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.object-storage.needs-runtime-secrets", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.runtime-secrets", + "type": "binds:compatible" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "artifact-store.object-storage.needs-runtime-secrets", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.kv-v2", + "type": "uses_interface" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.needs-iam-profile", + "type": "consumes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-iam-profile", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "key-cape.iam-profile.issuer", + "type": "binds:compatible" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-iam-profile", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "key-cape.iam-profile.oidc-discovery", + "type": "uses_interface" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.needs-runtime-secrets", + "type": "consumes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-runtime-secrets", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.runtime-secrets", + "type": "binds:exact" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-runtime-secrets", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.openbao.kv-v2", + "type": "uses_interface" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.api.needs-topaz-runtime", + "type": "consumes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-topaz-runtime", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.topaz.authorization-runtime", + "type": "binds:exact" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "flex-auth.api.needs-topaz-runtime", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "flex-auth.topaz.http-api", + "type": "uses_interface" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "the-custodian.state-hub.needs-postgresql", + "type": "consumes" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub.needs-postgresql", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.cnpg.postgresql", + "type": "binds:compatible" + }, + { + "attributes": {}, + "canon_anchor": "model/landscape", + "canonical_type": "depends_on", + "display_only": false, + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "from": "the-custodian.state-hub.needs-postgresql", + "mapping_fit": "partial", + "relationship_category": "technical", + "to": "railiance-platform.cnpg.database-connection", + "type": "uses_interface" + } + ], + "fabrics": [ + { + "boundary": { + "boundary_type": "fabric", + "criterion": "financial_and_operational_accountability", + "operational_responsibility": "actor.railiance.king", + "payment_responsibility": "actor.railiance.primary-lord", + "recovery_responsibility": "actor.railiance.king" + }, + "evidence_refs": [], + "id": "fabric.railiance.primary", + "kind": "Fabric", + "lord_actor_id": "actor.railiance.primary-lord", + "name": "Railiance Primary Fabric", + "netkingdom_id": "railiance.netkingdom", + "parent_fabric_id": null, + "status": "active" + } + ], + "generated_at": "2026-05-24T08:34:41Z", + "kind": "FabricGraphExport", + "netkingdom": { + "id": "railiance.netkingdom", + "king_actor_id": "actor.railiance.king", + "name": "Railiance Netkingdom" + }, + "nodes": [ + { + "attributes": { + "dependency_id": "artifact-store.object-storage.needs-runtime-secrets", + "description": "", + "owner": "artifact-store", + "provider_capability_id": "railiance-platform.openbao.runtime-secrets", + "provider_interface_id": "railiance-platform.openbao.kv-v2", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/bindings/artifact-store-runtime-secrets-openbao.yaml", + "status": "compatible" + }, + "canon_anchor": "model/observability", + "canon_category": "evidence", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage.runtime-secrets-to-openbao", + "kind": "BindingAssertion", + "lifecycle": "planned", + "mapping_fit": "partial", + "name": "artifact-store runtime secrets binding", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "dependency_id": "flex-auth.api.needs-iam-profile", + "description": "", + "owner": "flex-auth", + "provider_capability_id": "key-cape.iam-profile.issuer", + "provider_interface_id": "key-cape.iam-profile.oidc-discovery", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/bindings/flex-auth-iam-profile-key-cape.yaml", + "status": "compatible" + }, + "canon_anchor": "model/observability", + "canon_category": "evidence", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.iam-profile-to-key-cape", + "kind": "BindingAssertion", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth IAM Profile binding", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "dependency_id": "flex-auth.api.needs-runtime-secrets", + "description": "", + "owner": "flex-auth", + "provider_capability_id": "railiance-platform.openbao.runtime-secrets", + "provider_interface_id": "railiance-platform.openbao.kv-v2", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/bindings/flex-auth-runtime-secrets-openbao.yaml", + "status": "exact" + }, + "canon_anchor": "model/observability", + "canon_category": "evidence", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.runtime-secrets-to-openbao", + "kind": "BindingAssertion", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth runtime secrets binding", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "dependency_id": "flex-auth.api.needs-topaz-runtime", + "description": "", + "owner": "flex-auth", + "provider_capability_id": "flex-auth.topaz.authorization-runtime", + "provider_interface_id": "flex-auth.topaz.http-api", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/bindings/flex-auth-topaz-runtime.yaml", + "status": "exact" + }, + "canon_anchor": "model/observability", + "canon_category": "evidence", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.topaz-runtime-binding", + "kind": "BindingAssertion", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth Topaz runtime binding", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "dependency_id": "the-custodian.state-hub.needs-postgresql", + "description": "", + "owner": "the-custodian", + "provider_capability_id": "railiance-platform.cnpg.postgresql", + "provider_interface_id": "railiance-platform.cnpg.database-connection", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/bindings/state-hub-postgresql-cnpg.yaml", + "status": "compatible" + }, + "canon_anchor": "model/observability", + "canon_category": "evidence", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "the-custodian.state-hub.postgresql-to-cnpg", + "kind": "BindingAssertion", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "State Hub PostgreSQL binding", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "the-custodian" + }, + { + "attributes": { + "capability_type": "object-storage", + "description": "Planned object storage for artifacts and workload data.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "artifact-store.object-storage.bucket" + ], + "owner": "artifact-store", + "service_id": "artifact-store.storage-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/artifact-store-object-storage.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage", + "kind": "CapabilityDeclaration", + "lifecycle": "planned", + "mapping_fit": "partial", + "name": "Object storage", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "capability_type": "object-storage-credential-vending", + "description": "Planned scoped credential vending for object-storage access.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "artifact-store.object-storage.sts" + ], + "owner": "artifact-store", + "service_id": "artifact-store.storage-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/artifact-store-object-storage-credentials.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage.credentials", + "kind": "CapabilityDeclaration", + "lifecycle": "planned", + "mapping_fit": "partial", + "name": "Object-storage credential vending", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "capability_type": "authorization-decision-service", + "description": "Evaluates Railiance authorization requests and returns decision envelopes.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "flex-auth.api.http-api", + "flex-auth.api.policy-package" + ], + "owner": "flex-auth", + "service_id": "flex-auth.api", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/flex-auth-api-authorization-decisions.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.authorization-decisions", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth authorization decisions", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "capability_type": "authorization-decision-service", + "description": "Delegated PDP runtime used for authorization policy evaluation.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "flex-auth.topaz.http-api" + ], + "owner": "flex-auth", + "service_id": "flex-auth.topaz", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/flex-auth-topaz-authorization-runtime.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.topaz.authorization-runtime", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Topaz authorization runtime", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "capability_type": "iam-profile-issuer", + "description": "Implements IAM Profile claim serving for Railiance workloads.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "key-cape.iam-profile.http-api", + "key-cape.iam-profile.oidc-discovery" + ], + "owner": "key-cape", + "service_id": "key-cape.iam-profile", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/key-cape-iam-profile-issuer.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "key-cape.iam-profile.issuer", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "key-cape IAM Profile issuer", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "key-cape" + }, + { + "attributes": { + "capability_type": "iam-profile-issuer", + "description": "Defines the IAM Profile identity claims contract for Railiance.", + "environments": [ + "all" + ], + "interface_ids": [ + "net-kingdom.iam-profile.oidc-discovery" + ], + "owner": "net-kingdom", + "service_id": "net-kingdom.iam-profile", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/net-kingdom-iam-profile-issuer.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "net-kingdom.iam-profile.issuer", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "NetKingdom IAM Profile issuer", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "net-kingdom" + }, + { + "attributes": { + "capability_type": "ecosystem-registry", + "description": "Registers repositories, ingests Fabric graph snapshots and library inventory, and exposes registry projections for discovery, State Hub export, xRegistry, and the interactive Fabric map.", + "environments": [ + "dev" + ], + "interface_ids": [ + "railiance-fabric.registry.http-api", + "railiance-fabric.registry.graph-explorer-ui" + ], + "owner": "railiance-fabric", + "service_id": "railiance-fabric.registry", + "source_links": [ + { + "label": "Registry store", + "path": "railiance_fabric/registry.py" + }, + { + "label": "Registry API docs", + "path": "docs/registry-api.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/railiance-fabric-ecosystem-registry.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-fabric.registry.ecosystem-registry", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Railiance ecosystem registry", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-fabric" + }, + { + "attributes": { + "capability_type": "postgresql-database-service", + "description": "Provides PostgreSQL databases and connection endpoints.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "railiance-platform.cnpg.database-connection" + ], + "owner": "railiance-platform", + "service_id": "railiance-platform.cnpg", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/railiance-platform-cnpg-postgresql.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.cnpg.postgresql", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "CloudNativePG PostgreSQL", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "capability_type": "runtime-secrets", + "description": "Stores and serves workload runtime secrets through OpenBao.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "railiance-platform.openbao.kv-v2" + ], + "owner": "railiance-platform", + "service_id": "railiance-platform.openbao", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/railiance-platform-openbao-runtime-secrets.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.openbao.runtime-secrets", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Runtime secrets", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "capability_type": "redis-compatible-cache", + "description": "Provides Redis-compatible cache storage.", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_ids": [ + "railiance-platform.valkey.database-connection" + ], + "owner": "railiance-platform", + "service_id": "railiance-platform.valkey", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/railiance-platform-valkey-cache.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.valkey.cache", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Valkey cache", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "capability_type": "scope-generation", + "description": "Generates repo scope, boundary, and usefulness descriptions.", + "environments": [ + "all" + ], + "interface_ids": [ + "repo-scoping.scope-generator.cli" + ], + "owner": "repo-scoping", + "service_id": "repo-scoping.scope-generator", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/repo-scoping-scope-generation.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "repo-scoping.scope-generation", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Repo scope generation", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "repo-scoping" + }, + { + "attributes": { + "capability_type": "coordination-read-model", + "description": "Exposes repo, workstream, task, decision, and progress state for coordination.", + "environments": [ + "all" + ], + "interface_ids": [ + "the-custodian.state-hub.http-api" + ], + "owner": "the-custodian", + "service_id": "the-custodian.state-hub", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/capabilities/the-custodian-state-hub-coordination.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "software-system", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "the-custodian.state-hub.coordination", + "kind": "CapabilityDeclaration", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "State Hub coordination read model", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "the-custodian" + }, + { + "attributes": { + "consumer_service_id": "artifact-store.storage-service", + "criticality": "high", + "description": "", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "openbao-kv-v2-mount", + "owner": "artifact-store", + "requires_capability_id": "", + "requires_capability_type": "runtime-secrets", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/dependencies/artifact-store-object-storage-runtime-secrets.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage.needs-runtime-secrets", + "kind": "DependencyDeclaration", + "lifecycle": "planned", + "mapping_fit": "gap", + "name": "artifact-store runtime secrets dependency", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "consumer_service_id": "flex-auth.api", + "criticality": "critical", + "description": "", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "oidc-discovery", + "owner": "flex-auth", + "requires_capability_id": "", + "requires_capability_type": "iam-profile-issuer", + "source_links": [ + { + "label": "Seed dependency declaration", + "path": "fabric/README.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/dependencies/flex-auth-api-iam-profile.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.needs-iam-profile", + "kind": "DependencyDeclaration", + "lifecycle": "active", + "mapping_fit": "gap", + "name": "flex-auth IAM Profile dependency", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "consumer_service_id": "flex-auth.api", + "criticality": "critical", + "description": "", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "openbao-kv-v2-mount", + "owner": "flex-auth", + "requires_capability_id": "", + "requires_capability_type": "runtime-secrets", + "source_links": [ + { + "label": "Seed dependency declaration", + "path": "fabric/README.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/dependencies/flex-auth-api-runtime-secrets.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.needs-runtime-secrets", + "kind": "DependencyDeclaration", + "lifecycle": "active", + "mapping_fit": "gap", + "name": "flex-auth runtime secrets dependency", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "consumer_service_id": "flex-auth.api", + "criticality": "high", + "description": "", + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "http-api", + "owner": "flex-auth", + "requires_capability_id": "flex-auth.topaz.authorization-runtime", + "requires_capability_type": "authorization-decision-service", + "source_links": [ + { + "label": "Seed dependency declaration", + "path": "fabric/README.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/dependencies/flex-auth-api-topaz-runtime.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.needs-topaz-runtime", + "kind": "DependencyDeclaration", + "lifecycle": "active", + "mapping_fit": "gap", + "name": "flex-auth Topaz runtime dependency", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "consumer_service_id": "the-custodian.state-hub", + "criticality": "critical", + "description": "", + "environments": [ + "all" + ], + "interface_type": "database-connection", + "owner": "the-custodian", + "requires_capability_id": "railiance-platform.cnpg.postgresql", + "requires_capability_type": "postgresql-database-service", + "source_links": [ + { + "label": "Seed dependency declaration", + "path": "fabric/README.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/dependencies/the-custodian-state-hub-postgresql.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "the-custodian.state-hub.needs-postgresql", + "kind": "DependencyDeclaration", + "lifecycle": "active", + "mapping_fit": "gap", + "name": "State Hub PostgreSQL dependency", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "the-custodian" + }, + { + "attributes": { + "auth": { + "method": "sts_token" + }, + "capability_ids": [ + "artifact-store.object-storage" + ], + "description": "Bucket and object layout contract for artifact storage.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "object-storage-bucket", + "owner": "artifact-store", + "service_id": "artifact-store.storage-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/artifact-store-object-storage-bucket.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage.bucket", + "kind": "UtilityInterface", + "lifecycle": "planned", + "mapping_fit": "partial", + "name": "artifact-store object bucket", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "auth": { + "method": "oidc" + }, + "capability_ids": [ + "artifact-store.object-storage.credentials" + ], + "description": "Temporary scoped credential vending interface for object storage.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "sts-token", + "owner": "artifact-store", + "service_id": "artifact-store.storage-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/artifact-store-object-storage-sts.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.object-storage.sts", + "kind": "UtilityInterface", + "lifecycle": "planned", + "mapping_fit": "partial", + "name": "artifact-store STS credential endpoint", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "auth": { + "method": "oidc" + }, + "capability_ids": [ + "flex-auth.api.authorization-decisions" + ], + "description": "HTTP API for authorization decision requests.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "http-api", + "owner": "flex-auth", + "service_id": "flex-auth.api", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/flex-auth-api-http-api.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.http-api", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth decision HTTP API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "auth": { + "method": "oidc" + }, + "capability_ids": [ + "flex-auth.api.authorization-decisions" + ], + "description": "Versioned authorization policy package consumed by PDP runtimes.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "policy-package", + "owner": "flex-auth", + "service_id": "flex-auth.api", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/flex-auth-api-policy-package.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api.policy-package", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "flex-auth policy package", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "auth": { + "method": "oidc" + }, + "capability_ids": [ + "flex-auth.topaz.authorization-runtime" + ], + "description": "HTTP interface for delegated Topaz authorization decisions.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "http-api", + "owner": "flex-auth", + "service_id": "flex-auth.topaz", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/flex-auth-topaz-http-api.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.topaz.http-api", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Topaz decision HTTP API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "auth": { + "method": "oidc" + }, + "capability_ids": [ + "key-cape.iam-profile.issuer" + ], + "description": "HTTP API for IAM Profile lookup and claim serving.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "http-api", + "owner": "key-cape", + "service_id": "key-cape.iam-profile", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/key-cape-iam-profile-http-api.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "key-cape.iam-profile.http-api", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "key-cape IAM Profile HTTP API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "key-cape" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "key-cape.iam-profile.issuer" + ], + "description": "OIDC discovery metadata for IAM Profile claims.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "oidc-discovery", + "owner": "key-cape", + "service_id": "key-cape.iam-profile", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/key-cape-iam-profile-oidc-discovery.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "key-cape.iam-profile.oidc-discovery", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "key-cape OIDC discovery", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "key-cape" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "net-kingdom.iam-profile.issuer" + ], + "description": "OIDC discovery contract for IAM Profile identity architecture.", + "endpoint": {}, + "environments": [ + "all" + ], + "interface_type": "oidc-discovery", + "owner": "net-kingdom", + "service_id": "net-kingdom.iam-profile", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/net-kingdom-iam-profile-oidc-discovery.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "net-kingdom.iam-profile.oidc-discovery", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "NetKingdom IAM Profile discovery", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "net-kingdom" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "railiance-fabric.registry.ecosystem-registry" + ], + "description": "Browser UI for exploring the local Fabric registry graph, onboarding gaps, dependencies, interfaces, saved local views, and shareable graph state.", + "endpoint": { + "notes": "Local workstation UI when the registry service is running.", + "url": "http://127.0.0.1:8765/ui/graph-explorer" + }, + "environments": [ + "dev" + ], + "interface_type": "web-ui", + "owner": "railiance-fabric", + "service_id": "railiance-fabric.registry", + "source_links": [ + { + "label": "UI shell", + "path": "railiance_fabric/graph_explorer_ui.py" + }, + { + "label": "Graph explorer operations", + "path": "docs/graph-explorer-operations.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-fabric-registry-graph-explorer-ui.yaml", + "version": "v1alpha1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-fabric.registry.graph-explorer-ui", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Railiance Fabric Graph Explorer UI", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-fabric" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "railiance-fabric.registry.ecosystem-registry" + ], + "description": "Local HTTP API for repository registration, graph snapshot ingestion, graph queries, inventory views, State Hub export, Backstage projection, xRegistry projection, and graph explorer payloads.", + "endpoint": { + "notes": "Local workstation endpoint when the registry service is running.", + "url": "http://127.0.0.1:8765" + }, + "environments": [ + "dev" + ], + "interface_type": "http-api", + "owner": "railiance-fabric", + "service_id": "railiance-fabric.registry", + "source_links": [ + { + "label": "HTTP routes", + "path": "railiance_fabric/server.py" + }, + { + "label": "API docs", + "path": "docs/registry-api.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-fabric-registry-http-api.yaml", + "version": "v1alpha1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-fabric.registry.http-api", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Railiance Fabric Registry HTTP API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-fabric" + }, + { + "attributes": { + "auth": { + "method": "database_role" + }, + "capability_ids": [ + "railiance-platform.cnpg.postgresql" + ], + "description": "PostgreSQL network endpoint and credential contract.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "database-connection", + "owner": "railiance-platform", + "service_id": "railiance-platform.cnpg", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-platform-cnpg-database-connection.yaml", + "version": "16" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.cnpg.database-connection", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "CloudNativePG database connection", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "auth": { + "audience": "openbao", + "method": "kubernetes_service_account" + }, + "capability_ids": [], + "description": "Dynamic credential role interface for database access.", + "endpoint": { + "path": "database/creds" + }, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "openbao-dynamic-credential-role", + "owner": "railiance-platform", + "service_id": "railiance-platform.openbao", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-platform-openbao-database-roles.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.openbao.database-roles", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "OpenBao database dynamic credential roles", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "auth": { + "audience": "openbao", + "method": "kubernetes_service_account" + }, + "capability_ids": [ + "railiance-platform.openbao.runtime-secrets" + ], + "description": "KV v2 secret mount for approved Railiance workload secrets.", + "endpoint": { + "path": "secret/data/railiance" + }, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "openbao-kv-v2-mount", + "owner": "railiance-platform", + "service_id": "railiance-platform.openbao", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-platform-openbao-kv-v2.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.openbao.kv-v2", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "OpenBao KV v2 mount", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "auth": { + "method": "static_secret" + }, + "capability_ids": [ + "railiance-platform.valkey.cache" + ], + "description": "Redis protocol compatible cache endpoint and credential contract.", + "endpoint": {}, + "environments": [ + "dev", + "staging", + "prod" + ], + "interface_type": "database-connection", + "owner": "railiance-platform", + "service_id": "railiance-platform.valkey", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/railiance-platform-valkey-database-connection.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.valkey.database-connection", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "Valkey Redis-compatible connection", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "repo-scoping.scope-generation" + ], + "description": "CLI interface for producing scope descriptions.", + "endpoint": {}, + "environments": [ + "all" + ], + "interface_type": "cli", + "owner": "repo-scoping", + "service_id": "repo-scoping.scope-generator", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/repo-scoping-scope-generator-cli.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "repo-scoping.scope-generator.cli", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "repo-scoping CLI", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "repo-scoping" + }, + { + "attributes": { + "auth": { + "method": "none" + }, + "capability_ids": [ + "the-custodian.state-hub.coordination" + ], + "description": "HTTP API for coordination state and progress tracking.", + "endpoint": {}, + "environments": [ + "all" + ], + "interface_type": "http-api", + "owner": "the-custodian", + "service_id": "the-custodian.state-hub", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/interfaces/the-custodian-state-hub-http-api.yaml", + "version": "v1" + }, + "canon_anchor": "model/network", + "canon_category": "endpoint", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "the-custodian.state-hub.http-api", + "kind": "UtilityInterface", + "lifecycle": "active", + "mapping_fit": "partial", + "name": "State Hub HTTP API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "the-custodian" + }, + { + "attributes": { + "description": "Planned object storage and scoped credential vending service.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "artifact-store.object-storage.bucket", + "artifact-store.object-storage.sts" + ], + "owner": "artifact-store", + "provides_capabilities": [ + "artifact-store.object-storage", + "artifact-store.object-storage.credentials" + ], + "service_type": "storage-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/artifact-store-object-storage.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "artifact-store.storage-service", + "kind": "Service", + "lifecycle": "planned", + "mapping_fit": "direct", + "name": "artifact-store object storage", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "artifact-store" + }, + { + "attributes": { + "description": "Authorization policy and decision control plane.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "flex-auth.api.http-api", + "flex-auth.api.policy-package" + ], + "owner": "flex-auth", + "provides_capabilities": [ + "flex-auth.api.authorization-decisions" + ], + "service_type": "authorization-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/flex-auth-api.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.api", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "flex-auth API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "description": "Delegated policy decision runtime used by flex-auth.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "flex-auth.topaz.http-api" + ], + "owner": "flex-auth", + "provides_capabilities": [ + "flex-auth.topaz.authorization-runtime" + ], + "service_type": "authorization-runtime", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/flex-auth-topaz.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "flex-auth.topaz", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "Topaz delegated PDP", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "flex-auth" + }, + { + "attributes": { + "description": "Lightweight IAM Profile implementation for Railiance workloads.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "key-cape.iam-profile.http-api", + "key-cape.iam-profile.oidc-discovery" + ], + "owner": "key-cape", + "provides_capabilities": [ + "key-cape.iam-profile.issuer" + ], + "service_type": "identity-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/key-cape-iam-profile.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "key-cape.iam-profile", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "key-cape IAM Profile API", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "key-cape" + }, + { + "attributes": { + "description": "Identity and security architecture contract for IAM Profile claims.", + "environments": [ + "all" + ], + "exposes_interfaces": [ + "net-kingdom.iam-profile.oidc-discovery" + ], + "owner": "net-kingdom", + "provides_capabilities": [ + "net-kingdom.iam-profile.issuer" + ], + "service_type": "identity-contract", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/net-kingdom-iam-profile.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "net-kingdom.iam-profile", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "NetKingdom IAM Profile", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "net-kingdom" + }, + { + "attributes": { + "description": "Local ecosystem registry and graph explorer service for registered Railiance repositories, Fabric graph snapshots, inventory, and map-oriented exports.", + "environments": [ + "dev" + ], + "exposes_interfaces": [ + "railiance-fabric.registry.http-api", + "railiance-fabric.registry.graph-explorer-ui" + ], + "owner": "railiance-fabric", + "provides_capabilities": [ + "railiance-fabric.registry.ecosystem-registry" + ], + "service_type": "registry-service", + "source_links": [ + { + "label": "Registry server implementation", + "path": "railiance_fabric/server.py" + }, + { + "label": "Operations guide", + "path": "docs/graph-explorer-operations.md" + } + ], + "source_path": "/home/worsch/railiance-fabric/fabric/services/railiance-fabric-registry.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-fabric.registry", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "Railiance Fabric Registry", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-fabric" + }, + { + "attributes": { + "description": "PostgreSQL database service for Railiance platform and app workloads.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "railiance-platform.cnpg.database-connection" + ], + "owner": "railiance-platform", + "provides_capabilities": [ + "railiance-platform.cnpg.postgresql" + ], + "service_type": "database-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/railiance-platform-cnpg.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.cnpg", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "CloudNativePG", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "description": "OpenBao service used by Railiance workloads for runtime secrets.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "railiance-platform.openbao.kv-v2", + "railiance-platform.openbao.database-roles" + ], + "owner": "railiance-platform", + "provides_capabilities": [ + "railiance-platform.openbao.runtime-secrets" + ], + "service_type": "platform-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/railiance-platform-openbao.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.openbao", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "OpenBao", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "description": "Redis-compatible cache for Railiance workloads.", + "environments": [ + "dev", + "staging", + "prod" + ], + "exposes_interfaces": [ + "railiance-platform.valkey.database-connection" + ], + "owner": "railiance-platform", + "provides_capabilities": [ + "railiance-platform.valkey.cache" + ], + "service_type": "cache-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/railiance-platform-valkey.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "railiance", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "railiance-platform.valkey", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "Valkey", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "railiance-platform" + }, + { + "attributes": { + "description": "Generates repo scope and usefulness descriptions for humans and agents.", + "environments": [ + "all" + ], + "exposes_interfaces": [ + "repo-scoping.scope-generator.cli" + ], + "owner": "repo-scoping", + "provides_capabilities": [ + "repo-scoping.scope-generation" + ], + "service_type": "planning-tool", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/repo-scoping-scope-generator.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "repo-scoping.scope-generator", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "repo-scoping scope generator", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "repo-scoping" + }, + { + "attributes": { + "description": "Coordination read model for repos, workstreams, tasks, decisions, and progress.", + "environments": [ + "all" + ], + "exposes_interfaces": [ + "the-custodian.state-hub.http-api" + ], + "owner": "the-custodian", + "provides_capabilities": [ + "the-custodian.state-hub.coordination" + ], + "service_type": "coordination-service", + "source_links": [], + "source_path": "/home/worsch/railiance-fabric/fabric/services/the-custodian-state-hub.yaml" + }, + "canon_anchor": "model/landscape", + "canon_category": "service", + "containment": { + "deployment_scenario_id": null, + "environment": "local", + "fabric_id": "fabric.railiance.primary", + "netkingdom_id": "railiance.netkingdom", + "subfabric_id": null + }, + "domain": "custodian", + "evidence": { + "refs": [], + "review_state": "accepted", + "state": "declared" + }, + "evidence_state": "declared", + "id": "the-custodian.state-hub", + "kind": "Service", + "lifecycle": "active", + "mapping_fit": "direct", + "name": "State Hub", + "ownership": { + "inherited_from": "fabric.railiance.primary", + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "inherited", + "supporting_actor_ids": [ + "actor.railiance.king" + ] + }, + "repo": "the-custodian" + } + ], + "schema_version": "financial-fabric-v1", + "source": { + "generation_reason": "baseline_projection", + "producer": "railiance-fabric" + }, + "unresolved": [] +} diff --git a/fabric/discovery/railiance-accountability-roots.yaml b/fabric/discovery/railiance-accountability-roots.yaml index 8f00191..7e97db6 100644 --- a/fabric/discovery/railiance-accountability-roots.yaml +++ b/fabric/discovery/railiance-accountability-roots.yaml @@ -52,7 +52,7 @@ discovery_roots: type: state_hub_repo_inventory status: active fabric_id: fabric.railiance.primary - owner_actor_id: actor.railiance.king + owner_actor_id: actor.railiance.primary-lord source: base_url: http://127.0.0.1:8000 api_paths: @@ -71,7 +71,7 @@ discovery_roots: type: gitea_organization status: active fabric_id: fabric.railiance.primary - owner_actor_id: actor.railiance.king + owner_actor_id: actor.railiance.primary-lord source: url: ssh://git@92.205.130.254:30022/coulomb organization: coulomb @@ -88,7 +88,7 @@ discovery_roots: type: registry_manifest status: active fabric_id: fabric.railiance.primary - owner_actor_id: actor.railiance.king + owner_actor_id: actor.railiance.primary-lord source: manifest_path: registry/local-repos.yaml safe_discovery: local_files @@ -105,7 +105,7 @@ discovery_roots: type: host_path status: active fabric_id: fabric.railiance.primary - owner_actor_id: actor.railiance.king + owner_actor_id: actor.railiance.primary-lord source: path: /home/worsch patterns: @@ -146,7 +146,7 @@ discovery_roots: type: deployment_automation status: active fabric_id: fabric.railiance.primary - owner_actor_id: actor.railiance.king + owner_actor_id: actor.railiance.primary-lord source: path: /home/worsch patterns: diff --git a/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-identities.json b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-identities.json new file mode 100644 index 0000000..972f961 --- /dev/null +++ b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-identities.json @@ -0,0 +1,3135 @@ +{ + "apiVersion": "railiance.fabric/v1alpha2", + "candidate_graph": { + "edges": [ + { + "from": "identity:netkingdom:railiance.netkingdom", + "id": "candidate-edge:d448183c64bba5c0", + "review_state": "candidate", + "to": "identity:fabric:fabric.railiance.primary", + "type": "contains" + } + ], + "nodes": [ + { + "fabric_id": "", + "id": "identity:actor:actor.railiance.king", + "kind": "Actor", + "label": "Railiance King", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "", + "id": "identity:actor:actor.railiance.primary-lord", + "kind": "Actor", + "label": "Railiance Primary Lord", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:backup-recovery-root:docs-financial-fabric-operator-guide.md", + "kind": "BackupRecoveryRoot", + "label": "financial-fabric-operator-guide.md", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:catalog-root:gitea_organization", + "kind": "CatalogRoot", + "label": "ssh://git@92.205.130.254:30022/coulomb", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:catalog-root:registry_manifest", + "kind": "CatalogRoot", + "label": "None", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-.config-systemd-user-custodian-sync.service", + "kind": "Deployable", + "label": "custodian-sync.service", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-activity-core-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-go-src-crypto-internal-boring-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-go-src-crypto-internal-nistec-fiat-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-key-cape-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-repo-scoping-var-checkouts-key-cape-a01db9828dd4-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-state-hub-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-the-custodian-infra-build-machines-haskell-files-build-agent.service", + "kind": "Deployable", + "label": "build-agent.service", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:deployable:home-worsch-vergabe-teilnahme-dockerfile", + "kind": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:fabric:fabric.railiance.primary", + "kind": "Fabric", + "label": "Railiance Primary Fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:fabric", + "kind": "HostPath", + "label": "fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:git", + "kind": "HostPath", + "label": ".git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-.nvm-.git", + "kind": "HostPath", + "label": "/home/worsch/.nvm/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-activity-core-.git", + "kind": "HostPath", + "label": "/home/worsch/activity-core/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-artifact-store-.git", + "kind": "HostPath", + "label": "/home/worsch/artifact-store/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-can-you-assist-.git", + "kind": "HostPath", + "label": "/home/worsch/can-you-assist/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-domain-tree-.git", + "kind": "HostPath", + "label": "/home/worsch/domain-tree/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-flex-auth-.git", + "kind": "HostPath", + "label": "/home/worsch/flex-auth/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-guide-board-.git", + "kind": "HostPath", + "label": "/home/worsch/guide-board/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-helix-forge-.git", + "kind": "HostPath", + "label": "/home/worsch/helix-forge/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-ihp-railiance-probe-.git", + "kind": "HostPath", + "label": "/home/worsch/ihp-railiance-probe/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-info-tech-canon-.git", + "kind": "HostPath", + "label": "/home/worsch/info-tech-canon/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-infospace-bench-.git", + "kind": "HostPath", + "label": "/home/worsch/infospace-bench/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-inter-hub-.git", + "kind": "HostPath", + "label": "/home/worsch/inter-hub/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-issue-core-.git", + "kind": "HostPath", + "label": "/home/worsch/issue-core/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-key-cape-.git", + "kind": "HostPath", + "label": "/home/worsch/key-cape/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-kontextual-engine-.git", + "kind": "HostPath", + "label": "/home/worsch/kontextual-engine/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-llm-connect-.git", + "kind": "HostPath", + "label": "/home/worsch/llm-connect/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-markitect-filter-.git", + "kind": "HostPath", + "label": "/home/worsch/markitect-filter/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-markitect-main-.git", + "kind": "HostPath", + "label": "/home/worsch/markitect-main/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-markitect-quarkdown-.git", + "kind": "HostPath", + "label": "/home/worsch/markitect-quarkdown/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-markitect-tool-.git", + "kind": "HostPath", + "label": "/home/worsch/markitect-tool/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-net-kingdom-.git", + "kind": "HostPath", + "label": "/home/worsch/net-kingdom/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-open-cmis-tck-.git", + "kind": "HostPath", + "label": "/home/worsch/open-cmis-tck/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-open-reuse-.git", + "kind": "HostPath", + "label": "/home/worsch/open-reuse/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-ops-bridge-.git", + "kind": "HostPath", + "label": "/home/worsch/ops-bridge/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-ops-warden-.git", + "kind": "HostPath", + "label": "/home/worsch/ops-warden/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-phase-memory-.git", + "kind": "HostPath", + "label": "/home/worsch/phase-memory/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-railiance-apps-.git", + "kind": "HostPath", + "label": "/home/worsch/railiance-apps/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-railiance-cluster-.git", + "kind": "HostPath", + "label": "/home/worsch/railiance-cluster/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-railiance-enablement-.git", + "kind": "HostPath", + "label": "/home/worsch/railiance-enablement/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-railiance-infra-.git", + "kind": "HostPath", + "label": "/home/worsch/railiance-infra/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-railiance-platform-.git", + "kind": "HostPath", + "label": "/home/worsch/railiance-platform/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-repo-scoping-.git", + "kind": "HostPath", + "label": "/home/worsch/repo-scoping/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-repo-seed-.git", + "kind": "HostPath", + "label": "/home/worsch/repo-seed/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-shard-wiki-.git", + "kind": "HostPath", + "label": "/home/worsch/shard-wiki/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-state-hub-.git", + "kind": "HostPath", + "label": "/home/worsch/state-hub/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-tegwick-control-.git", + "kind": "HostPath", + "label": "/home/worsch/tegwick-control/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-the-custodian-.git", + "kind": "HostPath", + "label": "/home/worsch/the-custodian/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-user-engine-.git", + "kind": "HostPath", + "label": "/home/worsch/user-engine/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-vantage-point-.git", + "kind": "HostPath", + "label": "/home/worsch/vantage-point/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-vergabe-teilnahme-.git", + "kind": "HostPath", + "label": "/home/worsch/vergabe-teilnahme/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-whynot-control-.git", + "kind": "HostPath", + "label": "/home/worsch/whynot-control/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:host-path:home-worsch-whynot-design-.git", + "kind": "HostPath", + "label": "/home/worsch/whynot-design/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "", + "id": "identity:netkingdom:railiance.netkingdom", + "kind": "Netkingdom", + "label": "Railiance Netkingdom", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:activity-core", + "kind": "Repository", + "label": "activity-core", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:artifact-store", + "kind": "Repository", + "label": "artifact-store", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:domain-tree", + "kind": "Repository", + "label": "domain-tree", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:flex-auth", + "kind": "Repository", + "label": "flex-auth", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:guide-board", + "kind": "Repository", + "label": "guide-board", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:helix-forge", + "kind": "Repository", + "label": "helix-forge", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:ihp-railiance-probe", + "kind": "Repository", + "label": "ihp-railiance-probe", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:infospace-bench", + "kind": "Repository", + "label": "infospace-bench", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:inter-hub", + "kind": "Repository", + "label": "inter-hub", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:issue-core", + "kind": "Repository", + "label": "issue-core", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:key-cape", + "kind": "Repository", + "label": "key-cape", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:kontextual-engine", + "kind": "Repository", + "label": "kontextual-engine", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:llm-connect", + "kind": "Repository", + "label": "llm-connect", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:markitect-filter", + "kind": "Repository", + "label": "markitect-filter", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:markitect-project", + "kind": "Repository", + "label": "markitect-project", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:markitect-quarkdown", + "kind": "Repository", + "label": "markitect-quarkdown", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:markitect-tool", + "kind": "Repository", + "label": "markitect-tool", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:net-kingdom", + "kind": "Repository", + "label": "net-kingdom", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:open-cmis-tck", + "kind": "Repository", + "label": "open-cmis-tck", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:open-reuse", + "kind": "Repository", + "label": "open-reuse", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:ops-bridge", + "kind": "Repository", + "label": "ops-bridge", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:ops-warden", + "kind": "Repository", + "label": "ops-warden", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:phase-memory", + "kind": "Repository", + "label": "phase-memory", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-apps", + "kind": "Repository", + "label": "railiance-apps", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-cluster", + "kind": "Repository", + "label": "railiance-cluster", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-enablement", + "kind": "Repository", + "label": "railiance-enablement", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-fabric", + "kind": "Repository", + "label": "railiance-fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-hosts", + "kind": "Repository", + "label": "railiance-hosts", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-infra", + "kind": "Repository", + "label": "railiance-infra", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:railiance-platform", + "kind": "Repository", + "label": "railiance-platform", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:repo-scoping", + "kind": "Repository", + "label": "repo-scoping", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:state-hub", + "kind": "Repository", + "label": "state-hub", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:the-custodian", + "kind": "Repository", + "label": "the-custodian", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:vergabe-teilnahme", + "kind": "Repository", + "label": "vergabe-teilnahme", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:repository:vergabe_teilnahme", + "kind": "Repository", + "label": "vergabe_teilnahme", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "subfabric_id": "" + }, + { + "fabric_id": "fabric.railiance.primary", + "id": "identity:secret-root:fabric-services-railiance-platform-openbao.yaml", + "kind": "SecretRoot", + "label": "railiance-platform-openbao.yaml", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "subfabric_id": "" + } + ] + }, + "evidence_run": { + "generated_at": "2026-05-24T08:24:26Z", + "manifest_fingerprint": "dd279b655d68222a99671c1c875afdaa70ae2f907fd526e6673ddf756bc90dae", + "manifest_id": "railiance.accountability-roots" + }, + "generated_at": "2026-05-24T08:24:56Z", + "identity_candidates": [ + { + "aliases": [ + "actor.railiance.king", + "king" + ], + "attributes": { + "role": "king" + }, + "confidence": 1.0, + "evidence_ids": [], + "graph_id": "actor.railiance.king", + "identity_type": "Actor", + "label": "Railiance King", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "stable_key": "identity:actor:actor.railiance.king" + }, + { + "aliases": [ + "actor.railiance.primary-lord", + "lord" + ], + "attributes": { + "role": "lord" + }, + "confidence": 1.0, + "evidence_ids": [], + "graph_id": "actor.railiance.primary-lord", + "identity_type": "Actor", + "label": "Railiance Primary Lord", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:actor:actor.railiance.primary-lord" + }, + { + "aliases": [ + "docs/financial-fabric-operator-guide.md" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "c77fe4edf370a1f17cacecae25b3075af45d19714dc016046c27e69fe2a45f49", + "size_bytes": 5751, + "source_evidence_type": "backup_recovery" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.backup-recovery.metadata:99d0713b16e64003" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "docs/financial-fabric-operator-guide.md", + "identity_type": "BackupRecoveryRoot", + "label": "financial-fabric-operator-guide.md", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "stable_key": "identity:backup-recovery-root:docs-financial-fabric-operator-guide.md" + }, + { + "aliases": [ + "gitea_organization", + "ssh://git@92.205.130.254:30022/coulomb" + ], + "attributes": { + "safe_discovery": "metadata_only", + "source_evidence_type": "gitea_organization" + }, + "confidence": 0.6, + "evidence_ids": [ + "evidence:root.gitea.coulomb:b318cdd943773f81" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "gitea_organization", + "identity_type": "CatalogRoot", + "label": "ssh://git@92.205.130.254:30022/coulomb", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:catalog-root:gitea_organization" + }, + { + "aliases": [ + "registry_manifest" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "4699908886d6867115631e16f1deef8fed605cf8a6aa3648c4e8e32f5530d67f", + "size_bytes": 8217, + "source_evidence_type": "registry_manifest" + }, + "confidence": 0.6, + "evidence_ids": [ + "evidence:root.registry.local-repos:42f1d77e4f940f08" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "registry_manifest", + "identity_type": "CatalogRoot", + "label": "None", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:catalog-root:registry_manifest" + }, + { + "aliases": [ + "/home/worsch/.config/systemd/user/custodian-sync.service" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "d2b0ac197b5b3ecbd45790a0ebd05a7fd30ef65c3da280641abbc34e9bb09c6d", + "size_bytes": 411, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:b6e8ff4da28ac237" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/.config/systemd/user/custodian-sync.service", + "identity_type": "Deployable", + "label": "custodian-sync.service", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-.config-systemd-user-custodian-sync.service" + }, + { + "aliases": [ + "/home/worsch/activity-core/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "fe632da88ae82e2262eb53931dd37950c4d61ad842f53be0526d96443d5203dc", + "size_bytes": 631, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:1136953e4f506b47" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/activity-core/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-activity-core-dockerfile" + }, + { + "aliases": [ + "/home/worsch/go/src/crypto/internal/boring/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "aa5e6c737e11a20e94bece60d439a79949ba619fcfe906939d115a48ff295cce", + "size_bytes": 2283, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:2b875575ba03e546" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/go/src/crypto/internal/boring/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-go-src-crypto-internal-boring-dockerfile" + }, + { + "aliases": [ + "/home/worsch/go/src/crypto/internal/nistec/fiat/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "85a62fff66c506bb4baad170ad23fcd716740634d3aadf5087164208da62c093", + "size_bytes": 506, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:a057be0b918753a0" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/go/src/crypto/internal/nistec/fiat/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-go-src-crypto-internal-nistec-fiat-dockerfile" + }, + { + "aliases": [ + "/home/worsch/key-cape/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "dac50f7174da2c1ff67682b8b2cb9f1844f99cf1dce694b129854ff780585b57", + "size_bytes": 280, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:0af32afa7ad42ffc" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/key-cape/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-key-cape-dockerfile" + }, + { + "aliases": [ + "/home/worsch/repo-scoping/var/checkouts/key-cape-a01db9828dd4/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "dac50f7174da2c1ff67682b8b2cb9f1844f99cf1dce694b129854ff780585b57", + "size_bytes": 280, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:37800fe39d842850" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/repo-scoping/var/checkouts/key-cape-a01db9828dd4/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-repo-scoping-var-checkouts-key-cape-a01db9828dd4-dockerfile" + }, + { + "aliases": [ + "/home/worsch/state-hub/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "e40425f5acfd65cb9f3fddce0f60e96415af41f0b7cad8140ddd56e1c6a2aba8", + "size_bytes": 1434, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:99cda1caede6044d" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/state-hub/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-state-hub-dockerfile" + }, + { + "aliases": [ + "/home/worsch/the-custodian/infra/build-machines/haskell/files/build-agent.service" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "2e9a715d484df05f8e34216baa6bb221e6f00503bbfbbcb73078fbfd84c465d3", + "size_bytes": 451, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:7777dbb0cf534c9c" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/the-custodian/infra/build-machines/haskell/files/build-agent.service", + "identity_type": "Deployable", + "label": "build-agent.service", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-the-custodian-infra-build-machines-haskell-files-build-agent.service" + }, + { + "aliases": [ + "/home/worsch/vergabe-teilnahme/Dockerfile" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "c36550dbab048515da1e9d3525e787abf93f19f21a0f8eabc51fa06e6deb9f91", + "size_bytes": 3689, + "source_evidence_type": "deployment_automation" + }, + "confidence": 0.75, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:11dbda7eab68ade3" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/vergabe-teilnahme/Dockerfile", + "identity_type": "Deployable", + "label": "Dockerfile", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-vergabe-teilnahme-dockerfile" + }, + { + "aliases": [ + "fabric.railiance.primary" + ], + "attributes": { + "boundary": { + "boundary_type": "fabric", + "criterion": "financial_and_operational_accountability", + "operational_responsibility": "actor.railiance.king", + "payment_responsibility": "actor.railiance.primary-lord", + "recovery_responsibility": "actor.railiance.king" + }, + "netkingdom_id": "railiance.netkingdom", + "status": "active" + }, + "confidence": 1.0, + "evidence_ids": [], + "fabric_id": "fabric.railiance.primary", + "graph_id": "fabric.railiance.primary", + "identity_type": "Fabric", + "label": "Railiance Primary Fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:fabric:fabric.railiance.primary" + }, + { + "aliases": [ + "fabric" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8f19157f7c0af112" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "fabric", + "identity_type": "HostPath", + "label": "fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:fabric" + }, + { + "aliases": [ + ".git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:f2c9171da95b01e2" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": ".git", + "identity_type": "HostPath", + "label": ".git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:git" + }, + { + "aliases": [ + "/home/worsch/.nvm/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:6afdba7954c1d430" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/.nvm/.git", + "identity_type": "HostPath", + "label": "/home/worsch/.nvm/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-.nvm-.git" + }, + { + "aliases": [ + "/home/worsch/activity-core/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:4f33e05cc0c3a4ae" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/activity-core/.git", + "identity_type": "HostPath", + "label": "/home/worsch/activity-core/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-activity-core-.git" + }, + { + "aliases": [ + "/home/worsch/artifact-store/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:d915966de37625c2" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/artifact-store/.git", + "identity_type": "HostPath", + "label": "/home/worsch/artifact-store/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-artifact-store-.git" + }, + { + "aliases": [ + "/home/worsch/can-you-assist/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:29be8b1879e4f03e" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/can-you-assist/.git", + "identity_type": "HostPath", + "label": "/home/worsch/can-you-assist/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-can-you-assist-.git" + }, + { + "aliases": [ + "/home/worsch/domain-tree/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8e11a752b54f6344" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/domain-tree/.git", + "identity_type": "HostPath", + "label": "/home/worsch/domain-tree/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-domain-tree-.git" + }, + { + "aliases": [ + "/home/worsch/flex-auth/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:1972ded4dce0d752" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/flex-auth/.git", + "identity_type": "HostPath", + "label": "/home/worsch/flex-auth/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-flex-auth-.git" + }, + { + "aliases": [ + "/home/worsch/guide-board/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:3f027dbb5939678b" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/guide-board/.git", + "identity_type": "HostPath", + "label": "/home/worsch/guide-board/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-guide-board-.git" + }, + { + "aliases": [ + "/home/worsch/helix-forge/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:853bbafc470d1ddf" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/helix-forge/.git", + "identity_type": "HostPath", + "label": "/home/worsch/helix-forge/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-helix-forge-.git" + }, + { + "aliases": [ + "/home/worsch/ihp-railiance-probe/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:41ce1a92028e219a" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/ihp-railiance-probe/.git", + "identity_type": "HostPath", + "label": "/home/worsch/ihp-railiance-probe/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ihp-railiance-probe-.git" + }, + { + "aliases": [ + "/home/worsch/info-tech-canon/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:01e6036b5dba8730" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/info-tech-canon/.git", + "identity_type": "HostPath", + "label": "/home/worsch/info-tech-canon/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-info-tech-canon-.git" + }, + { + "aliases": [ + "/home/worsch/infospace-bench/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8ab03bc3c699dcb3" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/infospace-bench/.git", + "identity_type": "HostPath", + "label": "/home/worsch/infospace-bench/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-infospace-bench-.git" + }, + { + "aliases": [ + "/home/worsch/inter-hub/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:fe87f163ed812c2c" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/inter-hub/.git", + "identity_type": "HostPath", + "label": "/home/worsch/inter-hub/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-inter-hub-.git" + }, + { + "aliases": [ + "/home/worsch/issue-core/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:9574d10e7819725c" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/issue-core/.git", + "identity_type": "HostPath", + "label": "/home/worsch/issue-core/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-issue-core-.git" + }, + { + "aliases": [ + "/home/worsch/key-cape/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:a73d0d5db8c93635" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/key-cape/.git", + "identity_type": "HostPath", + "label": "/home/worsch/key-cape/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-key-cape-.git" + }, + { + "aliases": [ + "/home/worsch/kontextual-engine/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:947992c543220b50" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/kontextual-engine/.git", + "identity_type": "HostPath", + "label": "/home/worsch/kontextual-engine/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-kontextual-engine-.git" + }, + { + "aliases": [ + "/home/worsch/llm-connect/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:987db7c486b6950d" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/llm-connect/.git", + "identity_type": "HostPath", + "label": "/home/worsch/llm-connect/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-llm-connect-.git" + }, + { + "aliases": [ + "/home/worsch/markitect-filter/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:88e23e7f58e7c06f" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/markitect-filter/.git", + "identity_type": "HostPath", + "label": "/home/worsch/markitect-filter/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-filter-.git" + }, + { + "aliases": [ + "/home/worsch/markitect-main/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b148d20e0f88e7c9" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/markitect-main/.git", + "identity_type": "HostPath", + "label": "/home/worsch/markitect-main/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-main-.git" + }, + { + "aliases": [ + "/home/worsch/markitect-quarkdown/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:12b2a9a2c6020a6e" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/markitect-quarkdown/.git", + "identity_type": "HostPath", + "label": "/home/worsch/markitect-quarkdown/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-quarkdown-.git" + }, + { + "aliases": [ + "/home/worsch/markitect-tool/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:29d68aac75b2fd1e" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/markitect-tool/.git", + "identity_type": "HostPath", + "label": "/home/worsch/markitect-tool/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-tool-.git" + }, + { + "aliases": [ + "/home/worsch/net-kingdom/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:97220247bbe6c226" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/net-kingdom/.git", + "identity_type": "HostPath", + "label": "/home/worsch/net-kingdom/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-net-kingdom-.git" + }, + { + "aliases": [ + "/home/worsch/open-cmis-tck/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:0e3d9e3fcd2454ad" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/open-cmis-tck/.git", + "identity_type": "HostPath", + "label": "/home/worsch/open-cmis-tck/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-open-cmis-tck-.git" + }, + { + "aliases": [ + "/home/worsch/open-reuse/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:46bcbcdced2e68b1" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/open-reuse/.git", + "identity_type": "HostPath", + "label": "/home/worsch/open-reuse/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-open-reuse-.git" + }, + { + "aliases": [ + "/home/worsch/ops-bridge/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8d4c580a152c87ef" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/ops-bridge/.git", + "identity_type": "HostPath", + "label": "/home/worsch/ops-bridge/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ops-bridge-.git" + }, + { + "aliases": [ + "/home/worsch/ops-warden/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:2632b056a3d8d04b" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/ops-warden/.git", + "identity_type": "HostPath", + "label": "/home/worsch/ops-warden/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ops-warden-.git" + }, + { + "aliases": [ + "/home/worsch/phase-memory/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:d08e3c86e52c3d47" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/phase-memory/.git", + "identity_type": "HostPath", + "label": "/home/worsch/phase-memory/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-phase-memory-.git" + }, + { + "aliases": [ + "/home/worsch/railiance-apps/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:bc0706f6058d1296" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/railiance-apps/.git", + "identity_type": "HostPath", + "label": "/home/worsch/railiance-apps/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-apps-.git" + }, + { + "aliases": [ + "/home/worsch/railiance-cluster/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:ccda3ace25f8d325" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/railiance-cluster/.git", + "identity_type": "HostPath", + "label": "/home/worsch/railiance-cluster/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-cluster-.git" + }, + { + "aliases": [ + "/home/worsch/railiance-enablement/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:96f6f9703e3c48fb" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/railiance-enablement/.git", + "identity_type": "HostPath", + "label": "/home/worsch/railiance-enablement/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-enablement-.git" + }, + { + "aliases": [ + "/home/worsch/railiance-infra/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:e9573042a7f07ffd" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/railiance-infra/.git", + "identity_type": "HostPath", + "label": "/home/worsch/railiance-infra/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-infra-.git" + }, + { + "aliases": [ + "/home/worsch/railiance-platform/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:a9052dfc594c3068" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/railiance-platform/.git", + "identity_type": "HostPath", + "label": "/home/worsch/railiance-platform/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-platform-.git" + }, + { + "aliases": [ + "/home/worsch/repo-scoping/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:812a28f31af28d65" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/repo-scoping/.git", + "identity_type": "HostPath", + "label": "/home/worsch/repo-scoping/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-repo-scoping-.git" + }, + { + "aliases": [ + "/home/worsch/repo-seed/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:c30f48dd6a77d9c2" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/repo-seed/.git", + "identity_type": "HostPath", + "label": "/home/worsch/repo-seed/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-repo-seed-.git" + }, + { + "aliases": [ + "/home/worsch/shard-wiki/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b7a05112d0360078" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/shard-wiki/.git", + "identity_type": "HostPath", + "label": "/home/worsch/shard-wiki/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-shard-wiki-.git" + }, + { + "aliases": [ + "/home/worsch/state-hub/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:2be66e9744be4f0d" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/state-hub/.git", + "identity_type": "HostPath", + "label": "/home/worsch/state-hub/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-state-hub-.git" + }, + { + "aliases": [ + "/home/worsch/tegwick-control/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:0ff1c1b3d63974b8" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/tegwick-control/.git", + "identity_type": "HostPath", + "label": "/home/worsch/tegwick-control/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-tegwick-control-.git" + }, + { + "aliases": [ + "/home/worsch/the-custodian/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:1ce1f0d592915f50" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/the-custodian/.git", + "identity_type": "HostPath", + "label": "/home/worsch/the-custodian/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-the-custodian-.git" + }, + { + "aliases": [ + "/home/worsch/user-engine/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:570a6d36e036d04a" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/user-engine/.git", + "identity_type": "HostPath", + "label": "/home/worsch/user-engine/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-user-engine-.git" + }, + { + "aliases": [ + "/home/worsch/vantage-point/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:cf9eeacab32129e3" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/vantage-point/.git", + "identity_type": "HostPath", + "label": "/home/worsch/vantage-point/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-vantage-point-.git" + }, + { + "aliases": [ + "/home/worsch/vergabe-teilnahme/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:919aaf163a9fcf42" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/vergabe-teilnahme/.git", + "identity_type": "HostPath", + "label": "/home/worsch/vergabe-teilnahme/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-vergabe-teilnahme-.git" + }, + { + "aliases": [ + "/home/worsch/whynot-control/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b31164391c2d05f7" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/whynot-control/.git", + "identity_type": "HostPath", + "label": "/home/worsch/whynot-control/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-whynot-control-.git" + }, + { + "aliases": [ + "/home/worsch/whynot-design/.git" + ], + "attributes": { + "exists": true, + "path_type": "directory", + "source_evidence_type": "host_path_match" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:af064bec9edcbf25" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "/home/worsch/whynot-design/.git", + "identity_type": "HostPath", + "label": "/home/worsch/whynot-design/.git", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-whynot-design-.git" + }, + { + "aliases": [ + "railiance.netkingdom" + ], + "attributes": { + "king_actor_id": "actor.railiance.king" + }, + "confidence": 1.0, + "evidence_ids": [], + "graph_id": "railiance.netkingdom", + "identity_type": "Netkingdom", + "label": "Railiance Netkingdom", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "stable_key": "identity:netkingdom:railiance.netkingdom" + }, + { + "aliases": [ + "activity-core", + "/home/worsch/activity-core" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": false, + "name": "activity-core", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "4296e38c-4eb4-4710-8e35-fb37009add0b" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:8cee6f6ee4eb63a1" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "activity-core", + "identity_type": "Repository", + "label": "activity-core", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:activity-core" + }, + { + "aliases": [ + "artifact-store", + "/home/worsch/artifact-store", + "gitea-remote:coulomb/artifact-store.git" + ], + "attributes": { + "default_branch": "main", + "domain": "stack", + "has_local_path": true, + "has_remote_url": true, + "name": "artifact-store", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "e1575e7c-e1b0-4b46-98be-78bd49e06318" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:8cd7cecfc6d233d5" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "artifact-store", + "identity_type": "Repository", + "label": "artifact-store", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:artifact-store" + }, + { + "aliases": [ + "domain-tree", + "/home/worsch/domain-tree" + ], + "attributes": { + "default_branch": "main", + "domain": "netkingdom", + "has_local_path": true, + "has_remote_url": false, + "name": "domain-tree", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "146bcec9-59e8-481e-9996-f0b30ab28abb" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:9bb313ace63f7355" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "domain-tree", + "identity_type": "Repository", + "label": "domain-tree", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:domain-tree" + }, + { + "aliases": [ + "flex-auth", + "/home/worsch/flex-auth" + ], + "attributes": { + "default_branch": "main", + "domain": "netkingdom", + "has_local_path": true, + "has_remote_url": false, + "name": "flex-auth", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "fda8ad85-a7d7-4055-8f21-902a533e59df" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:6f4d5102aa3d4f73" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "flex-auth", + "identity_type": "Repository", + "label": "flex-auth", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:flex-auth" + }, + { + "aliases": [ + "guide-board", + "/home/worsch/guide-board", + "gitea-remote:coulomb/guide-board.git" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": true, + "name": "guide-board", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "90918b55-6347-4e57-8086-db7b0454f73d" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:e0181f99c192f303" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "guide-board", + "identity_type": "Repository", + "label": "guide-board", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:guide-board" + }, + { + "aliases": [ + "helix-forge", + "/home/worsch/helix-forge", + "gitea-remote:coulomb/helix-forge.git" + ], + "attributes": { + "default_branch": "main", + "domain": "helix_forge", + "has_local_path": true, + "has_remote_url": true, + "name": "helix-forge", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "c7a3dc03-d837-4577-a107-a190d6b00705" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:4decf44c598b4a57" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "helix-forge", + "identity_type": "Repository", + "label": "helix-forge", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:helix-forge" + }, + { + "aliases": [ + "ihp-railiance-probe", + "/home/worsch/ihp-railiance-probe" + ], + "attributes": { + "default_branch": "main", + "domain": "stack", + "has_local_path": true, + "has_remote_url": false, + "name": "ihp-railiance-probe", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "69b69830-af7f-496f-9af2-cbc23a83cd42" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:bb23149605740e9a" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "ihp-railiance-probe", + "identity_type": "Repository", + "label": "ihp-railiance-probe", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:ihp-railiance-probe" + }, + { + "aliases": [ + "infospace-bench", + "/home/worsch/infospace-bench", + "http://92.205.130.254:32166/coulomb/infospace-bench.git" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": true, + "name": "infospace-bench", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "b7b3e7cc-cdde-4430-be43-e82343fdf1b0" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:27d6f12c7f495b31" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "infospace-bench", + "identity_type": "Repository", + "label": "infospace-bench", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:infospace-bench" + }, + { + "aliases": [ + "inter-hub", + "/home/worsch/inter-hub", + "ssh://git@92.205.130.254:30022/coulomb/inter-hub.git" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": true, + "name": "Interaction Hub Framework", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "e9960194-f19e-4007-904a-4ac3ca202598" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:efeeaf25f0ab8aeb" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "inter-hub", + "identity_type": "Repository", + "label": "inter-hub", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:inter-hub" + }, + { + "aliases": [ + "issue-core", + "/home/worsch/issue-core" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": false, + "name": "issue-core", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "e51fd6df-525e-457c-9ec0-924832b491bc" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:d09d1c836c4e36bf" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "issue-core", + "identity_type": "Repository", + "label": "issue-core", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:issue-core" + }, + { + "aliases": [ + "key-cape", + "/home/worsch/key-cape" + ], + "attributes": { + "default_branch": "main", + "domain": "netkingdom", + "has_local_path": true, + "has_remote_url": false, + "name": "KeyCape", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "8a99bb74-1ec0-4478-ac70-35a7cddb0e3c" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:43caac3f3cfa4ad7" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "key-cape", + "identity_type": "Repository", + "label": "key-cape", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:key-cape" + }, + { + "aliases": [ + "kontextual-engine", + "/home/worsch/kontextual-engine", + "http://92.205.130.254:32166/coulomb/kontextual-engine.git" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": true, + "name": "kontextual-engine", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "a7cea934-e38c-467c-b2ea-64fd3424a845" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:ead9ecf1b49cf3cc" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "kontextual-engine", + "identity_type": "Repository", + "label": "kontextual-engine", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:kontextual-engine" + }, + { + "aliases": [ + "llm-connect", + "/home/worsch/llm-connect", + "http://92.205.130.254:32166/coulomb/llm-connect.git" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": true, + "name": "llm-connect", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "13094d7a-b978-4aa3-8a1d-0d05b824698d" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:106e66cb38d653c2" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "llm-connect", + "identity_type": "Repository", + "label": "llm-connect", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:llm-connect" + }, + { + "aliases": [ + "markitect-filter", + "/home/worsch/markitect-filter" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": false, + "name": "markitect-filter", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "87f43c8e-01bd-465a-96ce-c0eee2ae7bcf" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:61b9d69ccca5dc40" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "markitect-filter", + "identity_type": "Repository", + "label": "markitect-filter", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:markitect-filter" + }, + { + "aliases": [ + "markitect-project", + "/home/worsch/markitect-main" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": false, + "name": "markitect-main", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "b388326c-dfce-4e30-a364-cedd285370e5" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:01ac8b9b2057660b" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "markitect-project", + "identity_type": "Repository", + "label": "markitect-project", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:markitect-project" + }, + { + "aliases": [ + "markitect-quarkdown", + "/home/worsch/markitect-quarkdown" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": false, + "name": "markitect-quarkdown", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "2c72f2ad-d940-4a21-a71e-d490bd51cff2" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:49b6aaf12dfa6b08" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "markitect-quarkdown", + "identity_type": "Repository", + "label": "markitect-quarkdown", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:markitect-quarkdown" + }, + { + "aliases": [ + "markitect-tool", + "/home/worsch/markitect-tool" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": false, + "name": "markitect-tool", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "ba599cd4-e8aa-430b-bbbe-e49f88536d70" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:de4f013ef9bb3778" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "markitect-tool", + "identity_type": "Repository", + "label": "markitect-tool", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:markitect-tool" + }, + { + "aliases": [ + "net-kingdom", + "/home/worsch/net-kingdom", + "http://92.205.130.254:32166/coulomb/net-kingdom.git" + ], + "attributes": { + "default_branch": "main", + "domain": "netkingdom", + "has_local_path": true, + "has_remote_url": true, + "name": "NetKingdom", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "4589488d-625b-4ffe-b8f0-48744d7b1498" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:909804aaf07ec7e6" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "net-kingdom", + "identity_type": "Repository", + "label": "net-kingdom", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:net-kingdom" + }, + { + "aliases": [ + "open-cmis-tck", + "/home/worsch/open-cmis-tck", + "gitea-remote:coulomb/open-cmis-tck.git" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": true, + "name": "open-cmis-tck", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "b6b8dacd-4100-475a-8390-c326e1cebdec" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:fdf5bfa0d976ccaf" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "open-cmis-tck", + "identity_type": "Repository", + "label": "open-cmis-tck", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:open-cmis-tck" + }, + { + "aliases": [ + "open-reuse", + "/home/worsch/open-reuse" + ], + "attributes": { + "default_branch": "main", + "domain": "stack", + "has_local_path": true, + "has_remote_url": false, + "name": "open-reuse", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "d416fd6f-3c9d-4ba7-a5ca-f7543940ee6a" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:79a1e537db736d46" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "open-reuse", + "identity_type": "Repository", + "label": "open-reuse", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:open-reuse" + }, + { + "aliases": [ + "ops-bridge", + "/home/worsch/ops-bridge" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": false, + "name": "ops-bridge", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "1bf99f56-6e94-4379-a9ea-295a4c181889" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:20c8f1ccfa973270" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "ops-bridge", + "identity_type": "Repository", + "label": "ops-bridge", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:ops-bridge" + }, + { + "aliases": [ + "ops-warden", + "/home/worsch/ops-warden", + "gitea-remote:coulomb/ops-warden.git" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": true, + "name": "ops-warden", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "74df727e-a756-42de-b776-11928b03bd1f" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:b26cfafde568e482" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "ops-warden", + "identity_type": "Repository", + "label": "ops-warden", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:ops-warden" + }, + { + "aliases": [ + "phase-memory", + "/home/worsch/phase-memory" + ], + "attributes": { + "default_branch": "main", + "domain": "markitect", + "has_local_path": true, + "has_remote_url": false, + "name": "phase-memory", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "d56e0504-044d-4021-ae43-e9d706dbd087" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:f630bbd62ffec78b" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "phase-memory", + "identity_type": "Repository", + "label": "phase-memory", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:phase-memory" + }, + { + "aliases": [ + "railiance-apps", + "/home/worsch/railiance-apps", + "http://92.205.130.254:32166/coulomb/railiance-apps.git" + ], + "attributes": { + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": true, + "name": "railiance-apps", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "cb06310e-4381-428b-b8f3-d3ea8ac2f70d" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:40beb96ec0c2498c" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-apps", + "identity_type": "Repository", + "label": "railiance-apps", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:railiance-apps" + }, + { + "aliases": [ + "railiance-cluster", + "/home/worsch/railiance-cluster", + "http://92.205.130.254:32166/coulomb/railiance-cluster.git" + ], + "attributes": { + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": true, + "name": "railiance-cluster", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "c3fd0dd2-a0de-415c-8e3a-e37406f4b8f8" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:981e44cb11973e44" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-cluster", + "identity_type": "Repository", + "label": "railiance-cluster", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:railiance-cluster" + }, + { + "aliases": [ + "railiance-enablement", + "/home/worsch/railiance-enablement", + "http://92.205.130.254:32166/coulomb/railiance-enablement.git" + ], + "attributes": { + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": true, + "name": "railiance-enablement", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "bc978be9-ca72-42bb-a451-d4737b779c5b" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:eacbd7a28e121081" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-enablement", + "identity_type": "Repository", + "label": "railiance-enablement", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:railiance-enablement" + }, + { + "aliases": [ + "railiance-fabric", + "/home/worsch/railiance-fabric", + "." + ], + "attributes": { + "branch": "main", + "default_branch": "main", + "domain": "railiance", + "has_fabric_dir": true, + "has_git_dir": true, + "has_local_path": true, + "has_remote_url": false, + "head": "355b7be66aad8a766716395585c937e3be5ce2b0", + "name": "railiance-fabric", + "path_exists": true, + "remote_origin": "gitea-remote:coulomb/railiance-fabric.git", + "repo_slug": "railiance-fabric", + "source_evidence_type": "repository_checkout", + "state_hub_repo_id": "2c0de614-e468-4eb6-8157-470649ac8c05" + }, + "confidence": 0.9, + "evidence_ids": [ + "evidence:root.registry.local-repos:f09103b02c4ae9fc", + "evidence:root.railiance-fabric.checkout:964745ce3b6dd491" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-fabric", + "identity_type": "Repository", + "label": "railiance-fabric", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:railiance-fabric" + }, + { + "aliases": [ + "railiance-hosts", + "/home/worsch/railiance-infra" + ], + "attributes": { + "ambiguous_aliases": [ + "home-worsch-railiance-infra" + ], + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": false, + "name": "railiance-hosts", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "2db668cf-6c52-4965-951f-0d5e617de9e3" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:f54177132294798c" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-hosts", + "identity_type": "Repository", + "label": "railiance-hosts", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "stable_key": "identity:repository:railiance-hosts" + }, + { + "aliases": [ + "railiance-infra", + "/home/worsch/railiance-infra", + "http://92.205.130.254:32166/coulomb/railiance-infra.git" + ], + "attributes": { + "ambiguous_aliases": [ + "home-worsch-railiance-infra" + ], + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": true, + "name": "railiance-infra", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "485187c0-4fad-42f7-984c-5e317a66c5de" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:c960c3a821576795" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-infra", + "identity_type": "Repository", + "label": "railiance-infra", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "stable_key": "identity:repository:railiance-infra" + }, + { + "aliases": [ + "railiance-platform", + "/home/worsch/railiance-platform", + "http://92.205.130.254:32166/coulomb/railiance-platform.git" + ], + "attributes": { + "default_branch": "main", + "domain": "railiance", + "has_local_path": true, + "has_remote_url": true, + "name": "railiance-platform", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "5115e0c5-009f-4168-b155-9943fe2ab9a7" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:a12e96e6d9418b3d" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "railiance-platform", + "identity_type": "Repository", + "label": "railiance-platform", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:railiance-platform" + }, + { + "aliases": [ + "repo-scoping", + "/home/worsch/repo-scoping", + "gitea-remote:coulomb/repo-scoping.git" + ], + "attributes": { + "default_branch": "main", + "domain": "capabilities", + "has_local_path": true, + "has_remote_url": true, + "name": "repo-scoping", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "de749ff1-a4a4-42f5-8ed4-6b8c05b18bd9" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:6addadec236dd62f" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "repo-scoping", + "identity_type": "Repository", + "label": "repo-scoping", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:repo-scoping" + }, + { + "aliases": [ + "state-hub", + "/home/worsch/state-hub", + "gitea-remote:coulomb/state-hub.git" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": true, + "name": "State Hub", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "8e9ffb56-7abc-47b5-84b2-5ad392b37dcd" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:720808c98666e541" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "state-hub", + "identity_type": "Repository", + "label": "state-hub", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:state-hub" + }, + { + "aliases": [ + "the-custodian", + "/home/worsch/the-custodian", + "http://gitea.local/worsch/the-custodian" + ], + "attributes": { + "default_branch": "main", + "domain": "custodian", + "has_local_path": true, + "has_remote_url": true, + "name": "The Custodian", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "56ae522c-b47e-4748-8239-f61b332fe69d" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:100a6d70bb2f298a" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "the-custodian", + "identity_type": "Repository", + "label": "the-custodian", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "candidate", + "stable_key": "identity:repository:the-custodian" + }, + { + "aliases": [ + "vergabe-teilnahme", + "/home/worsch/vergabe-teilnahme", + "gitea-remote:coulomb/vergabe-teilnahme.git" + ], + "attributes": { + "ambiguous_aliases": [ + "home-worsch-vergabe-teilnahme" + ], + "default_branch": "main", + "domain": "coulomb_social", + "has_local_path": true, + "has_remote_url": true, + "name": "vergabe-teilnahme", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "ff7b0754-9d54-4abf-a752-d342870f5993" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:e3fae7fb0c8a6867" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "vergabe-teilnahme", + "identity_type": "Repository", + "label": "vergabe-teilnahme", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "stable_key": "identity:repository:vergabe-teilnahme" + }, + { + "aliases": [ + "vergabe_teilnahme", + "/home/worsch/vergabe-teilnahme" + ], + "attributes": { + "ambiguous_aliases": [ + "home-worsch-vergabe-teilnahme" + ], + "default_branch": "main", + "domain": "vergabe_teilnahme", + "has_local_path": true, + "has_remote_url": false, + "name": "vergabe-teilnahme", + "source_evidence_type": "registered_repository", + "state_hub_repo_id": "46d9338e-d079-4953-b174-0ea64761be5c" + }, + "confidence": 0.85, + "evidence_ids": [ + "evidence:root.registry.local-repos:0703300ec1742fe1" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "vergabe_teilnahme", + "identity_type": "Repository", + "label": "vergabe_teilnahme", + "owner_actor_id": "actor.railiance.primary-lord", + "review_state": "needs_review", + "stable_key": "identity:repository:vergabe_teilnahme" + }, + { + "aliases": [ + "fabric/services/railiance-platform-openbao.yaml" + ], + "attributes": { + "exists": true, + "path_type": "file", + "sha256": "d3e2f4e1bda8a07899df425d448c0e68dc9c0215dabded856cf74079c4eee67b", + "size_bytes": 556, + "source_evidence_type": "secret_root" + }, + "confidence": 0.65, + "evidence_ids": [ + "evidence:root.openbao.secret-metadata:6cdcc67152329fed" + ], + "fabric_id": "fabric.railiance.primary", + "graph_id": "fabric/services/railiance-platform-openbao.yaml", + "identity_type": "SecretRoot", + "label": "railiance-platform-openbao.yaml", + "owner_actor_id": "actor.railiance.king", + "review_state": "candidate", + "stable_key": "identity:secret-root:fabric-services-railiance-platform-openbao.yaml" + } + ], + "kind": "AccountabilityIdentityProjection" +} diff --git a/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-ownership-review.json b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-ownership-review.json new file mode 100644 index 0000000..0d7db39 --- /dev/null +++ b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-ownership-review.json @@ -0,0 +1,1940 @@ +{ + "apiVersion": "railiance.fabric/v1alpha2", + "evidence_run": { + "generated_at": "2026-05-24T08:25:15Z", + "manifest_fingerprint": "dd279b655d68222a99671c1c875afdaa70ae2f907fd526e6673ddf756bc90dae", + "manifest_id": "railiance.accountability-roots" + }, + "generated_at": "2026-05-24T08:25:48Z", + "items": [ + { + "blockers": [], + "containment": { + "fabric_id": "", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [], + "identity_type": "Actor", + "label": "Railiance King", + "ownership": { + "owner_actor_id": "actor.railiance.king", + "owner_role": "king", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:actor:actor.railiance.king" + }, + { + "blockers": [], + "containment": { + "fabric_id": "", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [], + "identity_type": "Actor", + "label": "Railiance Primary Lord", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:actor:actor.railiance.primary-lord" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.backup-recovery.metadata:99d0713b16e64003" + ], + "identity_type": "BackupRecoveryRoot", + "label": "financial-fabric-operator-guide.md", + "ownership": { + "owner_actor_id": "actor.railiance.king", + "owner_role": "king", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:backup-recovery-root:docs-financial-fabric-operator-guide.md" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.gitea.coulomb:b318cdd943773f81" + ], + "identity_type": "CatalogRoot", + "label": "ssh://git@92.205.130.254:30022/coulomb", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:catalog-root:gitea_organization" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:42f1d77e4f940f08" + ], + "identity_type": "CatalogRoot", + "label": "None", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:catalog-root:registry_manifest" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:b6e8ff4da28ac237" + ], + "identity_type": "Deployable", + "label": "custodian-sync.service", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-.config-systemd-user-custodian-sync.service" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:1136953e4f506b47" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-activity-core-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:2b875575ba03e546" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-go-src-crypto-internal-boring-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:a057be0b918753a0" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-go-src-crypto-internal-nistec-fiat-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:0af32afa7ad42ffc" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-key-cape-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:37800fe39d842850" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-repo-scoping-var-checkouts-key-cape-a01db9828dd4-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:99cda1caede6044d" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-state-hub-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:7777dbb0cf534c9c" + ], + "identity_type": "Deployable", + "label": "build-agent.service", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-the-custodian-infra-build-machines-haskell-files-build-agent.service" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.deployment.local-manifests:11dbda7eab68ade3" + ], + "identity_type": "Deployable", + "label": "Dockerfile", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:deployable:home-worsch-vergabe-teilnahme-dockerfile" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [], + "identity_type": "Fabric", + "label": "Railiance Primary Fabric", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:fabric:fabric.railiance.primary" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8f19157f7c0af112" + ], + "identity_type": "HostPath", + "label": "fabric", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:fabric" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:f2c9171da95b01e2" + ], + "identity_type": "HostPath", + "label": ".git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:6afdba7954c1d430" + ], + "identity_type": "HostPath", + "label": "/home/worsch/.nvm/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-.nvm-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:4f33e05cc0c3a4ae" + ], + "identity_type": "HostPath", + "label": "/home/worsch/activity-core/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-activity-core-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:d915966de37625c2" + ], + "identity_type": "HostPath", + "label": "/home/worsch/artifact-store/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-artifact-store-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:29be8b1879e4f03e" + ], + "identity_type": "HostPath", + "label": "/home/worsch/can-you-assist/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-can-you-assist-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8e11a752b54f6344" + ], + "identity_type": "HostPath", + "label": "/home/worsch/domain-tree/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-domain-tree-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:1972ded4dce0d752" + ], + "identity_type": "HostPath", + "label": "/home/worsch/flex-auth/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-flex-auth-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:3f027dbb5939678b" + ], + "identity_type": "HostPath", + "label": "/home/worsch/guide-board/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-guide-board-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:853bbafc470d1ddf" + ], + "identity_type": "HostPath", + "label": "/home/worsch/helix-forge/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-helix-forge-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:41ce1a92028e219a" + ], + "identity_type": "HostPath", + "label": "/home/worsch/ihp-railiance-probe/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ihp-railiance-probe-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:01e6036b5dba8730" + ], + "identity_type": "HostPath", + "label": "/home/worsch/info-tech-canon/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-info-tech-canon-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8ab03bc3c699dcb3" + ], + "identity_type": "HostPath", + "label": "/home/worsch/infospace-bench/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-infospace-bench-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:fe87f163ed812c2c" + ], + "identity_type": "HostPath", + "label": "/home/worsch/inter-hub/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-inter-hub-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:9574d10e7819725c" + ], + "identity_type": "HostPath", + "label": "/home/worsch/issue-core/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-issue-core-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:a73d0d5db8c93635" + ], + "identity_type": "HostPath", + "label": "/home/worsch/key-cape/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-key-cape-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:947992c543220b50" + ], + "identity_type": "HostPath", + "label": "/home/worsch/kontextual-engine/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-kontextual-engine-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:987db7c486b6950d" + ], + "identity_type": "HostPath", + "label": "/home/worsch/llm-connect/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-llm-connect-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:88e23e7f58e7c06f" + ], + "identity_type": "HostPath", + "label": "/home/worsch/markitect-filter/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-filter-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b148d20e0f88e7c9" + ], + "identity_type": "HostPath", + "label": "/home/worsch/markitect-main/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-main-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:12b2a9a2c6020a6e" + ], + "identity_type": "HostPath", + "label": "/home/worsch/markitect-quarkdown/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-quarkdown-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:29d68aac75b2fd1e" + ], + "identity_type": "HostPath", + "label": "/home/worsch/markitect-tool/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-markitect-tool-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:97220247bbe6c226" + ], + "identity_type": "HostPath", + "label": "/home/worsch/net-kingdom/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-net-kingdom-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:0e3d9e3fcd2454ad" + ], + "identity_type": "HostPath", + "label": "/home/worsch/open-cmis-tck/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-open-cmis-tck-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:46bcbcdced2e68b1" + ], + "identity_type": "HostPath", + "label": "/home/worsch/open-reuse/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-open-reuse-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:8d4c580a152c87ef" + ], + "identity_type": "HostPath", + "label": "/home/worsch/ops-bridge/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ops-bridge-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:2632b056a3d8d04b" + ], + "identity_type": "HostPath", + "label": "/home/worsch/ops-warden/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-ops-warden-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:d08e3c86e52c3d47" + ], + "identity_type": "HostPath", + "label": "/home/worsch/phase-memory/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-phase-memory-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:bc0706f6058d1296" + ], + "identity_type": "HostPath", + "label": "/home/worsch/railiance-apps/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-apps-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:ccda3ace25f8d325" + ], + "identity_type": "HostPath", + "label": "/home/worsch/railiance-cluster/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-cluster-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:96f6f9703e3c48fb" + ], + "identity_type": "HostPath", + "label": "/home/worsch/railiance-enablement/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-enablement-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:e9573042a7f07ffd" + ], + "identity_type": "HostPath", + "label": "/home/worsch/railiance-infra/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-infra-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:a9052dfc594c3068" + ], + "identity_type": "HostPath", + "label": "/home/worsch/railiance-platform/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-railiance-platform-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:812a28f31af28d65" + ], + "identity_type": "HostPath", + "label": "/home/worsch/repo-scoping/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-repo-scoping-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:c30f48dd6a77d9c2" + ], + "identity_type": "HostPath", + "label": "/home/worsch/repo-seed/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-repo-seed-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b7a05112d0360078" + ], + "identity_type": "HostPath", + "label": "/home/worsch/shard-wiki/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-shard-wiki-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:2be66e9744be4f0d" + ], + "identity_type": "HostPath", + "label": "/home/worsch/state-hub/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-state-hub-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:0ff1c1b3d63974b8" + ], + "identity_type": "HostPath", + "label": "/home/worsch/tegwick-control/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-tegwick-control-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:1ce1f0d592915f50" + ], + "identity_type": "HostPath", + "label": "/home/worsch/the-custodian/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-the-custodian-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:570a6d36e036d04a" + ], + "identity_type": "HostPath", + "label": "/home/worsch/user-engine/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-user-engine-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:cf9eeacab32129e3" + ], + "identity_type": "HostPath", + "label": "/home/worsch/vantage-point/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-vantage-point-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:919aaf163a9fcf42" + ], + "identity_type": "HostPath", + "label": "/home/worsch/vergabe-teilnahme/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-vergabe-teilnahme-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:b31164391c2d05f7" + ], + "identity_type": "HostPath", + "label": "/home/worsch/whynot-control/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-whynot-control-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.workspace.home-worsch:af064bec9edcbf25" + ], + "identity_type": "HostPath", + "label": "/home/worsch/whynot-design/.git", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:host-path:home-worsch-whynot-design-.git" + }, + { + "blockers": [], + "containment": { + "fabric_id": "", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [], + "identity_type": "Netkingdom", + "label": "Railiance Netkingdom", + "ownership": { + "owner_actor_id": "actor.railiance.king", + "owner_role": "king", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:netkingdom:railiance.netkingdom" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:8cee6f6ee4eb63a1" + ], + "identity_type": "Repository", + "label": "activity-core", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:activity-core" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:8cd7cecfc6d233d5" + ], + "identity_type": "Repository", + "label": "artifact-store", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:artifact-store" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:9bb313ace63f7355" + ], + "identity_type": "Repository", + "label": "domain-tree", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:domain-tree" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:6f4d5102aa3d4f73" + ], + "identity_type": "Repository", + "label": "flex-auth", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:flex-auth" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:e0181f99c192f303" + ], + "identity_type": "Repository", + "label": "guide-board", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:guide-board" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:4decf44c598b4a57" + ], + "identity_type": "Repository", + "label": "helix-forge", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:helix-forge" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:bb23149605740e9a" + ], + "identity_type": "Repository", + "label": "ihp-railiance-probe", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:ihp-railiance-probe" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:27d6f12c7f495b31" + ], + "identity_type": "Repository", + "label": "infospace-bench", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:infospace-bench" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:efeeaf25f0ab8aeb" + ], + "identity_type": "Repository", + "label": "inter-hub", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:inter-hub" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:d09d1c836c4e36bf" + ], + "identity_type": "Repository", + "label": "issue-core", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:issue-core" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:43caac3f3cfa4ad7" + ], + "identity_type": "Repository", + "label": "key-cape", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:key-cape" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:ead9ecf1b49cf3cc" + ], + "identity_type": "Repository", + "label": "kontextual-engine", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:kontextual-engine" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:106e66cb38d653c2" + ], + "identity_type": "Repository", + "label": "llm-connect", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:llm-connect" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:61b9d69ccca5dc40" + ], + "identity_type": "Repository", + "label": "markitect-filter", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:markitect-filter" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:01ac8b9b2057660b" + ], + "identity_type": "Repository", + "label": "markitect-project", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:markitect-project" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:49b6aaf12dfa6b08" + ], + "identity_type": "Repository", + "label": "markitect-quarkdown", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:markitect-quarkdown" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:de4f013ef9bb3778" + ], + "identity_type": "Repository", + "label": "markitect-tool", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:markitect-tool" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:909804aaf07ec7e6" + ], + "identity_type": "Repository", + "label": "net-kingdom", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:net-kingdom" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:fdf5bfa0d976ccaf" + ], + "identity_type": "Repository", + "label": "open-cmis-tck", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:open-cmis-tck" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:79a1e537db736d46" + ], + "identity_type": "Repository", + "label": "open-reuse", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:open-reuse" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:20c8f1ccfa973270" + ], + "identity_type": "Repository", + "label": "ops-bridge", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:ops-bridge" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:b26cfafde568e482" + ], + "identity_type": "Repository", + "label": "ops-warden", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:ops-warden" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:f630bbd62ffec78b" + ], + "identity_type": "Repository", + "label": "phase-memory", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:phase-memory" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:40beb96ec0c2498c" + ], + "identity_type": "Repository", + "label": "railiance-apps", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:railiance-apps" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:981e44cb11973e44" + ], + "identity_type": "Repository", + "label": "railiance-cluster", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:railiance-cluster" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:eacbd7a28e121081" + ], + "identity_type": "Repository", + "label": "railiance-enablement", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:railiance-enablement" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:f09103b02c4ae9fc", + "evidence:root.railiance-fabric.checkout:964745ce3b6dd491" + ], + "identity_type": "Repository", + "label": "railiance-fabric", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:railiance-fabric" + }, + { + "blockers": [ + "ambiguous_identity" + ], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:f54177132294798c" + ], + "identity_type": "Repository", + "label": "railiance-hosts", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "needs_review", + "stable_key": "identity:repository:railiance-hosts" + }, + { + "blockers": [ + "ambiguous_identity" + ], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:c960c3a821576795" + ], + "identity_type": "Repository", + "label": "railiance-infra", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "needs_review", + "stable_key": "identity:repository:railiance-infra" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:a12e96e6d9418b3d" + ], + "identity_type": "Repository", + "label": "railiance-platform", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:railiance-platform" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:6addadec236dd62f" + ], + "identity_type": "Repository", + "label": "repo-scoping", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:repo-scoping" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:720808c98666e541" + ], + "identity_type": "Repository", + "label": "state-hub", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:state-hub" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:100a6d70bb2f298a" + ], + "identity_type": "Repository", + "label": "the-custodian", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:repository:the-custodian" + }, + { + "blockers": [ + "ambiguous_identity" + ], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:e3fae7fb0c8a6867" + ], + "identity_type": "Repository", + "label": "vergabe-teilnahme", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "needs_review", + "stable_key": "identity:repository:vergabe-teilnahme" + }, + { + "blockers": [ + "ambiguous_identity" + ], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.registry.local-repos:0703300ec1742fe1" + ], + "identity_type": "Repository", + "label": "vergabe_teilnahme", + "ownership": { + "owner_actor_id": "actor.railiance.primary-lord", + "owner_role": "lord", + "resolution": "explicit" + }, + "review_state": "needs_review", + "stable_key": "identity:repository:vergabe_teilnahme" + }, + { + "blockers": [], + "containment": { + "fabric_id": "fabric.railiance.primary", + "status": "resolved", + "subfabric_id": "" + }, + "evidence_ids": [ + "evidence:root.openbao.secret-metadata:6cdcc67152329fed" + ], + "identity_type": "SecretRoot", + "label": "railiance-platform-openbao.yaml", + "ownership": { + "owner_actor_id": "actor.railiance.king", + "owner_role": "king", + "resolution": "explicit" + }, + "review_state": "candidate", + "stable_key": "identity:secret-root:fabric-services-railiance-platform-openbao.yaml" + } + ], + "kind": "AccountabilityOwnershipReview", + "summary": { + "accepted": 0, + "ambiguous_containment": 0, + "needs_review": 4, + "total": 96, + "unresolved_ownership": 0 + } +} diff --git a/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-update-delta.json b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-update-delta.json new file mode 100644 index 0000000..049c17c --- /dev/null +++ b/fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-update-delta.json @@ -0,0 +1,140 @@ +{ + "apiVersion": "railiance.fabric/v1alpha2", + "change_sets": { + "blockers": [], + "containment": [], + "ownership": [], + "review_state": [] + }, + "current": { + "generated_at": "2026-05-24T08:26:01Z", + "manifest_fingerprint": "dd279b655d68222a99671c1c875afdaa70ae2f907fd526e6673ddf756bc90dae", + "manifest_id": "railiance.accountability-roots" + }, + "edge_delta": { + "added": [ + "candidate-edge:d448183c64bba5c0" + ], + "changed": [], + "removed": [], + "unchanged": [] + }, + "generated_at": "2026-05-24T08:26:31Z", + "kind": "AccountabilityUpdateDelta", + "node_delta": { + "added": [ + "identity:actor:actor.railiance.king", + "identity:actor:actor.railiance.primary-lord", + "identity:backup-recovery-root:docs-financial-fabric-operator-guide.md", + "identity:catalog-root:gitea_organization", + "identity:catalog-root:registry_manifest", + "identity:deployable:home-worsch-.config-systemd-user-custodian-sync.service", + "identity:deployable:home-worsch-activity-core-dockerfile", + "identity:deployable:home-worsch-go-src-crypto-internal-boring-dockerfile", + "identity:deployable:home-worsch-go-src-crypto-internal-nistec-fiat-dockerfile", + "identity:deployable:home-worsch-key-cape-dockerfile", + "identity:deployable:home-worsch-repo-scoping-var-checkouts-key-cape-a01db9828dd4-dockerfile", + "identity:deployable:home-worsch-state-hub-dockerfile", + "identity:deployable:home-worsch-the-custodian-infra-build-machines-haskell-files-build-agent.service", + "identity:deployable:home-worsch-vergabe-teilnahme-dockerfile", + "identity:fabric:fabric.railiance.primary", + "identity:host-path:fabric", + "identity:host-path:git", + "identity:host-path:home-worsch-.nvm-.git", + "identity:host-path:home-worsch-activity-core-.git", + "identity:host-path:home-worsch-artifact-store-.git", + "identity:host-path:home-worsch-can-you-assist-.git", + "identity:host-path:home-worsch-domain-tree-.git", + "identity:host-path:home-worsch-flex-auth-.git", + "identity:host-path:home-worsch-guide-board-.git", + "identity:host-path:home-worsch-helix-forge-.git", + "identity:host-path:home-worsch-ihp-railiance-probe-.git", + "identity:host-path:home-worsch-info-tech-canon-.git", + "identity:host-path:home-worsch-infospace-bench-.git", + "identity:host-path:home-worsch-inter-hub-.git", + "identity:host-path:home-worsch-issue-core-.git", + "identity:host-path:home-worsch-key-cape-.git", + "identity:host-path:home-worsch-kontextual-engine-.git", + "identity:host-path:home-worsch-llm-connect-.git", + "identity:host-path:home-worsch-markitect-filter-.git", + "identity:host-path:home-worsch-markitect-main-.git", + "identity:host-path:home-worsch-markitect-quarkdown-.git", + "identity:host-path:home-worsch-markitect-tool-.git", + "identity:host-path:home-worsch-net-kingdom-.git", + "identity:host-path:home-worsch-open-cmis-tck-.git", + "identity:host-path:home-worsch-open-reuse-.git", + "identity:host-path:home-worsch-ops-bridge-.git", + "identity:host-path:home-worsch-ops-warden-.git", + "identity:host-path:home-worsch-phase-memory-.git", + "identity:host-path:home-worsch-railiance-apps-.git", + "identity:host-path:home-worsch-railiance-cluster-.git", + "identity:host-path:home-worsch-railiance-enablement-.git", + "identity:host-path:home-worsch-railiance-infra-.git", + "identity:host-path:home-worsch-railiance-platform-.git", + "identity:host-path:home-worsch-repo-scoping-.git", + "identity:host-path:home-worsch-repo-seed-.git", + "identity:host-path:home-worsch-shard-wiki-.git", + "identity:host-path:home-worsch-state-hub-.git", + "identity:host-path:home-worsch-tegwick-control-.git", + "identity:host-path:home-worsch-the-custodian-.git", + "identity:host-path:home-worsch-user-engine-.git", + "identity:host-path:home-worsch-vantage-point-.git", + "identity:host-path:home-worsch-vergabe-teilnahme-.git", + "identity:host-path:home-worsch-whynot-control-.git", + "identity:host-path:home-worsch-whynot-design-.git", + "identity:netkingdom:railiance.netkingdom", + "identity:repository:activity-core", + "identity:repository:artifact-store", + "identity:repository:domain-tree", + "identity:repository:flex-auth", + "identity:repository:guide-board", + "identity:repository:helix-forge", + "identity:repository:ihp-railiance-probe", + "identity:repository:infospace-bench", + "identity:repository:inter-hub", + "identity:repository:issue-core", + "identity:repository:key-cape", + "identity:repository:kontextual-engine", + "identity:repository:llm-connect", + "identity:repository:markitect-filter", + "identity:repository:markitect-project", + "identity:repository:markitect-quarkdown", + "identity:repository:markitect-tool", + "identity:repository:net-kingdom", + "identity:repository:open-cmis-tck", + "identity:repository:open-reuse", + "identity:repository:ops-bridge", + "identity:repository:ops-warden", + "identity:repository:phase-memory", + "identity:repository:railiance-apps", + "identity:repository:railiance-cluster", + "identity:repository:railiance-enablement", + "identity:repository:railiance-fabric", + "identity:repository:railiance-hosts", + "identity:repository:railiance-infra", + "identity:repository:railiance-platform", + "identity:repository:repo-scoping", + "identity:repository:state-hub", + "identity:repository:the-custodian", + "identity:repository:vergabe-teilnahme", + "identity:repository:vergabe_teilnahme", + "identity:secret-root:fabric-services-railiance-platform-openbao.yaml" + ], + "changed": [], + "removed": [], + "unchanged": [] + }, + "previous": {}, + "summary": { + "edges_added": 1, + "edges_changed": 0, + "edges_removed": 0, + "edges_unchanged": 0, + "meaningful_change_count": 97, + "nodes_added": 96, + "nodes_changed": 0, + "nodes_removed": 0, + "nodes_unchanged": 0, + "promotion_needed": true + } +} diff --git a/railiance_fabric/accountability_roots.py b/railiance_fabric/accountability_roots.py index 5c53250..219f3f7 100644 --- a/railiance_fabric/accountability_roots.py +++ b/railiance_fabric/accountability_roots.py @@ -634,7 +634,7 @@ def _identity_from_evidence(root: dict[str, Any], item: dict[str, Any]) -> dict[ "subfabric_id": subfabric_id, "owner_actor_id": owner_actor_id, "evidence_ids": evidence_ids, - "aliases": [path, Path(path).stem], + "aliases": [path], "attributes": {**attributes, "source_evidence_type": evidence_type}, "confidence": 0.75, } @@ -1096,7 +1096,11 @@ def _glob_root_evidence(root: dict[str, Any], evidence_type: str, *, max_items: return [_declared_evidence(root, f"{evidence_type}_missing", "unavailable", f"Root path missing: {base}")] matches: list[Path] = [] for pattern in patterns: - matches.extend(sorted(base.glob(str(pattern)))) + matches.extend( + path + for path in sorted(base.glob(str(pattern))) + if not _is_noise_match(evidence_type, path) + ) if len(matches) >= max_items: break evidence = [ @@ -1117,6 +1121,26 @@ def _glob_root_evidence(root: dict[str, Any], evidence_type: str, *, max_items: return evidence +def _is_noise_match(evidence_type: str, path: Path) -> bool: + if evidence_type not in {"deployment_automation", "infrastructure_manifest", "service_config", "endpoint_contract"}: + return False + parts = path.parts + noisy_parts = { + ".cache", + ".mypy_cache", + ".nvm", + ".pytest_cache", + ".tox", + ".venv", + "__pycache__", + "node_modules", + "site-packages", + } + if any(part in noisy_parts for part in parts): + return True + return any(parts[index : index + 3] == ("go", "pkg", "mod") for index in range(max(len(parts) - 2, 0))) + + def _state_hub_evidence(root: dict[str, Any], *, include_remote: bool) -> list[dict[str, Any]]: source = _source(root) if not include_remote: diff --git a/railiance_fabric/financial_baseline.py b/railiance_fabric/financial_baseline.py index 915c59a..80ae4d5 100644 --- a/railiance_fabric/financial_baseline.py +++ b/railiance_fabric/financial_baseline.py @@ -1,6 +1,7 @@ from __future__ import annotations import json +from datetime import datetime, timezone from pathlib import Path from typing import Any @@ -67,8 +68,7 @@ def financial_export_from_legacy( ], "unresolved": [], } - if legacy_graph.get("generated_at"): - graph["generated_at"] = legacy_graph["generated_at"] + graph["generated_at"] = legacy_graph.get("generated_at") or _utc_now() materialized = materialize_financial_graph_export(graph) errors = financial_graph_errors(materialized) if errors: @@ -135,3 +135,7 @@ def _has_value(value: Any) -> bool: if isinstance(value, list): return any(_has_value(item) for item in value) return value not in (None, "") + + +def _utc_now() -> str: + return datetime.now(timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z") diff --git a/tests/test_accountability_root_adapters.py b/tests/test_accountability_root_adapters.py index 6dd31c2..f91fe95 100644 --- a/tests/test_accountability_root_adapters.py +++ b/tests/test_accountability_root_adapters.py @@ -63,6 +63,85 @@ def test_identity_projection_is_stable_and_reviewable(tmp_path: Path) -> None: assert first["candidate_graph"]["edges"] +def test_deployable_identity_ignores_generic_filename_alias_ambiguity(tmp_path: Path) -> None: + workspace = tmp_path / "workspace" + for name in ("service-a", "service-b"): + service = workspace / name + service.mkdir(parents=True) + (service / "Dockerfile").write_text("FROM python:3.12-slim\n", encoding="utf-8") + manifest_path = _minimal_manifest( + tmp_path, + """ + - id: root.fixture.deployables + type: deployment_automation + status: active + fabric_id: fabric.fixture.primary + owner_actor_id: actor.fixture.lord + source: + path: {workspace} + patterns: + - "*/Dockerfile" + safe_discovery: local_files + evidence_scope: + - deployment_topology +""".format(workspace=workspace), + ) + manifest = load_accountability_root_manifest(manifest_path) + + projection = build_identity_projection(collect_accountability_root_evidence(manifest_path), manifest) + + deployables = [ + candidate + for candidate in projection["identity_candidates"] + if candidate["identity_type"] == "Deployable" + ] + assert len(deployables) == 2 + assert all("ambiguous_aliases" not in candidate.get("attributes", {}) for candidate in deployables) + + +def test_deployment_evidence_skips_dependency_cache_noise(tmp_path: Path) -> None: + workspace = tmp_path / "workspace" + (workspace / "service").mkdir(parents=True) + (workspace / "service" / "Dockerfile").write_text("FROM python:3.12-slim\n", encoding="utf-8") + (workspace / ".venv" / "lib" / "python3.12" / "site-packages" / "pkg").mkdir(parents=True) + (workspace / ".venv" / "lib" / "python3.12" / "site-packages" / "pkg" / "Dockerfile").write_text( + "FROM ignored\n", + encoding="utf-8", + ) + (workspace / "go" / "pkg" / "mod" / "example").mkdir(parents=True) + (workspace / "go" / "pkg" / "mod" / "example" / "Dockerfile").write_text( + "FROM ignored\n", + encoding="utf-8", + ) + manifest_path = _minimal_manifest( + tmp_path, + """ + - id: root.fixture.deployables + type: deployment_automation + status: active + fabric_id: fabric.fixture.primary + owner_actor_id: actor.fixture.lord + source: + path: {workspace} + patterns: + - "**/Dockerfile" + safe_discovery: local_files + evidence_scope: + - deployment_topology +""".format(workspace=workspace), + ) + + evidence = collect_accountability_root_evidence(manifest_path, max_items_per_root=20) + paths = [ + item["source"]["path"] + for root in evidence["roots"] + for item in root["evidence"] + if item["evidence_type"] == "deployment_automation" + ] + + assert paths == [str(workspace / "service" / "Dockerfile")] + + def test_evidence_store_persists_runs_items_and_identities(tmp_path: Path) -> None: manifest_path = _fixture_manifest(tmp_path) manifest = load_accountability_root_manifest(manifest_path) @@ -381,3 +460,46 @@ refresh: encoding="utf-8", ) return manifest + + +def _minimal_manifest(tmp_path: Path, discovery_roots: str) -> Path: + manifest = tmp_path / "minimal-accountability-roots.yaml" + manifest.write_text( + """ +apiVersion: railiance.fabric/v1alpha2 +kind: AccountabilityRootManifest +metadata: + id: fixture.minimal-accountability-roots + name: Fixture Minimal Accountability Roots +netkingdom: + id: fixture.netkingdom + name: Fixture Netkingdom + king_actor_id: actor.fixture.king +actors: + - id: actor.fixture.king + role: king + name: Fixture King + - id: actor.fixture.lord + role: lord + name: Fixture Lord +fabrics: + - id: fabric.fixture.primary + kind: Fabric + name: Fixture Primary Fabric + netkingdom_id: fixture.netkingdom + lord_actor_id: actor.fixture.lord + parent_fabric_id: null + status: active + boundary: + boundary_type: fabric + criterion: financial_and_operational_accountability +discovery_roots: +{discovery_roots} +refresh: + cadence: manual + triggers: + - operator_request +""".format(discovery_roots=discovery_roots.rstrip()), + encoding="utf-8", + ) + return manifest diff --git a/tests/test_registry.py b/tests/test_registry.py index 50bbf28..45751d8 100644 --- a/tests/test_registry.py +++ b/tests/test_registry.py @@ -329,6 +329,7 @@ def test_current_graph_projects_to_financial_baseline() -> None: assert list(validator.iter_errors(financial_graph)) == [] assert financial_graph["netkingdom"]["id"] == "railiance.netkingdom" assert financial_graph["fabrics"][0]["id"] == "fabric.railiance.primary" + assert financial_graph["generated_at"].endswith("Z") assert financial_graph["unresolved"] == [] assert all(node["containment"]["fabric_id"] == "fabric.railiance.primary" for node in financial_graph["nodes"]) assert all(node["ownership"]["owner_actor_id"] == "actor.railiance.primary-lord" for node in financial_graph["nodes"]) diff --git a/workplans/RAIL-FAB-WP-0018-accountability-root-discovery-update-loop.md b/workplans/RAIL-FAB-WP-0018-accountability-root-discovery-update-loop.md index f83dce8..8e769eb 100644 --- a/workplans/RAIL-FAB-WP-0018-accountability-root-discovery-update-loop.md +++ b/workplans/RAIL-FAB-WP-0018-accountability-root-discovery-update-loop.md @@ -4,11 +4,11 @@ type: workplan title: "Accountability Root Discovery And Update Loop" domain: railiance repo: railiance-fabric -status: active +status: finished owner: codex topic_slug: railiance created: "2026-05-23" -updated: "2026-05-23" +updated: "2026-05-24" state_hub_workstream_id: "651185b5-83fe-4aef-b29d-617b2bc48c7a" --- @@ -280,7 +280,7 @@ Result: ```task id: RAIL-FAB-WP-0018-T06 -status: todo +status: done priority: high state_hub_task_id: "0d05ee40-0823-473f-9c87-0ed964e8900c" ``` @@ -302,6 +302,33 @@ Done when: - State Hub can import the resulting export after `STATE-WP-0051`; - operator docs explain how to rerun the rebuild and update loop. +Result: + +- Tightened deployable identity normalization so generic filenames such as + `Dockerfile` no longer create false ambiguous identity blockers. +- Filtered dependency-cache deployment matches from accountability-root + deployable/config evidence. +- Aligned repository inventory, Gitea, host-path, and deployment roots to use + `actor.railiance.primary-lord` as the default financial owner for discovered + candidates. +- Saved the 2026-05-24 bootstrap artifacts: + `fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-identities.json`, + `fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-ownership-review.json`, + `fabric/discovery/snapshots/2026-05-24-railiance-bootstrap-update-delta.json`, + and `exports/state-hub/2026-05-24-railiance-financial-fabric-v1.json`. +- The bootstrap ownership review produced 96 candidates, zero unresolved + ownership items, zero ambiguous containment items, and four explicit + duplicate repository identity blockers. +- Created `RAIL-FAB-WP-0019` to resolve those duplicate repository identities + instead of hiding them. +- Imported the financial Fabric export into State Hub after applying the + `STATE-WP-0051` migration; State Hub accepted the export as valid with 2 + actors, 1 fabric, 49 nodes, 58 edges, and 0 unresolved items. +- Added `generated_at` stamping for financial bridge exports so saved snapshot + files carry export time. +- Verified with focused accountability/registry tests, artifact schema + validation, State Hub import/readback, and full `python3 -m pytest`. + ## Acceptance - Fabric discovery starts from accountability roots and deployment automation. diff --git a/workplans/RAIL-FAB-WP-0019-duplicate-repository-identity-review.md b/workplans/RAIL-FAB-WP-0019-duplicate-repository-identity-review.md new file mode 100644 index 0000000..103d3a7 --- /dev/null +++ b/workplans/RAIL-FAB-WP-0019-duplicate-repository-identity-review.md @@ -0,0 +1,81 @@ +--- +id: RAIL-FAB-WP-0019 +type: workplan +title: "Duplicate Repository Identity Review" +domain: railiance +repo: railiance-fabric +status: ready +owner: codex +topic_slug: railiance +created: "2026-05-24" +updated: "2026-05-24" +state_hub_workstream_id: "bc69549c-3cbc-4a7d-8766-b84added1133" +--- + +# RAIL-FAB-WP-0019 - Duplicate Repository Identity Review + +## Goal + +Resolve the duplicate repository identity blockers found during the +`RAIL-FAB-WP-0018` bootstrap run. + +The 2026-05-24 accountability-root ownership review resolved ownership and +containment for all candidates, but flagged four repository identities as +ambiguous because registry inventory evidence maps two repo slugs onto the same +local checkout path. + +## T01 - Inspect Duplicate Repo Path Evidence + +```task +id: RAIL-FAB-WP-0019-T01 +status: todo +priority: high +state_hub_task_id: "63c5ee1e-6c9f-4d63-b0b4-61308e833ac2" +``` + +Review the duplicate path evidence for: + +- `identity:repository:railiance-hosts` +- `identity:repository:railiance-infra` +- `identity:repository:vergabe-teilnahme` +- `identity:repository:vergabe_teilnahme` + +Done when the intended canonical repo identity, alias, or split-identity rule is +known for `/home/worsch/railiance-infra` and `/home/worsch/vergabe-teilnahme`. + +## T02 - Encode Canonical Identity Decisions + +```task +id: RAIL-FAB-WP-0019-T02 +status: todo +priority: high +state_hub_task_id: "bd0496f2-9a95-4487-9620-eabbf0e78c6b" +``` + +Apply the chosen resolution in the durable source of truth. + +Candidate options include: + +- fix duplicate entries in `registry/local-repos.yaml`; +- add explicit repository alias/canonicalization support to the identity + projection; +- persist review decisions for the affected stable identity keys. + +Done when duplicate repo path evidence no longer produces ambiguous repository +identity blockers. + +## T03 - Refresh Bootstrap Review Artifacts + +```task +id: RAIL-FAB-WP-0019-T03 +status: todo +priority: medium +state_hub_task_id: "2c90c5c1-46be-41b7-8854-602eea0e3aaf" +``` + +Rerun the accountability-root bootstrap review and update the saved discovery +snapshot artifacts. + +Done when `fabric/discovery/snapshots/*bootstrap-ownership-review.json` shows +zero ambiguous repository identity blockers, or documents any remaining blocker +as intentionally unresolved.