Parent issue: #2265
Depends on: #2657, #2658, #2687, #2715
Update: The original ticket described an environment flag, two graph providers, live fallback, and a special live path for --params. Those decisions are obsolete. The inspection adapter will be the only engine serving runtime HTTP graph responses, and resolved runtime parameters come from the existing config loader.
Summary
Serve /api/main and /api/pipelines/{id} from the snapshot GraphBuilder. The adapter is already implemented and tested, but these routes still use the old data_access_manager graph path.
Scope
- Add one small inspection-adapter provider around
GraphBuilder.
- Build and install the provider once during server startup using the selected project, environment, pipeline, catalog configuration, and resolved parameters.
- Preserve the full graph response contract before cutover: attach
.viz stats/styles as node_extras, and in full mode use a same-ID live lookup to supply the resolved dataset_type where the snapshot contains only a raw catalog type string. This enrichment must not change graph topology or IDs.
- Route
/api/main and /api/pipelines/{id} through that provider.
- Honour
--env, --pipeline, and --params.
- Fail clearly if the adapter cannot be built; do not silently switch to a second graph engine.
At this point the adapter is authoritative only for runtime HTTP graph endpoints. The current live load may remain temporarily for full-mode graph enrichment, node metadata/previews, static export, and notebook/VSCode consumers. Moving /api/nodes/{id}, /api/run-status, and static export is #2660; skipping the live load is #2661; deleting old graph construction is a later cleanup task.
Out of scope
- An adapter feature flag.
LiveDataProvider or automatic live-graph fallback.
- Node metadata, static export, notebook/VSCode migration, and lite startup.
Acceptance criteria
/api/main and every valid /api/pipelines/{id} response come from the inspection adapter.
- Responses match the captured baseline, including exact IDs, task parameters,
node_extras, and resolved dataset types.
- Existing graph styles, stats, and dataset-type icons do not regress.
- The requested pipeline and environment are honoured.
- Typed runtime parameter overrides appear in task-node parameters without changing graph IDs.
- An unknown pipeline ID returns 404.
- Provider construction occurs once per server load, not once per request.
Parent issue: #2265
Depends on: #2657, #2658, #2687, #2715
Summary
Serve
/api/mainand/api/pipelines/{id}from the snapshotGraphBuilder. The adapter is already implemented and tested, but these routes still use the olddata_access_managergraph path.Scope
GraphBuilder..vizstats/styles asnode_extras, and in full mode use a same-ID live lookup to supply the resolveddataset_typewhere the snapshot contains only a raw catalog type string. This enrichment must not change graph topology or IDs./api/mainand/api/pipelines/{id}through that provider.--env,--pipeline, and--params.At this point the adapter is authoritative only for runtime HTTP graph endpoints. The current live load may remain temporarily for full-mode graph enrichment, node metadata/previews, static export, and notebook/VSCode consumers. Moving
/api/nodes/{id},/api/run-status, and static export is #2660; skipping the live load is #2661; deleting old graph construction is a later cleanup task.Out of scope
LiveDataProvideror automatic live-graph fallback.Acceptance criteria
/api/mainand every valid/api/pipelines/{id}response come from the inspection adapter.node_extras, and resolved dataset types.