Consolidate search-first shell UX

This commit is contained in:
master
2026-03-08 00:14:57 +02:00
parent f709d519ec
commit a6187c70b4
13 changed files with 222 additions and 41 deletions

View File

@@ -0,0 +1,78 @@
# Sprint 20260307-035 - Search First Final Correction Phases
## Topic & Scope
- Turn the latest direct operator feedback into an execution-ready final correction stack for search.
- Lock the product rules for single-entry search, secondary assistant deep-dive, automatic weighting, and executable suggestions only.
- Publish implementation phases that can be shipped and committed independently without re-opening the search model debate.
- Working directory: `docs/`.
- Expected evidence: updated why/how documentation, new phase sprint files, and a docs-only commit.
## Dependencies & Concurrency
- Extends `SPRINT_20260307_031_DOCS_search_operator_correction_phases.md`.
- Extends `SPRINT_20260307_033_AdvisoryAI_search_query_understanding_and_viability.md`.
- Safe parallelism: once this sprint lands, FE and AdvisoryAI work may proceed independently in their owning directories as long as contracts remain additive.
## Documentation Prerequisites
- `docs/modules/ui/search-zero-learning-primary-entry.md`
- `docs/modules/advisory-ai/knowledge-search.md`
- `docs/modules/advisory-ai/unified-search-architecture.md`
- `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md`
## Delivery Tracker
### DOCS-SF-001 - Capture final operator objections as hard product rules
Status: DONE
Dependency: none
Owners: Project Manager, Documentation author
Task description:
- Record the new direct-usage objections explicitly: search and assistant still feeling split, visible scope mechanics still being wrong for the default flow, suggestions failing in practice, and the need for automatic summary when evidence is close.
- State the rules in terms that implementation and QA can enforce, not in aspirational product language.
Completion criteria:
- [x] The why/how doc records the direct operator objections and the final product rules.
- [x] The rules state that search is always the primary entry and assistant is secondary.
- [x] The rules state that surfaced suggestions require ingestion-backed executability proof on supported routes.
### DOCS-SF-002 - Publish final implementation phases with single-directory ownership
Status: DONE
Dependency: DOCS-SF-001
Owners: Project Manager
Task description:
- Create the next phase sprint files for FE shell consolidation, AdvisoryAI answer/ranking proof, and live route verification.
- Each phase must have one owning directory, explicit dependencies, exact tests, and clear completion criteria.
Completion criteria:
- [x] Separate sprint files exist for FE shell consolidation, AdvisoryAI weighting/proof, and live route execution coverage.
- [x] Each sprint defines exact unit/integration/Playwright evidence requirements.
- [x] Safe parallelism notes are explicit.
### DOCS-SF-003 - Keep setup and live-ingestion expectations explicit
Status: DONE
Dependency: DOCS-SF-002
Owners: Documentation author
Task description:
- Make sure the phase stack continues to state that the CLI is not assumed to exist, must be compiled or run from source, and that live suggestion validation is invalid without corpus rebuild.
- Keep the language concise and operator-focused.
Completion criteria:
- [x] The phase stack references the compile-or-source-run CLI guidance already in repo docs.
- [x] Live verification requires corpus rebuild order and route support checks.
- [x] Decisions & Risks reference the updated why/how doc.
## Execution Log
| Date (UTC) | Update | Owner |
| --- | --- | --- |
| 2026-03-07 | Sprint created to turn direct operator feedback into the final corrective phase stack for search-first self-serve UX. | Project Manager |
| 2026-03-07 | Updated `search-zero-learning-primary-entry.md` with the final operator rules, published the FE/backend/live-route phase sprints, and synced UI/AdvisoryAI task boards. | Project Manager |
## Decisions & Risks
- Decision: search is the single primary entry point; assistant is a secondary deep-dive from search.
- Decision: current-page weighting is automatic product behavior, not a visible user control.
- Decision: suggestions are only acceptable when they are executable against the active ingested corpus on supported routes.
- Risk: prior corrective passes simplified the visible search surface but left shell-level and live-route inconsistencies.
- Mitigation: split the final pass into FE shell consolidation, backend/live-answer hardening, and route-level live proof.
- Reference: `docs/modules/ui/search-zero-learning-primary-entry.md`
## Next Checkpoints
- 2026-03-08: publish final correction phases and land the docs-only commit.
- 2026-03-08: start FE shell consolidation.

View File

@@ -0,0 +1,89 @@
# Sprint 20260307-036 - FE Search First Shell Consolidation
## Topic & Scope
- Finish the search-first shell so the operator perceives one primary workflow: search first, deeper help second.
- Remove leftover shell/search wording and affordances that imply explicit scope control or a separate assistant product.
- Keep the primary result flow automatic: input correction at the top, answer first, supporting results next, assistant only as a deeper follow-up.
- Working directory: `src/Web/StellaOps.Web/`.
- Expected evidence: FE implementation, targeted unit tests, Playwright coverage, and a scoped commit.
## Dependencies & Concurrency
- Depends on `SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md`.
- Informs `SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md`.
- Safe parallelism: backend route-coverage work may proceed in `src/AdvisoryAI/**` if it does not break the FE contract before this sprint lands.
## Documentation Prerequisites
- `docs/modules/ui/search-zero-learning-primary-entry.md`
- `src/Web/StellaOps.Web/AGENTS.md`
## Delivery Tracker
### FE-SF-001 - Consolidate shell language around search-first entry
Status: DONE
Dependency: none
Owners: Developer
Task description:
- Reduce assistant branding in the top-bar search flow, answer panel, and drawer chrome so the operator experiences a single search-first workflow.
- Keep the compact assistant icon beside the search field, but use secondary "details/deeper help" language in the primary surface.
Completion criteria:
- [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: DONE
Dependency: FE-SF-001
Owners: Developer
Task description:
- Refine the primary result surface so it emphasizes the best local answer, with overflow presented quietly as supporting context.
- Keep `Did you mean` directly below the input and avoid any scope or refinement teaching copy.
Completion criteria:
- [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: DONE
Dependency: FE-SF-002
Owners: Developer
Task description:
- Ensure starter chips react correctly to viability changes and no-result executions.
- Keep history success-only and make the clear-history affordance remain low-emphasis.
Completion criteria:
- [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: DONE
Dependency: FE-SF-003
Owners: Developer, Test Automation
Task description:
- Add targeted Angular and Playwright coverage proving that the shell presents search as the primary path and assistant as a secondary deep-dive.
- Cover suggestion execution and no-result history behavior in the FE surface.
Completion criteria:
- [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`
## Next Checkpoints
- 2026-03-08: land shell language cleanup and answer/overflow presentation refinements.
- 2026-03-08: land targeted unit and Playwright coverage.