fix(web): ship degraded search readiness state
This commit is contained in:
@@ -0,0 +1,99 @@
|
||||
# Sprint 20260308-012 - FE Search Readiness Degraded Answer State
|
||||
|
||||
## Topic & Scope
|
||||
- Formalize the current Web search batch that handles empty-corpus environments where starter-query viability cannot be checked.
|
||||
- Replace misleading clarify or refine-the-query guidance with an explicit environment-readiness answer state when live search is not actually usable.
|
||||
- Keep the iteration scoped to the top-bar search surface, its docs, and focused deterministic verification.
|
||||
- Working directory: `src/Web/StellaOps.Web`.
|
||||
- Allowed coordination edits: `docs/implplan/`, `docs/modules/ui/TASKS.md`, `docs/modules/ui/implementation_plan.md`, `docs/modules/ui/search-self-serve-contract.md`, `docs/modules/ui/search-zero-learning-primary-entry.md`, `src/Web/StellaOps.Web/src/app/layout/global-search/`, `src/Web/StellaOps.Web/src/tests/global_search/`, and `src/Web.StellaOps.Web/tests/e2e/`.
|
||||
- Expected evidence: focused Angular tests, deterministic Playwright coverage, docs sync, and sprint execution log updates.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on the archived search-shell and self-serve sprints that introduced answer-first search and viability-preflight behavior:
|
||||
- `docs-archived/implplan/SPRINT_20260307_004_FE_self_serve_search_answer_first.md`
|
||||
- `docs-archived/implplan/SPRINT_20260307_006_FE_self_serve_rollout_and_gap_closure.md`
|
||||
- Safe parallelism:
|
||||
- docs and tests can be prepared in parallel once the answer-state rule is frozen
|
||||
- do not touch unrelated trust-admin, offline-kit, policy-workspace, or sidebar changes already present in the shared worktree
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `src/Web/StellaOps.Web/AGENTS.md`
|
||||
- `docs/modules/ui/search-self-serve-contract.md`
|
||||
- `docs/modules/ui/search-zero-learning-primary-entry.md`
|
||||
- `src/Web/StellaOps.Web/src/app/layout/global-search/global-search.component.ts`
|
||||
- `src/Web.StellaOps.Web/src/tests/global_search/global-search.component.spec.ts`
|
||||
- `src/Web.StellaOps.Web/tests/e2e/unified-search-experience-quality.e2e.spec.ts`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-SRD-001 - Bound the degraded-search readiness case
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: QA, Developer (FE)
|
||||
Task description:
|
||||
- Confirm the specific operator-facing failure mode: suggestion-viability preflight is unavailable and the search response shows zero indexed matches, yet the UI behaves as if the operator merely needs to refine the query.
|
||||
- Keep the diagnosis focused on the search shell contract and not on general search ranking or corpus rebuild infrastructure.
|
||||
|
||||
Completion criteria:
|
||||
- [x] The degraded-readiness condition is expressed as explicit frontend state, not scattered UI heuristics.
|
||||
- [x] The rule is bounded to the combination of unavailable viability preflight plus zero indexed matches.
|
||||
- [x] The sprint documents why this is an environment-readiness problem, not an operator-query problem.
|
||||
|
||||
### FE-SRD-002 - Render an explicit readiness answer state
|
||||
Status: DONE
|
||||
Dependency: FE-SRD-001
|
||||
Owners: Developer (FE)
|
||||
Task description:
|
||||
- Update the answer panel so it renders environment-readiness copy and suppresses clarify guidance when the active environment cannot provide viability signals and also returns zero indexed matches.
|
||||
- Preserve the existing grounded, clarify, and insufficient paths outside this specific degraded-readiness case.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Search renders an explicit readiness answer state with operator-facing copy.
|
||||
- [x] Clarify guidance is suppressed for the degraded-readiness case.
|
||||
- [x] Existing answer-state behavior remains intact for healthy grounded and clarify responses.
|
||||
|
||||
### FE-SRD-003 - Add focused deterministic regression coverage
|
||||
Status: DONE
|
||||
Dependency: FE-SRD-002
|
||||
Owners: Test Automation, QA
|
||||
Task description:
|
||||
- Add focused Angular coverage for the readiness state and deterministic Playwright coverage for the UI path where suggestion viability is unavailable and indexed matches are zero.
|
||||
- Keep tests bounded and memory-safe.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Angular tests assert the explicit readiness answer and absence of clarify guidance.
|
||||
- [x] Playwright covers the degraded-readiness case end to end.
|
||||
- [x] Verification remains deterministic and does not depend on live network access.
|
||||
|
||||
### FE-SRD-004 - Sync search docs and rollout guidance
|
||||
Status: DONE
|
||||
Dependency: FE-SRD-002
|
||||
Owners: Documentation author, Project Manager
|
||||
Task description:
|
||||
- Update the search self-serve and zero-learning guidance so the degraded-readiness rule is explicit and traceable from the shipped UI behavior.
|
||||
- Sync the UI task board and implementation plan to reflect the active sprint and the shipped result.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Search docs describe the degraded-readiness answer rule.
|
||||
- [x] UI planning docs point to this active sprint while it is in flight.
|
||||
- [x] Sprint execution log captures the verification evidence and any residual risks.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-08 | Sprint created to formalize the in-progress Web search batch for degraded readiness handling after the active sprint inventory was cleaned and the remaining dirty search diffs were bounded to a coherent top-bar search fix. | Project Manager |
|
||||
| 2026-03-08 | Bounded the real defect to a stale viability state on typed queries: the search shell refreshed viability on focus and route changes, but not on the debounced non-empty query path that actually drove search requests. | Developer (FE) |
|
||||
| 2026-03-08 | Refreshed suggestion viability on the debounced query path, kept the degraded-readiness rule narrowly bound to unavailable viability plus zero indexed matches, and tightened the deterministic Playwright fixture to use a true zero-match response. | Developer (FE) |
|
||||
| 2026-03-08 | Verified focused Angular coverage with `npm test -- --watch=false --include src/tests/global_search/global-search.component.spec.ts` (`26/26` passed) and deterministic Playwright coverage with `npx playwright test tests/e2e/unified-search-experience-quality.e2e.spec.ts --grep "search-readiness guidance" --workers=1` (`1/1` passed). | QA |
|
||||
| 2026-03-08 | Synced search docs, added a checked-feature note, and archived the sprint after verification passed. | Documentation author |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: treat this as a frontend truthfulness fix, not a general search-platform recovery sprint.
|
||||
- Decision: the degraded-readiness state is only valid when both conditions hold: viability preflight is unavailable and the search response reports zero indexed matches.
|
||||
- Risk: broadening the heuristic could suppress legitimate clarify guidance for healthy but ambiguous queries.
|
||||
- Mitigation: keep the rule narrowly tied to unavailable viability plus zero indexed matches.
|
||||
- Risk: shared worktree changes in unrelated Web files could tempt a wider cleanup.
|
||||
- Mitigation: stay inside the explicit sprint working directory and listed coordination files only.
|
||||
|
||||
## Next Checkpoints
|
||||
- Archived 2026-03-08 after focused Angular and deterministic Playwright verification passed.
|
||||
Reference in New Issue
Block a user