fix: feedback UX quick wins, run-plan cleanup, and topology improvements#143
Merged
Conversation
Resolve the top friction points from the internal Ask O11y feedback round: - Default to a fresh chat on open instead of auto-restoring the last session; show the history as a persistent docked side panel (was a modal) so past conversations are discoverable. Hidden in read-only and shared views. - Replace the easy-to-miss plus-icon with a labeled "New chat" button. - Stop truncating long PromQL/LogQL/TraceQL query blocks (wrap + scroll) and give the graph copy button the same "Copied!" feedback as logs and traces. - Surface agent-run errors as a retryable Alert with a Retry button that re-sends the last prompt, instead of appending raw error text. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The collapsible "Run progress" plan summary (objective + step chips) added noise without value. Drop the plan section and its now-unused state from AgentTraceSummary; evidence and approvals sections are unchanged. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The run-plan was a static, canned 3-step scaffold (not derived from the model's actual work) and its only renderer was just removed. Strip the whole pipeline: - Frontend: drop runPlan/AgentRunPlan/AgentPlanStep types, the run_plan and step_start/step_done SSE events, onRunPlan/onStep callbacks and their dispatch, and the evidence stepId field. - Backend: remove buildRunPlan/planObjective/currentEvidenceStepID, the run_plan + step events, PlanStep/RunPlanEvent/StepEvent types, the runstore Plan field and updateTraceStep. final_report is preserved (ungated from the now-removed plan check; behaviour is unchanged since the plan was always non-empty). Real progress is still shown via the tool-calls section. Tests updated. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Org policy requires all GitHub Actions pinned to a full-length commit SHA. Pin wait-for-grafana (e2e) and is-compatible (compatibilitycheck) to the current plugin-actions main SHA to unblock required checks. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
The reconnect-on-mount failure path wrote a generic message into the assistant content, bypassing the new retryable error Alert. Set the structured error field instead so the Retry button is offered. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Centered Graphiti fact lookups ran once per center node, bounded only by the display node limit (up to 500), causing a sequential MCP call storm that could exceed gateway timeouts. Cap center-node fact lookups at 12, independent of maxNodes. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit a0e9c1a. Configure here.
This was referenced Jun 9, 2026
6 tasks
alexinthesky
added a commit
that referenced
this pull request
Jul 21, 2026
…ar (#152) * test: fix CI regressions from namespaced storage key and docked sidebar - AppConfig.test.tsx hardcoded the pre-namespacing sessionStorage key; update to use getPluginStorageKey (broken since the namespace-storage-key fix, never caught because that PR did not touch this test). - The session sidebar became a persistent docked panel (open by default, no longer closes on new-chat) in #143, but e2e specs still assumed the old closed-by-default modal. Update sessionManagement/sessionSharing/ chat specs: disambiguate the header Chat history / New chat buttons from the sidebar's own New Chat and Clear All History controls (both now simultaneously in the DOM), and drop the stale sidebar-closes-on-new-session assertion. - sidePanel.spec.ts's DOM heuristic (first 3-child div under [role=main]) now matches the docked sidebar instead of the SplitLayout pane; scope it to the existing [data-plugin-split-layout] marker instead. All 491 unit tests and all 38 Playwright e2e tests pass locally. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(deps): force js-yaml to patched version via override Both transitive copies (via i18next-parser/eslint/postcss-loader on 4.x, and via babel-plugin-istanbul on 3.x) were vulnerable to CVE-2026-59869 (GHSA-52cp-r559-cp3m, quadratic CPU consumption via YAML merge-key chains). No direct dependency to bump; overrides is already the established pattern here for dompurify/lodash-es. This is required for the plugin-validator osv-scanner gate (Build, lint and unit tests / Validate plugin) to pass. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> * fix(deps): force undici and ws to patched versions via override Both are transitive (cheerio -> undici, jsdom -> ws) and their parent packages already allow the patched range, so this only pins the floor: - undici < 7.28.0 is vulnerable to several HIGH CVEs (2026-6734, 2026-9697, 2026-12151); patched in 7.28.0. - ws < 8.21.0 is vulnerable to CVE-2026-48779 (fragment-count DoS); patched in 8.21.0. Closes out the remaining plugin-validator osv-scanner findings on this branch (js-yaml was fixed in the previous commit). Local 'npm run validate' now only reports the documented benign findings (unsigned plugin, stale Go SDK, sponsor link). Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> --------- Co-authored-by: Claude Sonnet 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.

Summary
Addresses the top friction points from the internal Ask O11y feedback round (14 respondents), plus related cleanup.
Feedback UX quick wins
Alertwith a Retry button that re-sends the last prompt, instead of appending raw error text.Cleanup
buildRunPlan/events/runstore).final_reportbehaviour is unchanged. Real progress is still shown via the tool-calls section.Also included
fix: dead code— Graphiti/topology query improvements (pkg/plugin/topology.go,plugin.go), supporting scripts, and minor config/test updates. Bundled here per request.Testing
npm run build✅,npm run typecheck✅,eslint ./src0 errors ✅npm run test:ci— 491 unit tests pass ✅ (added coverage for error/retry)go build ./pkg/...✅,go test ./pkg/agent/... ./pkg/plugin/...✅🤖 Generated with Claude Code
Note
Medium Risk
Changes default session behavior and agent SSE surface area (run_plan removed); topology refresh issues more sequential MCP calls, though bounded to reduce timeout risk.
Overview
Improves Ask O11y chat UX from internal feedback and removes the canned run-plan/progress pipeline end-to-end (agent SSE, run trace, and UI), while keeping
final_report, tool calls, evidence, and approvals.Chat: Opens on a fresh conversation (no auto-restore of last session); session history is a docked sidebar by default. Labeled “New chat”, retryable agent errors via
Alert+ Retry, and query footers that wrap/scroll with copy feedback on graphs.Service graph: Graphiti topology refresh now searches typed nodes and optional center-node fact lookups (capped), with richer fact/node parsing (UUIDs, namespaces/clusters/queues) and settings summary showing service vs total node counts.
Tooling: Adds local scripts to restore Redis dumps and export recent Ask O11y user metadata (gitignored); minor Claude/git allowlist updates.
Reviewed by Cursor Bugbot for commit a0e9c1a. Bugbot is set up for automated code reviews on this repo. Configure here.