From a295841d25b7fd3b43a0a7201dd31035f0acd051 Mon Sep 17 00:00:00 2001 From: master <> Date: Sat, 7 Mar 2026 23:58:48 +0200 Subject: [PATCH] Publish final search-first correction phases --- ...CS_search_first_final_correction_phases.md | 78 +++++++++++++++++ ...036_FE_search_first_shell_consolidation.md | 87 +++++++++++++++++++ ...oryAI_search_answer_proof_and_weighting.md | 77 ++++++++++++++++ ...search_supported_route_execution_matrix.md | 77 ++++++++++++++++ docs/modules/ui/TASKS.md | 10 +++ .../ui/search-zero-learning-primary-entry.md | 36 ++++++++ src/AdvisoryAI/StellaOps.AdvisoryAI/TASKS.md | 1 + 7 files changed, 366 insertions(+) create mode 100644 docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md create mode 100644 docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md create mode 100644 docs/implplan/SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md create mode 100644 docs/implplan/SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md diff --git a/docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md b/docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md new file mode 100644 index 000000000..4c501f11f --- /dev/null +++ b/docs/implplan/SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md @@ -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. diff --git a/docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md b/docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md new file mode 100644 index 000000000..68db53898 --- /dev/null +++ b/docs/implplan/SPRINT_20260307_036_FE_search_first_shell_consolidation.md @@ -0,0 +1,87 @@ +# 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: TODO +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: +- [ ] 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. + +### FE-SF-002 - Make automatic result shaping clearer than mechanics +Status: TODO +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: +- [ ] `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. + +### FE-SF-003 - Tighten suggestion handling and successful history behavior +Status: TODO +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: +- [ ] 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. + +### FE-SF-004 - Verify the shell consolidation paths +Status: TODO +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: +- [ ] 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. + +## 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 | + +## 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. +- 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. diff --git a/docs/implplan/SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md b/docs/implplan/SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md new file mode 100644 index 000000000..6477988eb --- /dev/null +++ b/docs/implplan/SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md @@ -0,0 +1,77 @@ +# Sprint 20260307-037 - AdvisoryAI Search Answer Proof and Weighting + +## Topic & Scope +- Tighten backend unified search so automatic current-route weighting, overflow suppression, and blended answer composition feel decisive and trustworthy. +- Make suggestion viability and answer usefulness stricter so surfaced search starters do not survive on weak or clarify-only evidence. +- Preserve the rule that telemetry is optional and not part of search correctness. +- Working directory: `src/AdvisoryAI/`. +- Expected evidence: backend implementation, targeted tests, updated docs, and a scoped commit. + +## Dependencies & Concurrency +- Depends on `SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md`. +- Depends on `SPRINT_20260307_036_FE_search_first_shell_consolidation.md` for final FE phrasing, but contract work may proceed in parallel if additive. +- Informs `SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md`. + +## 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/AGENTS.md` + +## Delivery Tracker + +### AI-SF-001 - Strengthen automatic in-scope weighting and overflow suppression +Status: TODO +Dependency: none +Owners: Developer +Task description: +- Tighten route, entity, and recent-action weighting so supported current-page answers win more consistently when the evidence is actually close. +- Keep overflow only when outside-scope evidence still materially improves the answer. + +Completion criteria: +- [ ] Service tests cover current-route winners, close-score blends, and suppressed overflow cases. +- [ ] Coverage metadata still explains the winning scope without FE heuristics. +- [ ] Unsupported or weak current-scope corpora do not hide clearly better outside-scope answers. + +### AI-SF-002 - Make blended answers and suggestion viability stricter +Status: TODO +Dependency: AI-SF-001 +Owners: Developer +Task description: +- Refine context-answer composition so close clusters produce a short grounded blend and dominant results stay decisive. +- Keep suggestion viability grounded-only for surfaced chips and detect unsupported/empty corpora explicitly. + +Completion criteria: +- [ ] Blended and dominant answer paths are tested separately. +- [ ] Clarify-only or unsupported suggestions do not pass visible viability. +- [ ] Corpus-readiness states remain explicit in the response contract. + +### AI-SF-003 - Preserve optional telemetry and deterministic fallbacks +Status: TODO +Dependency: AI-SF-002 +Owners: Developer +Task description: +- Keep analytics and feedback optional without changing search ranking, history semantics, or answer composition. +- Ensure the final correction pass does not reintroduce telemetry coupling. + +Completion criteria: +- [ ] Search behavior remains stable with telemetry disabled. +- [ ] Tests cover telemetry-disabled search and suggestion flows. +- [ ] Docs state clearly that telemetry is optional infrastructure. + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2026-03-07 | Sprint created for the backend weighting and suggestion-proof half of the final search-first correction pass. | Project Manager | + +## Decisions & Risks +- Decision: search answer shape is inferred, not selected by the operator. +- Decision: suggestion executability requires grounded evidence on supported routes. +- Decision: telemetry remains optional and separate from correctness. +- Risk: stricter viability may suppress too many starters unless corpus readiness is modeled accurately. +- Mitigation: add route-support and corpus-readiness test coverage instead of guessing in FE. +- Reference: `docs/modules/ui/search-zero-learning-primary-entry.md` + +## Next Checkpoints +- 2026-03-09: land tighter weighting/blending tests and stricter suggestion gating. +- 2026-03-09: verify telemetry-disabled behavior remains unchanged. diff --git a/docs/implplan/SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md b/docs/implplan/SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md new file mode 100644 index 000000000..a9c5f3e43 --- /dev/null +++ b/docs/implplan/SPRINT_20260307_038_FE_live_search_supported_route_execution_matrix.md @@ -0,0 +1,77 @@ +# Sprint 20260307-038 - FE Live Search Supported Route Execution Matrix + +## Topic & Scope +- Prove that surfaced search suggestions and answer paths work end to end on the supported live routes, not only on Doctor. +- Treat corpus rebuild, route support, and suggestion executability as release gates for the search-first UX. +- Expand Playwright verification across findings, policy, VEX, and the existing Doctor coverage where ingestion supports them. +- Working directory: `src/Web/StellaOps.Web/`. +- Expected evidence: live Playwright coverage, setup-proof docs when needed, and a scoped commit. + +## Dependencies & Concurrency +- Depends on `SPRINT_20260307_035_DOCS_search_first_final_correction_phases.md`. +- Depends on `SPRINT_20260307_036_FE_search_first_shell_consolidation.md` and `SPRINT_20260307_037_AdvisoryAI_search_answer_proof_and_weighting.md`. +- Safe parallelism: deterministic FE-only tests may evolve independently as long as the live matrix assertions remain additive. + +## Documentation Prerequisites +- `docs/modules/ui/search-zero-learning-primary-entry.md` +- `docs/modules/advisory-ai/knowledge-search.md` +- `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md` +- `src/Web/StellaOps.Web/AGENTS.md` + +## Delivery Tracker + +### QA-SF-001 - Add supported-route live preflight and corpus readiness checks +Status: TODO +Dependency: none +Owners: Test Automation +Task description: +- Extend the live Playwright harness so it verifies route support and corpus readiness before the UI assertions begin. +- Fail fast on empty or unsupported corpora instead of letting dead suggestions surface as flaky UI failures. + +Completion criteria: +- [ ] Live tests verify the rebuild order and supported-route readiness before UI assertions. +- [ ] Unsupported routes are skipped explicitly, not treated as passing suggestion coverage. +- [ ] Empty corpora fail the suite clearly. + +### QA-SF-002 - Execute surfaced suggestions on supported routes +Status: TODO +Dependency: QA-SF-001 +Owners: Test Automation +Task description: +- For each covered live route, open the search surface, capture the surfaced starter chips, execute them, and verify grounded or materially useful results. +- Cover assistant handoff from the grounded answer path as part of the same journey. + +Completion criteria: +- [ ] Every surfaced starter on covered live routes is executed in Playwright. +- [ ] The route-level suite verifies grounded answers or visible useful cards, not just non-empty DOM. +- [ ] Assistant handoff keeps the current page context. + +### QA-SF-003 - Keep deterministic shell regression aligned with live proof +Status: TODO +Dependency: QA-SF-002 +Owners: Developer, Test Automation +Task description: +- Update deterministic Playwright coverage so the simplified shell behavior and the live-route behavior assert the same product rules. +- Keep the suites readable and route-specific rather than one monolithic soak. + +Completion criteria: +- [ ] Deterministic and live suites assert the same search-first product rules. +- [ ] Covered routes include at least Doctor plus every additional supported ingested route. +- [ ] The execution log records exact commands and results. + +## Execution Log +| Date (UTC) | Update | Owner | +| --- | --- | --- | +| 2026-03-07 | Sprint created for the supported-route live suggestion execution matrix in the final search-first correction pass. | Project Manager | + +## Decisions & Risks +- Decision: suggestion coverage is invalid unless the live corpus is rebuilt and non-empty. +- Decision: supported-route proof is part of search release quality, not an optional smoke test. +- Risk: some routes may not yet have enough ingested corpus support to sustain live suggestion coverage. +- Mitigation: preflight route support explicitly and suppress unsupported suggestions in product code. +- Reference: `docs/modules/ui/search-zero-learning-primary-entry.md` +- Reference: `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md` + +## Next Checkpoints +- 2026-03-09: land live preflight and supported-route route matrix scaffolding. +- 2026-03-10: execute the first full live supported-route suggestion pass. diff --git a/docs/modules/ui/TASKS.md b/docs/modules/ui/TASKS.md index 6ddf76b59..51df1acba 100644 --- a/docs/modules/ui/TASKS.md +++ b/docs/modules/ui/TASKS.md @@ -10,6 +10,9 @@ - `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_029_FE_contextual_actions_and_stray_surfaces.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 - [DONE] 041-T1 Root IA/nav rewrite (Mission Control + Ops + Setup) @@ -48,6 +51,13 @@ - [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 +- [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 - [DONE] DOCS-UCM-001 UI component preservation map scaffold and inventory - [DONE] DOCS-UCM-002 First-pass preservation judgments for unused and weakly surfaced UI components - [DONE] DOCS-UCM-003 Summary tree for keep / merge / wire / archive decisions diff --git a/docs/modules/ui/search-zero-learning-primary-entry.md b/docs/modules/ui/search-zero-learning-primary-entry.md index 42c56db59..dca47bd9d 100644 --- a/docs/modules/ui/search-zero-learning-primary-entry.md +++ b/docs/modules/ui/search-zero-learning-primary-entry.md @@ -19,6 +19,13 @@ - `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. +## What still fails after direct operator usage +- 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. +- 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. + ## Product rules 1. Search is the primary entry point. 2. AdvisoryAI is a secondary deep-dive opened from search, not a competing starting point or route jump. @@ -30,6 +37,8 @@ 8. Search UI must avoid teaching Stella terminology or search mechanics before the operator has even started. 9. `Did you mean` belongs directly below the search field because it is an input correction, not a downstream refinement. 10. Search should summarize close evidence automatically. AdvisoryAI expands detail; it should not be required to make the primary result understandable. +11. Search suggestions are only valid when end-to-end execution against the active ingested corpus returns a grounded or materially useful answer. +12. Search verification is incomplete until live ingestion-backed route coverage proves the surfaced suggestions on every supported page family. ## Target interaction model ### Entry @@ -52,6 +61,7 @@ - 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. ### Suggestions - Page suggestions become executable search intents, not static chips. @@ -59,6 +69,7 @@ - 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. ### History - Persist and render only searches that returned results. @@ -132,3 +143,28 @@ - Run live Playwright against ingested corpora and fail early on empty corpus, missing rebuilds, or uncompiled CLI assumptions. - Assert that every surfaced suggestion on covered routes resolves to a non-dead-end state. - Treat corpus readiness as part of release verification for search suggestions. + +## Final corrective pass +### Phase 4 - Search-first shell consolidation +- Keep one primary operator entry in the top bar: the search field. +- Keep the assistant available from a compact secondary icon beside the search field and from grounded answers, not as a competing entry model. +- Reduce primary-surface assistant branding so the product reads as one experience: search first, deeper help second. +- Remove or down-rank shell affordances that look like explicit scope controls when they only expose context. + +### Phase 5 - Automatic answer shaping and weighted overflow +- Rank current-page evidence first using route, entity, and recent-action weighting without exposing that mechanism. +- When top results are genuinely close, compose one short grounded summary across them with citations. +- When one result is clearly dominant, show that answer first and push everything else down into supporting cards. +- Keep overflow secondary and quiet; it should feel like helpful spillover, not a mode or refinement path. + +### Phase 6 - Suggestion executability proof across supported routes +- Extend live ingestion-backed verification beyond the Doctor page into findings, policy, and VEX-supported routes. +- Every surfaced starter chip on covered routes must execute successfully in Playwright against rebuilt corpora. +- Empty or unsupported corpora must suppress suggestions explicitly instead of letting the UI guess. + +## Non-negotiable release checks +- Search must remain usable with telemetry disabled. +- Search history must persist only successful searches. +- Search must never require the operator to choose a mode or a scope. +- `Did you mean` must remain input-adjacent. +- Surfaced suggestions on supported live routes must be proven executable against ingested corpora before the search UX can be considered release-ready. diff --git a/src/AdvisoryAI/StellaOps.AdvisoryAI/TASKS.md b/src/AdvisoryAI/StellaOps.AdvisoryAI/TASKS.md index ae6b34867..52daf67c9 100644 --- a/src/AdvisoryAI/StellaOps.AdvisoryAI/TASKS.md +++ b/src/AdvisoryAI/StellaOps.AdvisoryAI/TASKS.md @@ -17,6 +17,7 @@ Source of truth: `docs/implplan/SPRINT_20260113_005_ADVISORYAI_controlled_conver | AI-SELF-006 | DONE | Live ingestion-backed answer verification succeeded on the Doctor/knowledge route after local rebuild. | | SPRINT_20260307_019-AI-ZL | DONE | Unified search now applies implicit current-scope weighting, emits additive `overflow`/`coverage`, blends close top answers, and evaluates suggestion viability without requiring telemetry. | | SPRINT_20260307_033-AI-ZL | DONE | Unified search now derives answer blending from query/context, exposes grounded-only suggestion viability with corpus-readiness states, and keeps analytics/feedback telemetry fully optional. | +| SPRINT_20260307_037-AI-SF | TODO | Final search-first correction pass: stronger in-scope weighting, stricter blended-answer thresholds, grounded-only supported-route suggestion viability, and telemetry-independent correctness. | | SPRINT_20260222_051-AKS-INGEST | DONE | Added deterministic AKS ingestion controls: markdown allow-list manifest loading, OpenAPI aggregate source path support, and doctor control projection integration for search chunks, including fallback doctor metadata hydration from controls projection fields. | | AUDIT-0017-M | DONE | Maintainability audit for StellaOps.AdvisoryAI. | | AUDIT-0017-T | DONE | Test coverage audit for StellaOps.AdvisoryAI. |