Parent issue: #2265
Depends on: #2659, #2687
Update: This issue originally included changing run-status IDs and translating adapter IDs to live IDs. #2715/#2716 restored the existing Kedro-Viz IDs, so neither change is needed. The hook remains unchanged and no ID-translation bridge is introduced.
Summary
Serve /api/nodes/{id} and static export through the inspection-adapter provider. Add a lockstep test that protects the shared node-ID contract across graph, detail, run status, and export.
Scope
- Add a provider-owned static node lookup keyed by the IDs already returned in the graph.
- Build static node metadata from the snapshot, resolved parameters, and Viz configuration.
- Load file-backed stats/styles for node-detail responses without requiring dataset construction.
- In full mode, enrich the response by looking up the live task or dataset with the same ID only for fields that still require a live object, such as previews and the current source-code path.
- Route
/api/nodes/{id} through the provider and return 404 for an unknown ID.
- Route
/api/run-status through the provider while keeping the existing response builder, hook, and hook ID generation unchanged.
- Make static export enumerate pipelines and metadata-bearing nodes from the provider instead of reading graph repositories from
data_access_manager.
- Add cross-surface ID and export coverage.
The provider's static lookup is also the thin metadata path reused by lite mode in #2661. Kedro's future node-source snapshot field will replace the remaining live source-code lookup in a separate task.
Acceptance criteria
- The same task ID is used by
/api/main, /api/nodes/{id}, and the run-status hook.
- Dataset IDs remain aligned between the graph, dataset run events, node metadata, and export where those surfaces apply.
- Every graph node that has metadata resolves through
/api/nodes/{id}; unknown IDs return 404.
- Full mode preserves existing node metadata and preview behaviour.
/api/run-status is unchanged after routing through the provider.
- A provider with no live-object match returns the supported static fields without fabricating live-only fields.
- Static export writes
/api/main, every /api/pipelines/{id}, every metadata-bearing /api/nodes/{id}, and /api/run-status using provider IDs.
- With
--pipeline X, provider enumeration and exported pipeline/node files are limited to the selected pipeline scope.
- Modular-pipeline node files are intentionally omitted because those nodes are synthetic, their current metadata response is empty, and the frontend does not request the files.
Parent issue: #2265
Depends on: #2659, #2687
Summary
Serve
/api/nodes/{id}and static export through the inspection-adapter provider. Add a lockstep test that protects the shared node-ID contract across graph, detail, run status, and export.Scope
/api/nodes/{id}through the provider and return 404 for an unknown ID./api/run-statusthrough the provider while keeping the existing response builder, hook, and hook ID generation unchanged.data_access_manager.The provider's static lookup is also the thin metadata path reused by lite mode in #2661. Kedro's future node-source snapshot field will replace the remaining live source-code lookup in a separate task.
Acceptance criteria
/api/main,/api/nodes/{id}, and the run-status hook./api/nodes/{id}; unknown IDs return 404./api/run-statusis unchanged after routing through the provider./api/main, every/api/pipelines/{id}, every metadata-bearing/api/nodes/{id}, and/api/run-statususing provider IDs.--pipeline X, provider enumeration and exported pipeline/node files are limited to the selected pipeline scope.