diff --git a/docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md b/docs-archived/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md similarity index 100% rename from docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md rename to docs-archived/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md diff --git a/docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md b/docs-archived/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md similarity index 67% rename from docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md rename to docs-archived/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md index 68db53898..f3b506283 100644 --- a/docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md +++ b/docs-archived/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md @@ -19,7 +19,7 @@ ## Delivery Tracker ### FE-SF-001 - Consolidate shell language around search-first entry -Status: TODO +Status: DONE Dependency: none Owners: Developer Task description: @@ -27,12 +27,12 @@ Task description: - Keep the compact assistant icon beside the search field, but use secondary "details/deeper help" language in the primary surface. Completion criteria: -- [ ] The top-bar search surface reads as one workflow with a secondary assistant action. -- [ ] Answer-panel and launcher labels no longer imply a competing primary entry model. -- [ ] No search-origin assistant action performs a route jump. +- [x] The top-bar search surface reads as one workflow with a secondary assistant action. +- [x] Answer-panel and launcher labels no longer imply a competing primary entry model. +- [x] No search-origin assistant action performs a route jump. ### FE-SF-002 - Make automatic result shaping clearer than mechanics -Status: TODO +Status: DONE Dependency: FE-SF-001 Owners: Developer Task description: @@ -40,12 +40,12 @@ Task description: - Keep `Did you mean` directly below the input and avoid any scope or refinement teaching copy. Completion criteria: -- [ ] `Did you mean` stays input-adjacent. -- [ ] Overflow is visibly secondary and uses plain operator-facing labels. -- [ ] No recovery/refinement mechanics are rendered in the primary flow. +- [x] `Did you mean` stays input-adjacent. +- [x] Overflow is visibly secondary and uses plain operator-facing labels. +- [x] No recovery/refinement mechanics are rendered in the primary flow. ### FE-SF-003 - Tighten suggestion handling and successful history behavior -Status: TODO +Status: DONE Dependency: FE-SF-002 Owners: Developer Task description: @@ -53,12 +53,12 @@ Task description: - Keep history success-only and make the clear-history affordance remain low-emphasis. Completion criteria: -- [ ] Starter chips disappear when backend viability marks them non-executable. -- [ ] No-result searches never persist into history. -- [ ] The clear-history action remains a discreet icon treatment. +- [x] Starter chips disappear when backend viability marks them non-executable. +- [x] No-result searches never persist into history. +- [x] The clear-history action remains a discreet icon treatment. ### FE-SF-004 - Verify the shell consolidation paths -Status: TODO +Status: DONE Dependency: FE-SF-003 Owners: Developer, Test Automation Task description: @@ -66,18 +66,20 @@ Task description: - Cover suggestion execution and no-result history behavior in the FE surface. Completion criteria: -- [ ] Angular tests cover updated labels, answer/overflow presentation, and success-only history behavior. -- [ ] Playwright covers search-first entry, assistant launch from search, and suggestion execution on the simplified shell. -- [ ] No visible mode or scope controls appear in covered flows. +- [x] Angular tests cover updated labels, answer/overflow presentation, and success-only history behavior. +- [x] Playwright covers search-first entry, assistant launch from search, and suggestion execution on the simplified shell. +- [x] No visible mode or scope controls appear in covered flows. ## Execution Log | Date (UTC) | Update | Owner | | --- | --- | --- | | 2026-03-07 | Sprint created for the FE shell consolidation half of the final search-first correction pass. | Project Manager | +| 2026-03-07 | Reduced primary-surface assistant branding to secondary "deeper help/details" language, relabeled the drawer to `Search assistant`, tightened overflow wording, and added self-correcting starter suppression for suggestion chips that execute to no useful result. Verification: `npm test -- --include src/tests/global_search/global-search.component.spec.ts --include src/tests/advisory_ai_chat/chat.component.spec.ts --include src/tests/advisory_ai_chat/chat-message.component.spec.ts` -> `34/34` passed; `npx playwright test tests/e2e/unified-search-experience-quality.e2e.spec.ts tests/e2e/unified-search-self-serve-answer-panel.e2e.spec.ts tests/e2e/unified-search-contextual-suggestions.e2e.spec.ts --config playwright.config.ts` -> `16/16` passed. | Developer / Test Automation | ## Decisions & Risks - Decision: assistant remains available but secondary; search is the first-class workflow. - Decision: current-scope weighting is communicated through answer ordering, not control surfaces. +- Decision: starter chips that fail at execution time are immediately suppressed from the current page context instead of being shown again as if they were trustworthy. - Risk: shell-level copy and layout may still imply a separate assistant product even after earlier cleanup. - Mitigation: change the primary-surface labels and add focused FE regression coverage. - Reference: `docs/modules/ui/search-zero-learning-primary-entry.md` diff --git a/docs/modules/ui/TASKS.md b/docs/modules/ui/TASKS.md index 2973be312..81559142e 100644 --- a/docs/modules/ui/TASKS.md +++ b/docs/modules/ui/TASKS.md @@ -9,8 +9,6 @@ - `docs/implplan/SPRINT_20260307_009_DOCS_ui_component_preservation_map.md` - `docs/implplan/SPRINT_20260307_022_FE_policy_vex_release_decisioning_studio.md` - `docs/implplan/SPRINT_20260307_023_DOCS_ui_restoration_topic_shapes.md` -- `docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md` -- `docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md` - `docs/implplan/SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md` ## Delivery Tasks @@ -50,10 +48,10 @@ - [DONE] FE-UX-E2E Playwright coverage for mode switching, rescue flows, and AdvisoryAI next-step cards - [DONE] WEB-CTX-NONOBVIOUS Strategic non-obvious suggestion recipes (cross-domain + action-aware) - [DOING] FE-QA-LOOP-001 Web-only Playwright full-iteration loop at stella-ops.local (fresh route/action evidence, triage, fix, retest) -- [TODO] FE-SF-001 Search-first shell language consolidation -- [TODO] FE-SF-002 Automatic answer/overflow presentation cleanup -- [TODO] FE-SF-003 Suggestion execution and success-only history hardening -- [TODO] FE-SF-004 Search-first shell verification coverage +- [DONE] FE-SF-001 Search-first shell language consolidation +- [DONE] FE-SF-002 Automatic answer/overflow presentation cleanup +- [DONE] FE-SF-003 Suggestion execution and success-only history hardening +- [DONE] FE-SF-004 Search-first shell verification coverage - [TODO] QA-SF-001 Live route preflight and corpus readiness gate - [TODO] QA-SF-002 Execute surfaced suggestions on supported routes - [TODO] QA-SF-003 Align deterministic and live search-first matrices diff --git a/docs/modules/ui/search-zero-learning-primary-entry.md b/docs/modules/ui/search-zero-learning-primary-entry.md index dca47bd9d..28583d135 100644 --- a/docs/modules/ui/search-zero-learning-primary-entry.md +++ b/docs/modules/ui/search-zero-learning-primary-entry.md @@ -122,6 +122,7 @@ - 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. - Still pending from the corrective phases: stricter backend viability states across more domains, broader live-page matrices, and explicit client-side telemetry opt-out. ## Execution phases - operator correction pass diff --git a/src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts b/src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts index be7247bb2..126415755 100644 --- a/src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts +++ b/src/Web/StellaOps.Web/src/app/features/advisory-ai/chat/chat-message.component.ts @@ -79,7 +79,7 @@ interface NextStepCard {