Task Summary
Part of #5881 (design: #5880).
Show the cache to the user: a panel that lists cache entries, marks the ones the current run can use, and lets the user clear them; and canvas markings for operators that completed from the cache and ports that have a saved result.
Scope
- A Cache tab in the left panel listing the workflow's cache entries (operator, port, tuple count, source execution, last updated, short cache key), with a filter for entries the current run can use and a button to clear all.
- Services that subscribe to the cache websocket events and drive the panel and the per-port labels.
- Canvas: cached operators shown in a distinct color, cached output ports marked, an operator that completed from the cache shown in the new state, and worker count reading "from cache".
- Context-menu actions to clear the cache for a selected operator, or for it and the operators upstream of it.
- Validate-time invalidation: after the editor validates a workflow, entries whose cache key no longer matches are removed, with a toggle to turn that off and a notice.
- TypeScript types for the cache entry and the two websocket events.
Why this is safe. Additive. If the backend sends no cache events, the panel is empty and the canvas markings stay hidden, so a workflow that does not use the cache looks and behaves as today. The result location is never sent to the UI. The one shared-code touch is the canvas port markup, which also touches the connection-validation code used by every workflow.
Depends on. #5885 (the cache events and endpoints the UI reads).
Out of scope. Any backend behavior. Cost or eviction controls.
Task Type
Task Summary
Part of #5881 (design: #5880).
Show the cache to the user: a panel that lists cache entries, marks the ones the current run can use, and lets the user clear them; and canvas markings for operators that completed from the cache and ports that have a saved result.
Scope
Why this is safe. Additive. If the backend sends no cache events, the panel is empty and the canvas markings stay hidden, so a workflow that does not use the cache looks and behaves as today. The result location is never sent to the UI. The one shared-code touch is the canvas port markup, which also touches the connection-validation code used by every workflow.
Depends on. #5885 (the cache events and endpoints the UI reads).
Out of scope. Any backend behavior. Cost or eviction controls.
Task Type