railiance-fabric/workplans/RAIL-FAB-WP-0026-repo-family-relation-projection.md
codex 9af9ee3e72
All checks were successful
CI Smoke / host-smoke (push) Successful in 0s
CI Smoke / container-smoke (push) Successful in 2s
Project repo-family relations from local declarations
2026-07-26 08:51:29 +02:00

3.8 KiB

id type title domain repo status owner topic_slug created updated state_hub_workstream_id
RAIL-FAB-WP-0026 workplan Project repo-family relations from repo-local declarations financials railiance-fabric finished codex railiance 2026-07-26 2026-07-26 13c95134-8a29-4b0a-a227-aa791f902517

RAIL-FAB-WP-0026 - Project repo-family relations from repo-local declarations

Goal

Make the first rail-*, rapp-*, and reef-* repos visible in Fabric as a minimal relation topology instead of only as isolated registered repositories.

Boundaries

This workplan may:

  • persist repo checkout and declaration-location hints in the registry
  • project repo-family relations from repo-local declaration files
  • update graph-explorer and registry docs to surface the new relation path

It must not:

  • redesign the broader Fabric graph model
  • invent repo-family relations from registry metadata alone when source-backed declaration files are available
  • claim runtime placement or governance beyond what the repo-local files state

T01 - Persist local repo path context in repository records

id: RAIL-FAB-WP-0026-T01
status: done
priority: high
state_hub_task_id: "e87f1771-718b-4b4f-9688-3673081dec67"

Store enough local checkout context in Fabric repository records so later graph projection can reopen the relevant repo-local declarations.

Acceptance:

  • repository records retain the checkout path when onboarding locally
  • repository records retain declaration-path hints when they are provided
  • the stored shape remains backward compatible for repos that only register by slug and remote URL

2026-07-26: Extended Fabric repository records to persist the local checkout path and any provided declaration_paths, updated the registry schema compatibly, and carried those fields through direct sync and manifest sync.

T02 - Project repo-family relations from repo-local files

id: RAIL-FAB-WP-0026-T02
status: done
priority: high
state_hub_task_id: "d45a0de0-f7b3-46c0-9ee8-e306826863af"

Project the minimum repo-family relation topology from repo-local declaration files instead of relying only on registry metadata.

Acceptance:

  • Fabric can project governed_by from repo-local rail, rapp, and reef declarations
  • Fabric can project supports_rail from rapp declarations
  • Fabric can project hosts_rail and binds_rapp from reef files
  • the resulting relations appear in registry-backed exports

2026-07-26: Added declaration-backed repo-family projection in the registry combined graph. Fabric now projects governed_by from the first-wave rail, rapp, and reef declarations, supports_rail from rapp declarations, and hosts_rail/binds_rapp from the reef binding files with declaration fallbacks. The graph explorer now preserves repository declaration references for those projected repo nodes.

T03 - Verify the first-wave relation path end to end

id: RAIL-FAB-WP-0026-T03
status: done
priority: medium
state_hub_task_id: "847cf1e9-8e29-4501-817b-b305e88302d9"

Verify that the current first-wave repos expose queryable repo-family relations through the live Fabric registry/export path.

Acceptance:

  • focused tests cover the new projection path
  • the live registry export shows the first-wave ownership and rail-host/support relations
  • docs point operators at the declaration-backed projection path

2026-07-26: Verified the projection with focused tests (tests/test_registry.py, tests/test_graph_explorer.py, and tests/test_canon.py) and reran them with local HTTP binding enabled. Restarted the local registry, resynced registry/railiance-repos.yaml, and confirmed the live export now emits governed_by for rail-kubernetes, rapp-openbao, and reef-railiance, plus supports_rail for rapp-openbao and hosts_rail for reef-railiance.