Files
railiance-fabric/workplans/RAIL-FAB-WP-0016-canon-aligned-graph-model-reset-reingest.md

8.3 KiB

id, type, title, domain, repo, status, owner, topic_slug, planning_priority, planning_order, created, updated, depends_on_workplans, state_hub_workstream_id
id type title domain repo status owner topic_slug planning_priority planning_order created updated depends_on_workplans state_hub_workstream_id
RAIL-FAB-WP-0016 workplan Canon-Aligned Graph Model Reset And Reingest railiance railiance-fabric finished codex railiance high 16 2026-05-23 2026-05-23
RAIL-FAB-WP-0015
4f776f2c-9a54-4658-8e30-eb0d3fc00b32

RAIL-FAB-WP-0016 - Canon-Aligned Graph Model Reset And Reingest

Goal

Use InfoTechCanon to refactor Railiance Fabric's nodes and edges model, then archive/drop prior registry graph data and reingest all repositories to build a renewed model aligned with canon semantics.

Background

The current Fabric graph grew through iterative discovery and projection work. That helped make the registry practically useful, but the node and edge model now needs a deliberate canon alignment pass before broad adoption. The canon now provides:

  • a reusable consumer alignment review kit,
  • railiance-fabric conformance support for entity and edge capture,
  • PURPOSES / INTENT / SCOPE guidance,
  • graph-oriented canonical entity categories,
  • CARING and Kubernetes benchmark pressure around roles, scope, evidence, and derived relationships.

This workplan should use those canon surfaces to make Fabric's graph cleaner, more semantically stable, and easier to visualize without confusing canonical relationships with display-only graph edges.

Safety Boundary

This workplan intentionally includes a destructive reset phase, but the reset MUST NOT be executed casually. Implementation must first produce an export, backup, rollback note, and explicit operator command. Prior registry data may be dropped only after the replacement model, scanner changes, and validation path are ready.

Canon Inputs

  • info-tech-canon review kit: review-kit/alignment
  • Railiance conformance pack: infospace/evaluations/railiance-fabric/conformance-pack.yaml
  • Entity and edge capture criteria: infospace/evaluations/railiance-fabric/entity-edge-capture-criteria.yaml
  • Mapping expectations: infospace/evaluations/railiance-fabric/mapping-expectations.yaml
  • Visualization examples: infospace/evaluations/railiance-fabric/visualization-examples.yaml
  • PURPOSES / INTENT / SCOPE pattern and model extension

Tasks

T01 - Canon alignment review and target model

id: RAIL-FAB-WP-0016-T01
status: done
priority: high
state_hub_task_id: "865c048b-fddc-43ee-a379-b61ca31df85b"
  • Run the canon consumer alignment review workflow against railiance-fabric.
  • Select relevant canon surfaces for graph capture, governance, purpose, evidence, tasks, landscape, DevSecOps, network, observability, and tagging.
  • Produce a target node and edge taxonomy with direct, partial, conflicting, and missing mappings.

T02 - Refactor nodes, edges, schemas, and validation

id: RAIL-FAB-WP-0016-T02
status: done
priority: high
state_hub_task_id: "26fbc0d5-3b82-45d2-8307-97dffb9de500"
  • Refactor Fabric graph nodes toward canon-aligned categories such as source repository, software system, service, endpoint, deployment, runtime resource, datastore, flow, policy, control, evidence, task, consumer purpose, and telemetry signal.
  • Refactor canonical edges toward relationships such as built_from, implements, exposes, depends_on, deploys, flows_to, governed_by, evidenced_by, observed_by, part_of, reads_or_writes, and creates_task.
  • Keep display-only visualization edges separate from canonical edges.
  • Update schemas, validators, scanner output, registry projection, docs, and graph explorer mapping as needed.

T03 - Export, archive, and controlled reset

id: RAIL-FAB-WP-0016-T03
status: done
priority: high
state_hub_task_id: "f9ce7cd7-48c1-4aa0-9760-b2bcf38feedd"
  • Export the current registry graph, discovery snapshots, accepted projections, and reingest metadata before any destructive action.
  • Add a guarded reset path that requires an explicit operator command and records what was dropped.
  • Document rollback limits and the intended post-reset source of truth.
  • Drop prior graph data only after backup and validation gates are satisfied.

T04 - Full repository reingest

id: RAIL-FAB-WP-0016-T04
status: done
priority: high
state_hub_task_id: "1d3efc3b-029e-4db5-9a83-b658f5ccdebd"
  • Reingest all registered/local repositories using the new canon-aligned model.
  • Start with deterministic scanner output and ingest-only mode.
  • Review changed, conflicted, and review-required repos before acceptance.
  • Project accepted graph state only after model validation and sample review.

Progress 2026-05-23:

  • Deterministic no-cache dry run completed for registry/local-repos.yaml with 35/35 repositories scanned, 0 errors, 0 conflicted candidates, and 0 review-required repositories.
  • Candidate totals from the dry-run report: 381 nodes, 415 edges, and 186 attributes.
  • Fixed a dry-run artifact naming collision for slugs that normalize to the same cache filename, observed with vergabe-teilnahme and vergabe_teilnahme; the rerun produced 35 unique snapshot paths and 35 snapshot files.
  • Actual reset/ingest/acceptance remains pending the explicit guarded reset command and operator confirmation token.

Progress 2026-05-23 reset execution:

  • Operator provided confirmation token RESET-RAILIANCE-FABRIC-GRAPH-DATA.
  • Guarded reset event 1 archived current graph data, dropped 54 discovery snapshots and 59 graph snapshots, and preserved 35 repository registrations.
  • Post-reset deterministic ingest-only run scanned and ingested 35/35 repositories with 0 errors, 0 conflicted candidates, and 0 review-required repositories.
  • Accepted/projected all 35 ingested discovery snapshots into renewed graph snapshots; final registry status after T04 is 35 repositories, 35 discovery snapshots, 35 graph snapshots, and 1 reset event.

T05 - Validation, visualization, and State Hub readiness

id: RAIL-FAB-WP-0016-T05
status: done
priority: high
state_hub_task_id: "420336e1-3450-4bbc-8c0f-d091098ee990"
  • Add regression tests for canonical node categories, edge categories, duplicate identity, destructive reset guardrails, and reingest idempotency.
  • Verify graph explorer displays the renewed model clearly.
  • Produce before/after counts and representative examples.
  • Confirm State Hub can ingest the renewed graph as a read model.

Progress 2026-05-23:

  • Full regression suite passed after reset/reingest: 42 tests.
  • Renewed registry status: 35 repositories, 35 discovery snapshots, 35 graph snapshots, and 1 reset event.
  • State Hub export validates against schemas/state-hub-export.schema.yaml and currently contains 49 nodes and 58 edges. Representative canonical edge relationships include exposes (31), depends_on (15), and implements (12).
  • Graph explorer manifest and payload validate against their schemas. The UI shell is reachable as Fabric Map; graph explorer payload metrics report 95 nodes, 129 edges, 35 repository nodes, 11 deployment nodes, and 5 unresolved items.
  • Blocked on actual State Hub read-model ingestion: no State Hub graph ingest endpoint or job was found in ~/state-hub; docs/state-hub-integration.md still describes this as a required State Hub ingestion endpoint/job.

Progress 2026-05-23 unblock:

  • STATE-WP-0050 added and completed the missing State Hub Fabric graph read-model ingestion path.
  • Verified the live State Hub service can pull the current Fabric export from http://127.0.0.1:8765/exports/state-hub.
  • Pull result was idempotent against import 130ffb56-7e30-4963-a3b1-b7527f685b45, storing 49 nodes and 58 edges.
  • Confirmed State Hub graph summary/query counts match the renewed Fabric export: canonical relationships exposes 31, depends_on 15, and implements 12.

Acceptance

  • The target Fabric node and edge model is explicitly mapped to InfoTechCanon.
  • Display-only graph relationships are separated from canonical relationships.
  • Prior graph data is exported or archived before any destructive reset.
  • The reset path is explicit, guarded, documented, and test-covered.
  • All registered/local repos are reingested into a renewed canon-aligned graph.
  • Validation and graph explorer review show cleaner entity and edge capture.
  • Any canon gaps or pressure discovered during the work are recorded as canon feedback, not silently folded into Fabric-specific semantics.