diff --git a/workplans/RAIL-FAB-WP-0016-canon-aligned-graph-model-reset-reingest.md b/workplans/RAIL-FAB-WP-0016-canon-aligned-graph-model-reset-reingest.md new file mode 100644 index 0000000..618f0ed --- /dev/null +++ b/workplans/RAIL-FAB-WP-0016-canon-aligned-graph-model-reset-reingest.md @@ -0,0 +1,157 @@ +--- +id: RAIL-FAB-WP-0016 +type: workplan +title: "Canon-Aligned Graph Model Reset And Reingest" +domain: railiance +repo: railiance-fabric +status: proposed +owner: codex +topic_slug: railiance +planning_priority: high +planning_order: 16 +created: "2026-05-23" +updated: "2026-05-23" +depends_on_workplans: + - RAIL-FAB-WP-0015 +state_hub_workstream_id: "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 + +```task +id: RAIL-FAB-WP-0016-T01 +status: todo +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 + +```task +id: RAIL-FAB-WP-0016-T02 +status: todo +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 + +```task +id: RAIL-FAB-WP-0016-T03 +status: todo +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 + +```task +id: RAIL-FAB-WP-0016-T04 +status: todo +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. + +### T05 - Validation, visualization, and State Hub readiness + +```task +id: RAIL-FAB-WP-0016-T05 +status: todo +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. + +## 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.