Pinning: store stable IDs and add pin/unpin/replace/recompute UI actions #707
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Motivation
Description
action_id+argsand add helper methods onHistoryPin(matches_action,matches_id,update_from_action).src/history.rs:upsert_pin,remove_pin, andrecompute_pins(returnsPinRecomputeReport), and adjustPartialEqforHistoryPinto use the new identity.src/dashboard/widgets/command_history.rs) to resolve pinned entries against current actions/plugins/data, mark missing pins, and expose anUnpinaffordance for missing entries.src/gui/mod.rs):Pin current query result,Unpin result,Replace pin with current result, andRecompute pinned results, plusresolve_pin_actionandpin_result_menuhelpers integrated into existing result context menus.src/history.rs(see test names below).Testing
src/history.rs:pin_roundtrip_and_toggle(existing),pin_identity_uses_action_id_and_args, andupsert_and_recompute_pinsto validate identity, upsert, recompute and remove semantics.Codex Task