Skip to content

Route node metadata and static export through the inspection adapter #2660

Description

@jitu5

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

Projects

Status
To Do

Relationships

None yet

Development

No branches or pull requests

Issue actions