Search must be the default entry into Stella Ops for users who do not know Stella terminology, domain boundaries, or internal product structure.
The current model asks the user to understand too many concepts before they can succeed: Find/Explain/Act, explicit scope switching, recovery actions, and a separate AdvisoryAI destination.
Live verification also shows a real reliability gap: suggestion chips can render even when the active corpus cannot answer them. On 2026-03-07, the running AdvisoryAI service at http://127.1.0.44 rebuilt with documentCount=0, chunkCount=0, and doctorProjectionCount=0, while unified overlays rebuilt with only chunkCount=14. Querying database connectivity then returned zero cards. The current UX still offered that suggestion.
The product still exposes two entry mental models: global search and a route-jumping AdvisoryAI experience. Search-originated chat actions currently navigate into /security/triage, which breaks page continuity and makes AdvisoryAI feel like a separate destination.
The assistant still exposes Find / Explain / Act framing in chat. That pushes the user to learn the system’s internal reasoning model instead of simply asking for help.
Empty-state search still carries too much product education: domain guides, quick actions, context exposition, and explanatory labels. That is useful for experts but too loud for a self-serve default.
Current-scope behavior is correct as a ranking concept, but the UI still talks about the mechanism instead of simply showing the best in-scope answer first and only then out-of-scope overflow.
Suggestion reliability is fixed only when the active corpus is actually ingested. A healthy process with an empty corpus is still a bad operator experience unless the UI suppresses or fails those paths explicitly.
The product still leaves visible or hidden traces of a dual entry model. Search is supposed to be the starting point, but AdvisoryAI still feels like a separate feature instead of a secondary deep-dive opened from the search field.
The current surface still carries internal search concepts in contracts and helpers even after the visible buttons were reduced. If Find / Explain / Act still changes prompt or chip behavior, the product is still teaching an internal model.
The current history contract cannot reliably remove old failed searches after reload because the local store still accepts legacy bare-string entries with no result outcome attached.
Did you mean is still visually tied to the results surface rather than the input correction moment. It needs to live immediately below the search field.
Suggestions are still too easy to surface without enough corpus proof. Search must treat corpus readiness and suggestion executability as a product requirement, not a test-only concern.
Clarify prompts can still be mistaken for executable searches when they are phrased like literal user queries. Those prompts must behave as narrowing guidance, not dead-end starter searches.
Search and assistant still feel like sibling products in some flows. The operator should always start from search; assistant is a secondary detail view opened from that same surface.
Any visible “scope” mechanic is wrong for the default path. Current route, visible entities, and recent actions should weight results automatically. If the best answer is outside the current page, show it as overflow only after trying the current page first.
The product still risks teaching internal mechanics through labels, panels, and helper copy. The operator should not need to learn Stella structure, search science, or result modes just to get a useful answer.
Suggestions are not acceptable unless they execute. A surfaced starter chip that leads to zero useful results is a product defect even when the service is healthy.
Clarify text must not look like an executable starter search unless the backend has explicitly grounded it. Guidance such as “add an environment or release” belongs in the answer panel as guidance, not as a clickable query.
When multiple high-confidence results are close, search should summarize them automatically. The assistant exists to expand and deepen the answer, not to compensate for a weak primary result.
AdvisoryAI is a secondary deep-dive opened from search, not a competing starting point or route jump.
Search should infer relevance and intent; the user should not need to choose a mode or understand Stella search mechanics.
Search should bias to the current page context automatically; the user should not need to toggle scope.
Search should never advertise a suggestion that cannot execute against the active corpus.
Search history should contain only successful searches.
Telemetry remains optional. Search behavior must not depend on analytics emission.
Search UI must avoid teaching Stella terminology or search mechanics before the operator has even started.
Did you mean belongs directly below the search field because it is an input correction, not a downstream refinement.
Search should summarize close evidence automatically. AdvisoryAI expands detail; it should not be required to make the primary result understandable.
Search suggestions are only valid when end-to-end execution against the active ingested corpus returns a grounded or materially useful answer.
Search verification is incomplete until live ingestion-backed route coverage proves the surfaced suggestions on every supported page family.
Generic advisory queries such as cve or ghsa must rank operator-facing findings/VEX evidence before raw API operation cards unless the query explicitly asks for API/endpoint details.
Search actions must land on canonical Stella routes. Recovery-only URLs such as double-encoded docs paths are not release-ready behavior.
Add a compact AdvisoryAI launcher icon beside the search input.
Opening chat from that icon inherits the current page, current query, and top evidence when available.
Opening chat must stay on the current page through a global drawer or equivalent shell-level host. Search should not navigate the operator into a different feature route just to ask follow-up questions.
Infer likely user intent from the query and visible page context.
Weight current page/domain first.
If current-scope evidence is weak, show overflow results from outside the page scope below the in-scope section instead of asking the user to broaden scope manually.
Place Did you mean directly below the input because it is an input correction, not a result refinement.
Remove explicit Find / Explain / Act controls.
Remove the explicit scope toggle chip.
Remove manual result-domain refinements from the primary flow; the server should rank the current page first and render any cross-scope overflow as a secondary section instead.
Remove the recovery panel.
If top results are close in score, compose one short summary across them.
If one result is clearly dominant, present that answer first and then cards.
Prefer concise operator-facing labels over implementation-facing labels. The UI should show “best match here” and “also relevant elsewhere”, not expose ranking jargon.
Search-origin assistant actions should use secondary language such as “Open details” or “Ask for deeper help” rather than presenting a competing primary workflow.
Page suggestions become executable search intents, not static chips.
A suggestion is only shown if:
its preferred domain has live evidence, or
the backend confirms non-zero candidate coverage for it.
If the current corpus is empty for that page/domain, suppress those suggestion chips instead of showing dead leads.
A preflight result is not enough on its own for release quality. The supported live routes must be verified by running the surfaced suggestions end to end against ingested data.
Suggestions must be validated against the current corpus before rendering.
Knowledge/domain emptiness should be detectable so the UI can suppress invalid chips.
Empty-state contextual chips and page-owned common-question chips should preflight through the backend viability endpoint before they render.
Live Playwright coverage must assert that every surfaced suggestion returns visible results.
A service health check alone is not enough. On 2026-03-07, http://127.1.0.44/health returned 200 while the live knowledge rebuild returned documentCount=0; the product still surfaced dead chips. Corpus readiness is the gate, not process liveness.
Implemented from the corrective phases: search now opens AdvisoryAI through a shell-level drawer with no route jump, restores focus back to search when the drawer closes, and removes visible assistant mode framing.
Implemented from the corrective phases: the empty state no longer teaches Stella taxonomy through domain guides or quick links; it now keeps only current-page context, successful recent searches, and executable starter chips.
Implemented before and during the corrective phases: explicit scope/mode/recovery controls were removed from the main search flow, implicit current-scope weighting and overflow contracts were added, and suggestion viability preflight now suppresses dead chips before render.
Implemented before the corrective phases: the live Doctor suggestion suite now rebuilds the active corpus, fails on empty knowledge projections, iterates every surfaced suggestion, and verifies Ask-AdvisoryAI inherits the live search context.
Implemented from the corrective phases: backend overflow is now narrow enough that clear in-scope winners suppress out-of-scope spillover, blended summaries only appear for genuinely close evidence clusters, and SearchTelemetryEnabled cleanly disables analytics/feedback/sink emission without affecting retrieval or history.
Implemented from the operator-correction pass: FE search contracts no longer depend on hidden Find / Explain / Act metadata, starter chips wait for backend viability before rendering, Did you mean is the first in-panel cue under the search field, and successful recent history now uses a structured stella-successful-searches-v3 contract that ignores legacy bare-string entries on load.
Implemented from the final correction pass: the primary surface now uses secondary “deeper help/details” assistant language instead of presenting a separate AdvisoryAI product, overflow results read as supporting context, and starter chips that execute to no useful result are suppressed from the current page until context changes.
Implemented from the final live verification pass: the supported live route matrix now covers Doctor, Security triage, Policy governance, and Advisories/VEX with corpus rebuild preflight plus end-to-end suggestion execution on ready routes.
Implemented from the self-serve rollout pass: mocked operator-journey coverage now explicitly covers findings, policy, doctor, timeline, and releases route families end to end, including grounded, clarify, overflow, and deeper-help handoffs.
Implemented from the self-serve rollout pass: optional browser telemetry markers now capture low-coverage journeys (gap, reformulation, recovery, suggestion_suppressed) without changing search behavior when telemetry is disabled.
Still pending from the corrective phases: an explicit client-side telemetry opt-out control if product needs a visible switch. Current behavior is already failure-tolerant when analytics endpoints or sinks are unavailable.
Infer answer shape from the query, route context, visible entities, and recent actions instead of any FE mode hint.
Return stricter suggestion viability signals so FE can suppress dead suggestions when the corpus is empty, stale, or outside the current route’s supported domains.
Keep out-of-scope overflow secondary and only when it materially improves the answer.
Keep telemetry optional and separate from retrieval, ranking, suggestion gating, and history.
Treat clarify-only suggestion candidates as non-executable; only grounded suggestions should survive preflight into the visible chip lane.