stabilize tests

This commit is contained in:
master
2026-02-01 21:37:40 +02:00
parent 55744f6a39
commit 5d5e80b2e4
6435 changed files with 33984 additions and 13802 deletions

View File

@@ -1,13 +1,13 @@
# Advisory AI · AGENTS
# Advisory AI ?? AGENTS
## Roles
- Backend engineer (.NET 10, C# preview) for `StellaOps.AdvisoryAI*` services and worker.
- Docs engineer for Advisory AI runbooks and user guides in `docs/advisory-ai` and related policy/SBOM docs.
- Docs engineer for Advisory AI runbooks and user guides in `docs/modules/advisory-ai` and related policy/SBOM docs.
- QA automation engineer for `__Tests/StellaOps.AdvisoryAI.Tests` (unit/golden/property/perf).
## Working Directory
- Primary: `src/AdvisoryAI/**` (WebService, Worker, Hosting, plugins, tests).
- Docs: `docs/advisory-ai/**`, `docs/policy/assistant-parameters.md`, `docs/modules/sbom-service/*` when explicitly touched by sprint tasks.
- Docs: `docs/modules/advisory-ai/**`, `docs/modules/policy/guides/assistant-parameters.md`, `docs/modules/sbom-service/*` when explicitly touched by sprint tasks.
- Shared libraries allowed only if referenced by Advisory AI projects; otherwise stay in-module.
## Required Reading (treat as read before DOING)
@@ -15,8 +15,8 @@
- `docs/07_HIGH_LEVEL_ARCHITECTURE.md`
- `docs/modules/platform/architecture-overview.md`
- `docs/modules/advisory-ai/architecture.md`
- Sprint context: `docs/implplan/SPRINT_0111_0001_0001_advisoryai.md`
- Guardrail and ops knobs: `docs/policy/assistant-parameters.md`
- Sprint context: `docs-archived/implplan/SPRINT_0111_0001_0001_advisoryai.md`
- Guardrail and ops knobs: `docs/modules/policy/guides/assistant-parameters.md`
## Working Agreements
- Determinism first: stable ordering, seeded randomness, UTC ISO-8601 timestamps, content-addressed caches; no wall-clock timing in tests.
@@ -32,7 +32,7 @@
- For perf-sensitive paths, keep benchmarks deterministic and skip in CI unless flagged.
## Docs & Change Sync
- When changing behaviors or contracts, update relevant docs under `docs/modules/advisory-ai`, `docs/policy/assistant-parameters.md`, or sprint-linked docs; mirror decisions in sprint **Decisions & Risks**.
- When changing behaviors or contracts, update relevant docs under `docs/modules/advisory-ai`, `docs/modules/policy/guides/assistant-parameters.md`, or sprint-linked docs; mirror decisions in sprint **Decisions & Risks**.
- If new advisories/platform decisions occur, notify sprint log and link updated docs.
## Contracts & Dependencies
@@ -44,3 +44,4 @@
- Target `net10.0`; use latest Microsoft.* packages compatible with net10.
- NuGet: use `.nuget/packages/` cache; avoid floating versions.
- Linting/analyzers: keep nullable enabled; treat warnings as errors where feasible.

View File

@@ -16,7 +16,7 @@
- docs/modules/platform/architecture-overview.md
- docs/modules/advisory-ai/architecture.md
- src/AdvisoryAI/AGENTS.md (parent module charter)
- docs/policy/assistant-parameters.md (guardrail and ops knobs)
- docs/modules/policy/guides/assistant-parameters.md (guardrail and ops knobs)
## Working Directory & Scope
- Primary: src/AdvisoryAI/StellaOps.AdvisoryAI.Hosting/
@@ -24,14 +24,14 @@
- Shared libraries allowed only when referenced by this project.
## Key Components
- `ServiceCollectionExtensions` DI registration entry point for WebService and Worker hosts.
- `AdvisoryAiServiceOptions` main configuration container with nested queue/storage/inference/guardrail options.
- `AdvisoryAiServiceOptionsValidator` startup validation ensuring required config is present.
- `FileSystemAdvisoryTaskQueue` file-based task queue for offline-capable environments.
- `FileSystemAdvisoryPlanCache` file-based plan caching with hash keys.
- `FileSystemAdvisoryOutputStore` content-addressed output storage.
- `GuardrailPhraseLoader` loads guardrail phrases from configuration or files.
- `AdvisoryAiMetrics` meter and counter definitions.
- `ServiceCollectionExtensions` ??? DI registration entry point for WebService and Worker hosts.
- `AdvisoryAiServiceOptions` ??? main configuration container with nested queue/storage/inference/guardrail options.
- `AdvisoryAiServiceOptionsValidator` ??? startup validation ensuring required config is present.
- `FileSystemAdvisoryTaskQueue` ??? file-based task queue for offline-capable environments.
- `FileSystemAdvisoryPlanCache` ??? file-based plan caching with hash keys.
- `FileSystemAdvisoryOutputStore` ??? content-addressed output storage.
- `GuardrailPhraseLoader` ??? loads guardrail phrases from configuration or files.
- `AdvisoryAiMetrics` ??? meter and counter definitions.
## Testing Expectations
- Unit tests in `__Tests/StellaOps.AdvisoryAI.Tests` cover hosting registration paths.
@@ -46,3 +46,4 @@
- Configuration: prefer `IOptions<T>` with data annotations; validate on startup.
- Update sprint status in docs/implplan/SPRINT_*.md when starting/completing work.
- Mirror decisions in sprint Decisions & Risks section.

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Inference;
using System;
using System.IO;
using StellaOps.AdvisoryAI.Inference;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -1,8 +1,9 @@
using StellaOps.AdvisoryAI.Inference;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.IO;
using StellaOps.AdvisoryAI.Inference;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -1,11 +1,12 @@
using System.Collections.Immutable;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Prompting;
using System.Collections.Immutable;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -1,5 +1,4 @@
using System.Collections.Immutable;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Abstractions;
@@ -8,6 +7,8 @@ using StellaOps.AdvisoryAI.Context;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Tools;
using System.Collections.Immutable;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -1,10 +1,11 @@
using System.Globalization;
using System.Linq;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Queue;
using System.Globalization;
using System.Linq;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;

View File

@@ -1,3 +1,4 @@
using System.Collections.Generic;
using System.IO;
using System.Text.Json;

View File

@@ -1,8 +1,4 @@
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http.Headers;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
@@ -12,15 +8,20 @@ using StellaOps.AdvisoryAI.Caching;
using StellaOps.AdvisoryAI.Chat;
using StellaOps.AdvisoryAI.DependencyInjection;
using StellaOps.AdvisoryAI.Explanation;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Inference;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.PolicyStudio;
using StellaOps.AdvisoryAI.Providers;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Remediation;
using StellaOps.OpsMemory.Storage;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net.Http.Headers;
namespace StellaOps.AdvisoryAI.Hosting;

View File

@@ -0,0 +1,8 @@
# StellaOps.AdvisoryAI.Hosting Task Board
This board mirrors active sprint tasks for this module.
Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_solid_review.md`.
| Task ID | Status | Notes |
| --- | --- | --- |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/AdvisoryAI/StellaOps.AdvisoryAI.Hosting/StellaOps.AdvisoryAI.Hosting.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -1,20 +1,21 @@
namespace StellaOps.AdvisoryAI.Plugin.Unified;
using System.Runtime.CompilerServices;
using StellaOps.AdvisoryAI.Inference.LlmProviders;
using StellaOps.Plugin.Abstractions;
using StellaOps.Plugin.Abstractions.Capabilities;
using StellaOps.Plugin.Abstractions.Context;
using StellaOps.Plugin.Abstractions.Health;
using StellaOps.Plugin.Abstractions.Lifecycle;
// Type aliases to disambiguate between AdvisoryAI and Plugin.Abstractions types
using AdvisoryLlmRequest = StellaOps.AdvisoryAI.Inference.LlmProviders.LlmCompletionRequest;
using AdvisoryLlmResult = StellaOps.AdvisoryAI.Inference.LlmProviders.LlmCompletionResult;
using AdvisoryStreamChunk = StellaOps.AdvisoryAI.Inference.LlmProviders.LlmStreamChunk;
using PluginLlmRequest = StellaOps.Plugin.Abstractions.Capabilities.LlmCompletionRequest;
using PluginLlmResult = StellaOps.Plugin.Abstractions.Capabilities.LlmCompletionResult;
using PluginStreamChunk = StellaOps.Plugin.Abstractions.Capabilities.LlmStreamChunk;
using StellaOps.AdvisoryAI.Inference.LlmProviders;
using StellaOps.Plugin.Abstractions;
using StellaOps.Plugin.Abstractions.Capabilities;
using StellaOps.Plugin.Abstractions.Context;
using StellaOps.Plugin.Abstractions.Health;
using StellaOps.Plugin.Abstractions.Lifecycle;
using System.Runtime.CompilerServices;
namespace StellaOps.AdvisoryAI.Plugin.Unified;
// Type aliases to disambiguate between AdvisoryAI and Plugin.Abstractions types
/// <summary>
/// Adapts an existing ILlmProvider to the unified IPlugin and ILlmCapability interfaces.

View File

@@ -1,10 +1,11 @@
namespace StellaOps.AdvisoryAI.Plugin.Unified;
using Microsoft.Extensions.DependencyInjection;
using StellaOps.AdvisoryAI.Inference.LlmProviders;
using StellaOps.Plugin.Abstractions;
using StellaOps.Plugin.Abstractions.Capabilities;
namespace StellaOps.AdvisoryAI.Plugin.Unified;
/// <summary>
/// Factory for creating unified LLM plugin adapters from existing providers.
/// </summary>

View File

@@ -0,0 +1,8 @@
# StellaOps.AdvisoryAI.Plugin.Unified Task Board
This board mirrors active sprint tasks for this module.
Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_solid_review.md`.
| Task ID | Status | Notes |
| --- | --- | --- |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/AdvisoryAI/StellaOps.AdvisoryAI.Plugin.Unified/StellaOps.AdvisoryAI.Plugin.Unified.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -1,5 +1,9 @@
namespace StellaOps.AdvisoryAI.Scm.Plugin.Unified;
using AdvisoryBranchResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.BranchResult;
using AdvisoryCiCheck = StellaOps.AdvisoryAI.Remediation.ScmConnector.CiCheck;
using AdvisoryCiStatusResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.CiStatusResult;
using AdvisoryFileUpdateResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.FileUpdateResult;
using AdvisoryPrCreateResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.PrCreateResult;
using AdvisoryPrStatusResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.PrStatusResult;
using StellaOps.AdvisoryAI.Remediation.ScmConnector;
using StellaOps.Plugin.Abstractions;
using StellaOps.Plugin.Abstractions.Capabilities;
@@ -7,13 +11,10 @@ using StellaOps.Plugin.Abstractions.Context;
using StellaOps.Plugin.Abstractions.Health;
using StellaOps.Plugin.Abstractions.Lifecycle;
namespace StellaOps.AdvisoryAI.Scm.Plugin.Unified;
// Type aliases to disambiguate between AdvisoryAI and Plugin.Abstractions types
using AdvisoryBranchResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.BranchResult;
using AdvisoryFileUpdateResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.FileUpdateResult;
using AdvisoryPrCreateResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.PrCreateResult;
using AdvisoryPrStatusResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.PrStatusResult;
using AdvisoryCiStatusResult = StellaOps.AdvisoryAI.Remediation.ScmConnector.CiStatusResult;
using AdvisoryCiCheck = StellaOps.AdvisoryAI.Remediation.ScmConnector.CiCheck;
/// <summary>
/// Adapts an existing IScmConnector to the unified IPlugin and IScmCapability interfaces.

View File

@@ -1,10 +1,11 @@
namespace StellaOps.AdvisoryAI.Scm.Plugin.Unified;
using Microsoft.Extensions.DependencyInjection;
using StellaOps.AdvisoryAI.Remediation.ScmConnector;
using StellaOps.Plugin.Abstractions;
using StellaOps.Plugin.Abstractions.Capabilities;
namespace StellaOps.AdvisoryAI.Scm.Plugin.Unified;
/// <summary>
/// Factory for creating unified SCM plugin adapters from existing connectors.
/// </summary>

View File

@@ -0,0 +1,8 @@
# StellaOps.AdvisoryAI.Scm.Plugin.Unified Task Board
This board mirrors active sprint tasks for this module.
Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_solid_review.md`.
| Task ID | Status | Notes |
| --- | --- | --- |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/AdvisoryAI/StellaOps.AdvisoryAI.Scm.Plugin.Unified/StellaOps.AdvisoryAI.Scm.Plugin.Unified.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -17,7 +17,7 @@
- docs/modules/platform/architecture-overview.md
- docs/modules/advisory-ai/architecture.md
- src/AdvisoryAI/AGENTS.md (parent module charter)
- docs/policy/assistant-parameters.md (guardrail and ops knobs)
- docs/modules/policy/guides/assistant-parameters.md (guardrail and ops knobs)
- docs/modules/advisory-ai/deployment.md (service configuration)
## Working Directory & Scope
@@ -26,26 +26,26 @@
- Shared libraries: Router.AspNet for Stella Router integration
## Key Components
- `Program.cs` WebApplication setup, endpoint mapping, middleware pipeline.
- `Contracts/` Request/response DTOs for API endpoints:
- `AdvisoryPlanRequest/Response` plan generation
- `AdvisoryExecuteRequest` execution trigger
- `AdvisoryQueueRequest/Response` queue management
- `ExplainRequest/Response` explanation endpoints
- `ConsentContracts` AI consent management (VEX-AI-016)
- `JustifyContracts` justification generation
- `PolicyStudioContracts` policy studio integration
- `RemediationContracts` remediation plan endpoints
- `Services/` Service implementations:
- `IAiConsentStore` / `InMemoryAiConsentStore` consent tracking
- `IAiJustificationGenerator` / `DefaultAiJustificationGenerator` justification generation
- `Program.cs` ??? WebApplication setup, endpoint mapping, middleware pipeline.
- `Contracts/` ??? Request/response DTOs for API endpoints:
- `AdvisoryPlanRequest/Response` ??? plan generation
- `AdvisoryExecuteRequest` ??? execution trigger
- `AdvisoryQueueRequest/Response` ??? queue management
- `ExplainRequest/Response` ??? explanation endpoints
- `ConsentContracts` ??? AI consent management (VEX-AI-016)
- `JustifyContracts` ??? justification generation
- `PolicyStudioContracts` ??? policy studio integration
- `RemediationContracts` ??? remediation plan endpoints
- `Services/` ??? Service implementations:
- `IAiConsentStore` / `InMemoryAiConsentStore` ??? consent tracking
- `IAiJustificationGenerator` / `DefaultAiJustificationGenerator` ??? justification generation
## API Endpoints
- POST /api/advisory/plan Generate advisory plan
- POST /api/advisory/execute Execute advisory plan
- POST /api/advisory/queue Queue advisory task
- GET /api/advisory/output/{id} Retrieve advisory output
- POST /api/advisory/explain Generate explanation
- POST /api/advisory/plan ??? Generate advisory plan
- POST /api/advisory/execute ??? Execute advisory plan
- POST /api/advisory/queue ??? Queue advisory task
- GET /api/advisory/output/{id} ??? Retrieve advisory output
- POST /api/advisory/explain ??? Generate explanation
- Consent and justification endpoints per VEX-AI-016
## Testing Expectations
@@ -62,3 +62,4 @@
- Security: validate all input, enforce consent where required, no embedding secrets.
- Update sprint status in docs/implplan/SPRINT_*.md when starting/completing work.
- Mirror decisions in sprint Decisions & Risks section.

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Orchestration;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using StellaOps.AdvisoryAI.Orchestration;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,7 +1,8 @@
using System.Collections.Generic;
using System.Linq;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Outputs;
using System.Collections.Generic;
using System.Linq;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Orchestration;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using StellaOps.AdvisoryAI.Orchestration;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Orchestration;
using System;
using System.Collections.Generic;
using StellaOps.AdvisoryAI.Orchestration;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,5 +1,6 @@
using System.Collections.Generic;
using StellaOps.AdvisoryAI.Orchestration;
using System.Collections.Generic;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using StellaOps.AdvisoryAI.Chat;
using System.Collections.Immutable;
using System.Text.Json.Serialization;
using StellaOps.AdvisoryAI.Chat;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using StellaOps.AdvisoryAI.Explanation;
using System.ComponentModel.DataAnnotations;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using StellaOps.AdvisoryAI.PolicyStudio;
using System.ComponentModel.DataAnnotations;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -1,5 +1,6 @@
using System.ComponentModel.DataAnnotations;
using StellaOps.AdvisoryAI.Remediation;
using System.ComponentModel.DataAnnotations;
namespace StellaOps.AdvisoryAI.WebService.Contracts;

View File

@@ -2,9 +2,7 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Runtime.CompilerServices;
using System.Text.Json;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
@@ -19,6 +17,9 @@ using StellaOps.AdvisoryAI.Chat.Routing;
using StellaOps.AdvisoryAI.Chat.Services;
using StellaOps.AdvisoryAI.Chat.Settings;
using StellaOps.AdvisoryAI.WebService.Contracts;
using System.Collections.Immutable;
using System.Runtime.CompilerServices;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.WebService.Endpoints;

View File

@@ -2,13 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Routing;
using StellaOps.Determinism;
using StellaOps.Evidence.Pack;
using StellaOps.Evidence.Pack.Models;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.WebService.Endpoints;

View File

@@ -2,13 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Routing;
using StellaOps.AdvisoryAI.Runs;
using StellaOps.Determinism;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.WebService.Endpoints;

View File

@@ -1,9 +1,4 @@
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Runtime.CompilerServices;
using System.Threading.RateLimiting;
using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.RateLimiting;
@@ -15,21 +10,27 @@ using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Attestation;
using StellaOps.AdvisoryAI.Caching;
using StellaOps.AdvisoryAI.Chat;
using StellaOps.Evidence.Pack;
using StellaOps.AdvisoryAI.Diagnostics;
using StellaOps.AdvisoryAI.Evidence;
using StellaOps.AdvisoryAI.Explanation;
using StellaOps.AdvisoryAI.Hosting;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.PolicyStudio;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Remediation;
using StellaOps.AdvisoryAI.WebService.Contracts;
using StellaOps.AdvisoryAI.WebService.Endpoints;
using StellaOps.AdvisoryAI.WebService.Services;
using StellaOps.Evidence.Pack;
using StellaOps.Router.AspNet;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Runtime.CompilerServices;
using System.Threading.RateLimiting;
var builder = WebApplication.CreateBuilder(args);

View File

@@ -0,0 +1,8 @@
# StellaOps.AdvisoryAI.WebService Task Board
This board mirrors active sprint tasks for this module.
Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_solid_review.md`.
| Task ID | Status | Notes |
| --- | --- | --- |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/AdvisoryAI/StellaOps.AdvisoryAI.WebService/StellaOps.AdvisoryAI.WebService.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -17,7 +17,7 @@
- docs/modules/advisory-ai/architecture.md
- docs/modules/advisory-ai/orchestration-pipeline.md
- src/AdvisoryAI/AGENTS.md (parent module charter)
- docs/policy/assistant-parameters.md (guardrail and ops knobs)
- docs/modules/policy/guides/assistant-parameters.md (guardrail and ops knobs)
## Working Directory & Scope
- Primary: src/AdvisoryAI/StellaOps.AdvisoryAI.Worker/
@@ -25,8 +25,8 @@
- Coordinates with: WebService (queues tasks), core orchestrator (executes plans)
## Key Components
- `Program.cs` Host builder setup with AdvisoryAI core and hosted service registration.
- `Services/AdvisoryTaskWorker.cs` BackgroundService that:
- `Program.cs` ??? Host builder setup with AdvisoryAI core and hosted service registration.
- `Services/AdvisoryTaskWorker.cs` ??? BackgroundService that:
- Dequeues tasks from `IAdvisoryTaskQueue`
- Checks `IAdvisoryPlanCache` for existing plans
- Creates new plans via `IAdvisoryPipelineOrchestrator`
@@ -57,3 +57,4 @@
- Queue/cache: respect bounded capacities and TTLs configured via options.
- Update sprint status in docs/implplan/SPRINT_*.md when starting/completing work.
- Mirror decisions in sprint Decisions & Risks section.

View File

@@ -1,12 +1,13 @@
using System.Diagnostics;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Caching;
using StellaOps.AdvisoryAI.Diagnostics;
using StellaOps.AdvisoryAI.Execution;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Execution;
using System.Diagnostics;
namespace StellaOps.AdvisoryAI.Worker.Services;

View File

@@ -0,0 +1,8 @@
# StellaOps.AdvisoryAI.Worker Task Board
This board mirrors active sprint tasks for this module.
Source of truth: `docs/implplan/SPRINT_20260130_002_Tools_csproj_remediation_solid_review.md`.
| Task ID | Status | Notes |
| --- | --- | --- |
| REMED-05 | TODO | Remediation checklist: docs/implplan/audits/csproj-standards/remediation/checklists/src/AdvisoryAI/StellaOps.AdvisoryAI.Worker/StellaOps.AdvisoryAI.Worker.md. |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -28,7 +28,7 @@ Deliver the Advisory AI assistant service that synthesizes advisory/VEX evidence
## Roles & Boundaries
- **Backend engineer** APIs, retrievers, guardrails, orchestrator glue under `src/AdvisoryAI/StellaOps.AdvisoryAI*` and shared fixtures in `src/AdvisoryAI/__Tests`.
- **Worker/queue engineer** background processing and cache orchestration in `StellaOps.AdvisoryAI.Worker`.
- **Docs engineer** Advisory AI docs in `docs/advisory-ai/*`, policy/sbom/runbooks in `docs/policy`, `docs/sbom`, `docs/runbooks`.
- **Docs engineer** Advisory AI docs in `docs/modules/advisory-ai/*`, policy/sbom/runbooks in `docs/modules/policy`, `docs/sboms`, `docs/runbooks`.
- **QA/Testing** deterministic harnesses and golden/property/generative tests in `src/AdvisoryAI/__Tests`.
- Allowed shared dirs: `StellaOps.AdvisoryAI.Hosting`, `StellaOps.Concelier.PluginBinaries` (read-only plugins), and cross-module contracts under `docs/modules/advisory-ai/*`.

View File

@@ -1,5 +1,6 @@
using System.Collections.Immutable;
using StellaOps.AdvisoryAI.Documents;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Abstractions;

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Context;
using System.Threading;
using System.Threading.Tasks;
using StellaOps.AdvisoryAI.Context;
namespace StellaOps.AdvisoryAI.Abstractions;

View File

@@ -2,10 +2,11 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Concurrent;
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Collections.Concurrent;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Actions;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Actions;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Actions;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using System.Collections.Concurrent;
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Actions;

View File

@@ -2,12 +2,13 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Collections.Concurrent;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace StellaOps.AdvisoryAI.Actions;

View File

@@ -1,9 +1,10 @@
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Orchestration;
using System;
using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Orchestration;
namespace StellaOps.AdvisoryAI.Caching;

View File

@@ -2,13 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Chat.Models;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Assembly;

View File

@@ -2,12 +2,13 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Attestation;
using StellaOps.AdvisoryAI.Attestation.Models;
using System.Collections.Immutable;
using System.Security.Cryptography;
using System.Text;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -1,16 +1,17 @@
// <copyright file="AdvisoryChatAuditEnvelopeBuilder.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Routing;
using StellaOps.AdvisoryAI.Chat.Services;
using StellaOps.AdvisoryAI.Chat.Settings;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.Canonicalization.Json;
using System.Collections.Immutable;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
namespace StellaOps.AdvisoryAI.Chat.Audit;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Options;
using System.Collections.Immutable;
using System.Text;
using Microsoft.Extensions.Options;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,12 +2,13 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using System.Collections.Immutable;
using System.Globalization;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,12 +2,13 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Collections.Concurrent;
using System.Collections.Immutable;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,12 +2,13 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using EvidenceClaimType = StellaOps.Evidence.Pack.Models.ClaimType;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.Evidence.Pack;
using StellaOps.Evidence.Pack.Models;
using EvidenceClaimType = StellaOps.Evidence.Pack.Models.ClaimType;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,10 +2,11 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
using System.Collections.Immutable;
using System.Globalization;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,6 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
using System.Collections.Immutable;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
@@ -9,13 +17,6 @@ using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Models = StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Runtime.CompilerServices;
using StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Routing;
using System.Runtime.CompilerServices;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,15 +2,16 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Microsoft.Extensions.Logging;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Routing;
using System.Collections.Immutable;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Chat.Routing;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Models = StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,6 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
using System.Collections.Immutable;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
@@ -9,13 +17,6 @@ using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Models = StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,6 +2,14 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
using System.Collections.Immutable;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
@@ -9,13 +17,6 @@ using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Chat.Options;
using StellaOps.AdvisoryAI.Chat.Routing;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Models = StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,6 +2,7 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Chat.Inference;

View File

@@ -2,11 +2,12 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
using OpsMemoryConversationContext = StellaOps.OpsMemory.Integration.ConversationContext;
using StellaOps.OpsMemory.Integration;
using StellaOps.OpsMemory.Models;
using OpsMemoryConversationContext = StellaOps.OpsMemory.Integration.ConversationContext;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using Microsoft.Extensions.Logging;
using StellaOps.OpsMemory.Storage;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Chat;

View File

@@ -2,9 +2,10 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.ComponentModel.DataAnnotations;
using System.Collections.Generic;
using Microsoft.Extensions.Options;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
namespace StellaOps.AdvisoryAI.Chat.Options;

View File

@@ -2,10 +2,11 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Chat.Models;
using System.Collections.Immutable;
using System.Text.RegularExpressions;
namespace StellaOps.AdvisoryAI.Chat.Routing;

View File

@@ -2,14 +2,12 @@
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Diagnostics;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Actions;
using StellaOps.AdvisoryAI.Chat.Assembly;
using StellaOps.AdvisoryAI.Chat.Options;
@@ -17,9 +15,12 @@ using StellaOps.AdvisoryAI.Chat.Routing;
using StellaOps.AdvisoryAI.Chat.Settings;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Prompting;
// Use namespace alias to avoid conflicts with types in parent StellaOps.AdvisoryAI.Chat namespace
using Models = StellaOps.AdvisoryAI.Chat.Models;
using System.Collections.Immutable;
using System.Diagnostics;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.Chat.Services;

View File

@@ -1,10 +1,11 @@
// <copyright file="NullAdvisoryChatAuditLogger.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Models = StellaOps.AdvisoryAI.Chat.Models;
using StellaOps.AdvisoryAI.Chat.Routing;
using StellaOps.AdvisoryAI.Chat.Settings;
using StellaOps.AdvisoryAI.Guardrails;
using Models = StellaOps.AdvisoryAI.Chat.Models;
namespace StellaOps.AdvisoryAI.Chat.Services;

View File

@@ -1,11 +1,12 @@
// <copyright file="AdvisoryChatSettingsService.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Chat.Options;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Chat.Options;
namespace StellaOps.AdvisoryAI.Chat.Settings;

View File

@@ -1,9 +1,10 @@
// <copyright file="AdvisoryChatToolPolicy.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using StellaOps.AdvisoryAI.Chat.Options;
using System.Collections.Immutable;
using System.Linq;
using StellaOps.AdvisoryAI.Chat.Options;
namespace StellaOps.AdvisoryAI.Chat.Settings;

View File

@@ -1,6 +1,7 @@
using StellaOps.AdvisoryAI.Documents;
using System.Collections.Immutable;
using System.Text.Json;
using StellaOps.AdvisoryAI.Documents;
namespace StellaOps.AdvisoryAI.Chunking;

View File

@@ -1,5 +1,6 @@
using System.Text.RegularExpressions;
using StellaOps.AdvisoryAI.Documents;
using System.Text.RegularExpressions;
namespace StellaOps.AdvisoryAI.Chunking;

View File

@@ -1,7 +1,8 @@
using StellaOps.AdvisoryAI.Documents;
using System.Text;
using System.Text.Json;
using StellaOps.AdvisoryAI.Documents;
namespace StellaOps.AdvisoryAI.Chunking;

View File

@@ -1,5 +1,6 @@
using System.Text.Json;
using StellaOps.AdvisoryAI.Documents;
using System.Text.Json;
namespace StellaOps.AdvisoryAI.Chunking;

View File

@@ -1,10 +1,11 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Providers;
using StellaOps.AdvisoryAI.Retrievers;
using System;
namespace StellaOps.AdvisoryAI.DependencyInjection;

View File

@@ -1,22 +1,23 @@
using System;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.DependencyInjection.Extensions;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Caching;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Tools;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Caching;
using StellaOps.AdvisoryAI.Chunking;
using StellaOps.AdvisoryAI.Providers;
using StellaOps.AdvisoryAI.Retrievers;
using StellaOps.AdvisoryAI.Execution;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Prompting;
using StellaOps.AdvisoryAI.Providers;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Retrievers;
using StellaOps.AdvisoryAI.Tools;
using StellaOps.AdvisoryAI.Vectorization;
using StellaOps.Cryptography;
using System;
namespace StellaOps.AdvisoryAI.DependencyInjection;

View File

@@ -1,10 +1,11 @@
// <copyright file="NullEvidencePackSigner.cs" company="StellaOps">
// Copyright (c) StellaOps. Licensed under the BUSL-1.1.
// </copyright>
using System.Collections.Immutable;
using System.Text;
using StellaOps.Evidence.Pack;
using StellaOps.Evidence.Pack.Models;
using System.Collections.Immutable;
using System.Text;
namespace StellaOps.AdvisoryAI.Evidence;

View File

@@ -1,14 +1,15 @@
using Microsoft.Extensions.Logging;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Inference;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Prompting;
using StellaOps.AdvisoryAI.Queue;
using System;
using System.Diagnostics;
using System.Linq;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Outputs;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Prompting;
using StellaOps.AdvisoryAI.Metrics;
using StellaOps.AdvisoryAI.Queue;
using StellaOps.AdvisoryAI.Inference;
namespace StellaOps.AdvisoryAI.Execution;

View File

@@ -1,9 +1,10 @@
using System.Collections.Immutable;
using System.Globalization;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Prompting;
using System.Collections.Immutable;
using System.Globalization;
using System.Text.RegularExpressions;
namespace StellaOps.AdvisoryAI.Guardrails;

View File

@@ -1,14 +1,15 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Prompting;
using System;
using System.Collections.Immutable;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Net.Http.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Prompting;
namespace StellaOps.AdvisoryAI.Inference;

View File

@@ -1,3 +1,4 @@
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;

View File

@@ -1,5 +1,6 @@
using System.Diagnostics;
using StellaOps.AdvisoryAI.Inference.LlmProviders;
using System.Diagnostics;
namespace StellaOps.AdvisoryAI.Inference;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,7 +1,8 @@
using System.Runtime.CompilerServices;
using Microsoft.Extensions.Configuration;
using NetEscapades.Configuration.Yaml;
using StellaOps.Plugin;
using System.Runtime.CompilerServices;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,10 +1,11 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
using System.Net.Http.Json;
using System.Runtime.CompilerServices;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
namespace StellaOps.AdvisoryAI.Inference.LlmProviders;

View File

@@ -1,3 +1,4 @@
using System.Text.Json;
using System.Text.Json.Serialization;

View File

@@ -1,3 +1,4 @@
using System.Diagnostics;
using System.Runtime.CompilerServices;
using System.Security.Cryptography;

View File

@@ -1,6 +1,6 @@
#pragma warning disable CS0618 // LlmProviderFactory is obsolete - transitioning to PluginBasedLlmProviderFactory
using System.Collections.Immutable;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Logging;
@@ -9,6 +9,7 @@ using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Inference.LlmProviders;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Prompting;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Inference;

View File

@@ -1,5 +1,6 @@
using System.Diagnostics.Metrics;
using StellaOps.AdvisoryAI.Orchestration;
using System.Diagnostics.Metrics;
namespace StellaOps.AdvisoryAI.Metrics;

View File

@@ -1,15 +1,16 @@
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Context;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.AdvisoryAI.Tools;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Globalization;
using System.Linq;
using System.Security.Cryptography;
using System.Text;
namespace StellaOps.AdvisoryAI.Orchestration;

View File

@@ -1,8 +1,9 @@
using StellaOps.AdvisoryAI.Tools;
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Linq;
using StellaOps.AdvisoryAI.Tools;
namespace StellaOps.AdvisoryAI.Orchestration;

View File

@@ -1,8 +1,9 @@
using System.Collections.Immutable;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Context;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.AdvisoryAI.Tools;
using System.Collections.Immutable;
namespace StellaOps.AdvisoryAI.Orchestration;

View File

@@ -1,12 +1,13 @@
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Inference;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Prompting;
using System.Collections.Concurrent;
using System.Collections.Immutable;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using StellaOps.AdvisoryAI.Guardrails;
using StellaOps.AdvisoryAI.Prompting;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Inference;
namespace StellaOps.AdvisoryAI.Outputs;

View File

@@ -1,10 +1,11 @@
using Microsoft.Extensions.Logging;
using StellaOps.Policy.TrustLattice;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using Microsoft.Extensions.Logging;
using StellaOps.Policy.TrustLattice;
namespace StellaOps.AdvisoryAI.PolicyStudio;

View File

@@ -1,14 +1,15 @@
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Context;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Tools;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Text;
using System.Text.Encodings.Web;
using System.Text.Json;
using System.Text.Json.Serialization;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Context;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.AdvisoryAI.Orchestration;
using StellaOps.AdvisoryAI.Tools;
namespace StellaOps.AdvisoryAI.Prompting;

View File

@@ -1,10 +1,11 @@
using System.Collections.Immutable;
using System.Globalization;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.Concelier.Core.Raw;
using System.Collections.Immutable;
using System.Globalization;
namespace StellaOps.AdvisoryAI.Providers;

View File

@@ -1,14 +1,15 @@
using System.Collections.Immutable;
using System.Globalization;
using System.Text.Json;
using System.Text.Json.Nodes;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Abstractions;
using StellaOps.AdvisoryAI.Documents;
using StellaOps.Excititor.Core;
using StellaOps.Excititor.Core.Observations;
using System.Collections.Immutable;
using System.Globalization;
using System.Text.Json;
using System.Text.Json.Nodes;
namespace StellaOps.AdvisoryAI.Providers;

View File

@@ -1,3 +1,6 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using System;
using System.Collections.Generic;
using System.Collections.Immutable;
@@ -11,8 +14,6 @@ using System.Text.Json;
using System.Text.Json.Serialization;
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
namespace StellaOps.AdvisoryAI.Providers;

View File

@@ -1,10 +1,11 @@
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Orchestration;
using System;
using System.Threading;
using System.Threading.Channels;
using System.Threading.Tasks;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.AdvisoryAI.Orchestration;
namespace StellaOps.AdvisoryAI.Queue;

View File

@@ -1,5 +1,6 @@
using System.Globalization;
using StellaOps.AdvisoryAI.Remediation.ScmConnector;
using System.Globalization;
namespace StellaOps.AdvisoryAI.Remediation;

Some files were not shown because too many files have changed in this diff Show More