Harden live-backed unified search weighting and indexing
This commit is contained in:
@@ -536,16 +536,16 @@ Use one of these local workflows first:
|
||||
|
||||
```bash
|
||||
# Run the CLI directly from source
|
||||
dotnet run --project "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -- advisoryai index rebuild --json
|
||||
dotnet run --project "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -- --help
|
||||
|
||||
# Publish a reusable local binary
|
||||
dotnet publish "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -c Release -o ".artifacts/stella-cli"
|
||||
|
||||
# Windows
|
||||
.artifacts/stella-cli/StellaOps.Cli.exe advisoryai index rebuild --json
|
||||
.artifacts/stella-cli/StellaOps.Cli.exe --help
|
||||
|
||||
# Linux/macOS
|
||||
./.artifacts/stella-cli/StellaOps.Cli advisoryai index rebuild --json
|
||||
./.artifacts/stella-cli/StellaOps.Cli --help
|
||||
```
|
||||
|
||||
Related docs:
|
||||
@@ -554,6 +554,10 @@ Related docs:
|
||||
|
||||
Rebuild the AdvisoryAI deterministic knowledge index from local markdown, OpenAPI specs, and Doctor metadata.
|
||||
|
||||
Local source-checkout note:
|
||||
- `stella advisoryai index rebuild` calls an authenticated backend endpoint.
|
||||
- For the unauthenticated local live-search verification lane, use `stella advisoryai sources prepare` plus the direct HTTP rebuild calls documented in `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md`.
|
||||
|
||||
### Synopsis
|
||||
|
||||
```bash
|
||||
|
||||
@@ -358,16 +358,19 @@ docker compose -f devops/compose/docker-compose.advisoryai-knowledge-test.yml ps
|
||||
|
||||
# Start the local AdvisoryAI service against that database
|
||||
export AdvisoryAI__KnowledgeSearch__ConnectionString="Host=localhost;Port=55432;Database=advisoryai_knowledge_test;Username=stellaops_knowledge;Password=stellaops_knowledge"
|
||||
export AdvisoryAI__KnowledgeSearch__RepositoryRoot="$(pwd)"
|
||||
dotnet run --project "src/AdvisoryAI/StellaOps.AdvisoryAI.WebService/StellaOps.AdvisoryAI.WebService.csproj" --no-launch-profile
|
||||
|
||||
# In a second shell, rebuild the live corpus in the required order
|
||||
export STELLAOPS_BACKEND_URL="http://127.0.0.1:10451"
|
||||
dotnet run --project "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -- advisoryai sources prepare --json
|
||||
dotnet run --project "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -- advisoryai index rebuild --json
|
||||
curl -X POST http://127.0.0.1:10451/v1/advisory-ai/index/rebuild \
|
||||
-H "X-StellaOps-Scopes: advisory-ai:admin" \
|
||||
-H "X-StellaOps-Tenant: test-tenant" \
|
||||
-H "X-StellaOps-Actor: local-search-test"
|
||||
curl -X POST http://127.0.0.1:10451/v1/search/index/rebuild \
|
||||
-H "X-StellaOps-Scopes: advisory-ai:admin" \
|
||||
-H "X-StellaOps-Tenant: test-tenant"
|
||||
-H "X-StellaOps-Tenant: test-tenant" \
|
||||
-H "X-StellaOps-Actor: local-search-test"
|
||||
|
||||
# Run tests with the Live category (requires database)
|
||||
dotnet build "src/AdvisoryAI/__Tests/StellaOps.AdvisoryAI.Tests/StellaOps.AdvisoryAI.Tests.csproj" -v minimal
|
||||
@@ -375,6 +378,11 @@ src/AdvisoryAI/__Tests/StellaOps.AdvisoryAI.Tests/bin/Debug/net10.0/StellaOps.Ad
|
||||
-trait "Category=Live" -reporter verbose -noColor
|
||||
```
|
||||
|
||||
Notes:
|
||||
- AdvisoryAI knowledge ingestion now auto-detects the repository root from the current working directory and `AppContext.BaseDirectory` when it is running inside a normal Stella Ops source checkout.
|
||||
- Set `AdvisoryAI__KnowledgeSearch__RepositoryRoot` only when you are running the service from a non-standard layout or a packaged binary tree that is not inside the repository.
|
||||
- `stella advisoryai index rebuild` and `stella search index rebuild` invoke authenticated backend endpoints. For a local source-checkout verification lane without a signed-in CLI session, use `sources prepare` via CLI and the direct HTTP rebuild calls above with explicit `X-StellaOps-*` headers.
|
||||
|
||||
### CLI setup in a source checkout
|
||||
|
||||
Do not assume `stella` is already installed on the machine running local AdvisoryAI work.
|
||||
@@ -406,11 +414,11 @@ If the CLI is not built yet, the equivalent HTTP endpoints are:
|
||||
- `POST /v1/search/index/rebuild` for unified overlay domains
|
||||
|
||||
Current live verification coverage:
|
||||
- Rebuild order exercised against a running local service: `POST /v1/advisory-ai/index/rebuild` then `POST /v1/search/index/rebuild`
|
||||
- Rebuild order exercised against a running local service: `POST /v1/advisory-ai/index/rebuild` then `POST /v1/search/index/rebuild`, both with explicit `X-StellaOps-Scopes`, `X-StellaOps-Tenant`, and `X-StellaOps-Actor` headers
|
||||
- Verified live query: `database connectivity`
|
||||
- Verified live outcome: response includes `contextAnswer.status = grounded`, citations, and entity cards over ingested data
|
||||
- Verified live suggestion lane: `src/Web/StellaOps.Web/tests/e2e/unified-search-contextual-suggestions.live.e2e.spec.ts` now preflights corpus readiness, validates suggestion viability, executes every surfaced Doctor suggestion, asserts grounded answer states for surfaced live suggestions, verifies follow-up chips after result open, and verifies Ask-AdvisoryAI inherits the live query context
|
||||
- Verified combined browser gate on 2026-03-07: `20/20` Playwright tests passed across deterministic UX, telemetry-off search flows, self-serve answer panel, and the live suggestion lane against the ingested local corpus
|
||||
- Verified combined browser gate on 2026-03-08: `24/24` executed tests passed with `3` explicit route-unready skips across deterministic UX, telemetry-off search flows, self-serve answer panel, and the supported-route live suggestion lane against the ingested local corpus
|
||||
- Verified local corpus baseline on 2026-03-07 after `advisoryai sources prepare`: `documentCount = 470`, `chunkCount = 9050`, `apiOperationCount = 2190`, `doctorProjectionCount = 8`
|
||||
- Other routes still rely on deterministic mock-backed Playwright coverage until their ingestion parity is explicitly verified
|
||||
|
||||
|
||||
@@ -37,12 +37,16 @@ dotnet run --project "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -- --help
|
||||
dotnet publish "src/Cli/StellaOps.Cli/StellaOps.Cli.csproj" -c Release -o ".artifacts/stella-cli"
|
||||
|
||||
# Windows
|
||||
.artifacts/stella-cli/StellaOps.Cli.exe advisoryai index rebuild --json
|
||||
.artifacts/stella-cli/StellaOps.Cli.exe --help
|
||||
|
||||
# Linux/macOS
|
||||
./.artifacts/stella-cli/StellaOps.Cli advisoryai index rebuild --json
|
||||
./.artifacts/stella-cli/StellaOps.Cli --help
|
||||
```
|
||||
|
||||
For local AdvisoryAI live-search verification from a source checkout:
|
||||
- use `stella advisoryai sources prepare` from the local CLI build or `dotnet run`
|
||||
- then use the authenticated HTTP rebuild steps in `src/AdvisoryAI/__Tests/INFRASTRUCTURE.md`
|
||||
|
||||
#### Option 1: .NET Tool (Recommended)
|
||||
|
||||
```bash
|
||||
|
||||
Reference in New Issue
Block a user