Skip to content

Connect or remove the visual-asset resolver path (client resolve call, renderer resolver, visual-assets package) #451

Description

@vishaltandale00

Follow-up from the #404 review (merged as eb791a3).

Problem

The asset half of visual Node Details ships as dead code with no end-to-end path:

  • packages/graph-client/src/client.ts still POSTs /api/graph/detail-assets/resolve when a program references assets; no crate serves that route (crates/relayer-graph-server/src/lib.rs router has no detail-assets entries).
  • desktop/renderer/src/graph.js never passes resolveNodeDetailAsset, so workspace.js uses the default async () => undefined and every image mount falls back to "Visual unavailable"; the runtime's blob: image adapter has no producer (createObjectURL appears nowhere).
  • packages/visual-assets (1.6k lines, native sharp dependency, built and tested in every CI run) has no consumer outside its own tests.

#404 hid assetRef from both the development and packaged agent surfaces and removed the asset guidance from the V3 preference, and PRD 6.3 now says asset interpolation "remains deferred until the authenticated graph resolver is connected". This issue tracks actually connecting it, or removing what cannot be connected.

Decision needed

  1. Implement the resolver: a graph-server route backed by the visual-assets persistence seam (VisualDetailPersistence.accept / digest-addressed read), wire resolveNodeDetailAsset in graph.js, and re-enable assetRef on the agent surface with PRD text to match. Or:
  2. Remove the client's resolve call and the visual-assets package from build:packages until (1) is scheduled, so CI stops compiling a native dependency nothing uses.

Either way, reconcile the media-type allowlists (Rust validate_authored_detail_schema, detail.ts, client.ts, and the renderer all pin jpeg|png|svg+xml after #404; keep them in one place if webp/gif ever return).

Evidence

#404 review rounds 1–3 (findings "assetRef advertised but no server implements resolve route", "Product CSP blocks runtime shadow styles", and the visual-assets no-consumer verification).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestneeds-triageNeeds initial triage and routing

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions