Standardize live search Playwright setup lane
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
# Sprint 20260308-009 - FE Standard Live Search Playwright Setup
|
||||
|
||||
## Topic & Scope
|
||||
- Turn the ad hoc live-search ingestion/browser flow into a standard one-command Playwright acceptance lane for search.
|
||||
- Make the lane self-preparing where feasible: start the dedicated AdvisoryAI knowledge test database, start the local AdvisoryAI service, prepare sources, rebuild indexes, and gate the browser suite on a grounded smoke query.
|
||||
- Keep the implementation centered on `src/Web/StellaOps.Web` while allowing the minimum supporting doc updates in AdvisoryAI test/setup guidance.
|
||||
- Working directory: `src/Web/StellaOps.Web`.
|
||||
- Expected evidence: setup script/config, live setup artifact, Playwright live browser results, and updated operator docs.
|
||||
|
||||
## Dependencies & Concurrency
|
||||
- Depends on archived search rollout/correction sprints plus archived `SPRINT_20260308_008_FE_live_search_ingestion_browser_validation.md`.
|
||||
- Safe parallelism: do not edit unrelated Router, platform-setup, or shell-cutover files while executing this lane.
|
||||
- Cross-module allowance: documentation updates are allowed in `docs/modules/advisory-ai/**` and `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md` because they define the live-search setup contract consumed by this FE lane.
|
||||
|
||||
## Documentation Prerequisites
|
||||
- `docs/qa/feature-checks/FLOW.md`
|
||||
- `docs/code-of-conduct/TESTING_PRACTICES.md`
|
||||
- `src/Web/StellaOps.Web/AGENTS.md`
|
||||
- `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md`
|
||||
- `docs/modules/advisory-ai/knowledge-search.md`
|
||||
|
||||
## Delivery Tracker
|
||||
|
||||
### FE-LIVESETUP-001 - Standardize the Playwright live-search setup lane
|
||||
Status: DONE
|
||||
Dependency: none
|
||||
Owners: QA, Test Automation, Developer (FE)
|
||||
Task description:
|
||||
- Add a standard Playwright entrypoint for live search acceptance that boots the dedicated knowledge-test database, starts the source-run AdvisoryAI service, and runs a setup project before browser tests execute.
|
||||
- The setup project must prepare the ingestion sources, rebuild both search indexes, and fail fast when the live service is unhealthy or the grounded smoke query does not work.
|
||||
|
||||
Completion criteria:
|
||||
- [x] A documented one-command live-search Playwright lane exists under `src/Web/StellaOps.Web`.
|
||||
- [x] The lane does not assume `stella` is already installed; it compiles or publishes the CLI when needed.
|
||||
- [x] Live setup artifacts record rebuild/query evidence for operator diagnosis.
|
||||
|
||||
### FE-LIVESETUP-002 - Expand live browser verification on the standardized lane
|
||||
Status: DONE
|
||||
Dependency: FE-LIVESETUP-001
|
||||
Owners: QA, Test Automation
|
||||
Task description:
|
||||
- Run the live browser suite through the new standard lane and add at least one operator-relevant assertion beyond bare suggestion execution.
|
||||
- The added assertion should cover a real UX contract from the shipped search experience, not just service availability.
|
||||
|
||||
Completion criteria:
|
||||
- [x] The standardized live lane executes the existing live search browser suite successfully.
|
||||
- [x] The live suite verifies at least one user-facing persistence/continuity behavior on real ingested data.
|
||||
- [x] Test evidence is captured with exact command and result counts.
|
||||
|
||||
### FE-LIVESETUP-003 - Update docs and close the lane
|
||||
Status: DONE
|
||||
Dependency: FE-LIVESETUP-002
|
||||
Owners: Documentation, Project Manager
|
||||
Task description:
|
||||
- Update Web and AdvisoryAI setup docs to point at the new standard live-search acceptance lane.
|
||||
- Archive this sprint when the setup lane, verification, and docs are complete.
|
||||
|
||||
Completion criteria:
|
||||
- [x] Web README documents the standard live-search Playwright command.
|
||||
- [x] AdvisoryAI infrastructure/search docs document the setup contract and prerequisites.
|
||||
- [x] Sprint execution log captures implementation and validation evidence before archival.
|
||||
|
||||
## Execution Log
|
||||
| Date (UTC) | Update | Owner |
|
||||
| --- | --- | --- |
|
||||
| 2026-03-08 | Sprint created to replace manual live-search ingestion/browser steps with a standard Playwright setup lane. | Developer |
|
||||
| 2026-03-08 | Added the standard lane under `src/Web/StellaOps.Web` with `scripts/run-live-search-e2e.mjs`, `playwright.live-search.config.ts`, and a `live-search-setup` Playwright project that compiles the CLI if needed, runs `sources prepare`, rebuilds both indexes, and writes `output/playwright/live-search-setup.json`. | Developer |
|
||||
| 2026-03-08 | Extended the live browser suite so the standardized lane also verifies user-facing continuity: a grounded live search persists in Recent and can be removed through the clear-history icon. | QA |
|
||||
| 2026-03-08 | Validation: `npm run test:e2e:search:live` passed with `10 passed`, `3 skipped` in ~2.6 minutes; skips were the explicit corpus-unready branches for routes that are now ready enough to bypass those tests. | QA |
|
||||
|
||||
## Decisions & Risks
|
||||
- Decision: standardize the search live lane as a dedicated acceptance path instead of forcing ingestion into every default FE test run.
|
||||
- Decision: use a wrapper script plus a dedicated Playwright config so the live lane can bring up the dedicated knowledge-test database before Playwright starts the source-run AdvisoryAI service and browser projects.
|
||||
- Decision: the setup project writes a JSON artifact under `output/playwright/live-search-setup.json` so failures can be diagnosed from corpus preparation and rebuild evidence, not only browser traces.
|
||||
- Risk: the setup lane depends on Docker, dotnet, Node/npm, and the dedicated AdvisoryAI knowledge test database compose file.
|
||||
- Mitigation: fail early with explicit setup diagnostics and keep the lane isolated from the fast mocked/offline FE loop.
|
||||
- Risk: CLI `--json` output can be prefixed by infrastructure logs on some hosts.
|
||||
- Mitigation: the setup parser now tolerates log-prefixed JSON and still fails hard when no valid payload is present.
|
||||
|
||||
## Next Checkpoints
|
||||
- 2026-03-08: setup script/config implemented and locally executable.
|
||||
- 2026-03-08: live browser suite rerun through the standard lane with recorded evidence.
|
||||
Reference in New Issue
Block a user