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

@@ -0,0 +1,23 @@
# AGENTS - Orchestrator Module
## Working Directory
- `src/Orchestrator/**` (core, infrastructure, WebService, Worker, tests).
## Required Reading
- `docs/README.md`
- `docs/07_HIGH_LEVEL_ARCHITECTURE.md`
- `docs/modules/platform/architecture-overview.md`
- `docs/modules/orchestrator/architecture.md`
- `docs/modules/orchestrator/README.md`
## Engineering Rules
- Deterministic scheduling and execution; stable ordering for job runs.
- Enforce tenant isolation and authz on all APIs.
- Offline-first; no network calls in tests.
## Testing & Verification
- Tests live in `src/Orchestrator/StellaOps.Orchestrator/StellaOps.Orchestrator.Tests` and `src/Orchestrator/StellaOps.Orchestrator.WorkerSdk.Python/stellaops_orchestrator_worker/tests`.
- Cover scheduling, retries, and idempotent execution.
## Sprint Discipline
- Track task status in sprint tracker and local TASKS boards.

View File

@@ -1,7 +1,8 @@
using System.Text.Json;
using System.Text.RegularExpressions;
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain.AirGap;
using System.Text.Json;
using System.Text.RegularExpressions;
namespace StellaOps.Orchestrator.Core.AirGap;

View File

@@ -1,8 +1,9 @@
using StellaOps.Cryptography;
using StellaOps.Orchestrator.Core.Hashing;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using StellaOps.Cryptography;
using StellaOps.Orchestrator.Core.Hashing;
namespace StellaOps.Orchestrator.Core.Domain.Events;

View File

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

View File

@@ -1,7 +1,8 @@
using StellaOps.Orchestrator.Core.Domain.AirGap;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using StellaOps.Orchestrator.Core.Domain.AirGap;
namespace StellaOps.Orchestrator.Core.Domain.Mirror;

View File

@@ -1,6 +1,7 @@
using System.Text;
using StellaOps.Cryptography;
using StellaOps.Orchestrator.Core.Hashing;
using System.Text;
namespace StellaOps.Orchestrator.Core.Domain;

View File

@@ -1,5 +1,6 @@
using System.Text.Json.Serialization;
using StellaOps.Orchestrator.Core.Hashing;
using System.Text.Json.Serialization;
namespace StellaOps.Orchestrator.Core.Domain.Replay;

View File

@@ -1,6 +1,7 @@
using StellaOps.Orchestrator.Core.Hashing;
using System.Collections.Immutable;
using System.Text.Json.Serialization;
using StellaOps.Orchestrator.Core.Hashing;
namespace StellaOps.Orchestrator.Core.Domain.Replay;

View File

@@ -1,9 +1,9 @@
using System.Collections.Immutable;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace StellaOps.Orchestrator.Core;
using System.Text.Json;
using System.Text.Json.Serialization;
public sealed record EventEnvelope(
[property: JsonPropertyName("schemaVersion")] string SchemaVersion,

View File

@@ -1,8 +1,9 @@
using StellaOps.Orchestrator.Core.Domain.Events;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using StellaOps.Orchestrator.Core.Domain.Events;
namespace StellaOps.Orchestrator.Core.Evidence;

View File

@@ -1,8 +1,9 @@
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain.Events;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain.Events;
namespace StellaOps.Orchestrator.Core.Evidence;

View File

@@ -1,7 +1,8 @@
using StellaOps.Orchestrator.Core.Domain.Events;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using StellaOps.Orchestrator.Core.Domain.Events;
namespace StellaOps.Orchestrator.Core.Evidence;

View File

@@ -1,3 +1,4 @@
using Microsoft.Extensions.Logging;
namespace StellaOps.Orchestrator.Core.Evidence;

View File

@@ -1,8 +1,9 @@
using StellaOps.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Nodes;
using System.Text.Json.Serialization;
using StellaOps.Cryptography;
namespace StellaOps.Orchestrator.Core.Hashing;

View File

@@ -1,6 +1,7 @@
using System.Globalization;
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain.Events;
using System.Globalization;
namespace StellaOps.Orchestrator.Core.Observability;

View File

@@ -8,3 +8,4 @@ Source of truth: `docs-archived/implplan/2025-12-29-csproj-audit/SPRINT_20251229
| AUDIT-0421-M | DONE | Revalidated 2026-01-07; maintainability audit for StellaOps.Orchestrator.Core. |
| AUDIT-0421-T | DONE | Revalidated 2026-01-07; test coverage audit for StellaOps.Orchestrator.Core. |
| AUDIT-0421-A | TODO | Revalidated 2026-01-07 (open findings). |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -1,10 +1,11 @@
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Globalization;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
namespace StellaOps.Orchestrator.Infrastructure.Ledger;

View File

@@ -1,6 +1,7 @@
using System.Diagnostics;
using Microsoft.Extensions.Logging;
using StellaOps.Telemetry.Core;
using System.Diagnostics;
namespace StellaOps.Orchestrator.Infrastructure.Observability;

View File

@@ -1,8 +1,9 @@
using System.Data;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using Npgsql;
using StellaOps.Orchestrator.Infrastructure.Options;
using System.Data;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Core.Hashing;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,10 +1,11 @@
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
using System.Text.Json;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.DeadLetter;
using StellaOps.Orchestrator.Core.Domain;
using System.Text;
using System.Text.Json;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,8 +1,9 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,8 +1,9 @@
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using PackLogLevel = StellaOps.Orchestrator.Core.Domain.LogLevel;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Globalization;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Globalization;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,8 +1,9 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,9 +1,10 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using NpgsqlTypes;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,8 +1,9 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,8 +1,9 @@
using System.Text;
using Microsoft.Extensions.Logging;
using Npgsql;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text;
namespace StellaOps.Orchestrator.Infrastructure.Postgres;

View File

@@ -1,11 +1,12 @@
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using StellaOps.Orchestrator.Core.Backfill;
using StellaOps.Orchestrator.Core.Observability;
using StellaOps.Orchestrator.Core.Repositories;
using StellaOps.Orchestrator.Infrastructure.Caching;
using StellaOps.Orchestrator.Infrastructure.Ledger;
using StellaOps.Orchestrator.Infrastructure.Observability;
using StellaOps.Orchestrator.Infrastructure.Caching;
using StellaOps.Orchestrator.Infrastructure.Options;
using StellaOps.Orchestrator.Infrastructure.Postgres;
using StellaOps.Orchestrator.Infrastructure.Repositories;

View File

@@ -1,8 +1,5 @@
using System.Diagnostics;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
using CoreServices = StellaOps.Orchestrator.Core.Services;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
@@ -12,7 +9,11 @@ using StellaOps.Orchestrator.Infrastructure.Caching;
using StellaOps.Orchestrator.Infrastructure.Options;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using StellaOps.Telemetry.Core;
using CoreServices = StellaOps.Orchestrator.Core.Services;
using System.Diagnostics;
using System.Security.Cryptography;
using System.Text;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace StellaOps.Orchestrator.Infrastructure.Services;

View File

@@ -1,3 +1,5 @@
using CoreServices = StellaOps.Orchestrator.Core.Services;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
@@ -5,7 +7,6 @@ using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Options;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using CoreServices = StellaOps.Orchestrator.Core.Services;
namespace StellaOps.Orchestrator.Infrastructure.Services;

View File

@@ -1,10 +1,11 @@
using System.Net;
using System.Net.Http.Json;
using System.Text.Json;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Options;
using System.Net;
using System.Net.Http.Json;
using System.Text.Json;
namespace StellaOps.Orchestrator.Infrastructure.Services;

View File

@@ -8,3 +8,4 @@ Source of truth: `docs-archived/implplan/2025-12-29-csproj-audit/SPRINT_20251229
| AUDIT-0422-M | DONE | Revalidated 2026-01-07; maintainability audit for StellaOps.Orchestrator.Infrastructure. |
| AUDIT-0422-T | DONE | Revalidated 2026-01-07; test coverage audit for StellaOps.Orchestrator.Infrastructure. |
| AUDIT-0422-A | TODO | Revalidated 2026-01-07 (open findings). |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -11,3 +11,6 @@ Provide deterministic unit and integration tests for Orchestrator core and infra
- Update sprint status in docs/implplan/SPRINT_*.md and local TASKS.md.
- Keep tests deterministic (fixed time/IDs, stable ordering).
- Expand coverage for core services and infrastructure repositories as they evolve.
## Known Quirks
- **Q5 — Large test suite timeout**: This project contains ~1,260 tests and takes ~7 minutes to complete. CI per-project timeouts below 10 minutes will cause false failures. Set timeout to at least 10 minutes (20 minutes recommended) when running this project.

View File

@@ -8,3 +8,4 @@ Source of truth: `docs-archived/implplan/2025-12-29-csproj-audit/SPRINT_20251229
| AUDIT-0424-M | DONE | Revalidated 2026-01-07; maintainability audit for StellaOps.Orchestrator.Tests. |
| AUDIT-0424-T | DONE | Revalidated 2026-01-07; test coverage audit for StellaOps.Orchestrator.Tests. |
| AUDIT-0424-A | DONE | Waived (test project; revalidated 2026-01-07). |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -1,8 +1,9 @@
using System.Globalization;
using Microsoft.AspNetCore.Mvc;
using StellaOps.Orchestrator.Core.DeadLetter;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.WebService.Services;
using System.Globalization;
namespace StellaOps.Orchestrator.WebService.Endpoints;

View File

@@ -1,7 +1,6 @@
using System.Globalization;
using System.Text;
using System.Text.Json;
using Microsoft.AspNetCore.Mvc;
using PackLogLevel = StellaOps.Orchestrator.Core.Domain.LogLevel;
using StellaOps.Cryptography;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Core.Domain.Events;
@@ -9,7 +8,9 @@ using StellaOps.Orchestrator.Infrastructure;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using StellaOps.Orchestrator.WebService.Contracts;
using StellaOps.Orchestrator.WebService.Services;
using PackLogLevel = StellaOps.Orchestrator.Core.Domain.LogLevel;
using System.Globalization;
using System.Text;
using System.Text.Json;
namespace StellaOps.Orchestrator.WebService.Endpoints;

View File

@@ -1,3 +1,4 @@
using Microsoft.AspNetCore.Mvc;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using StellaOps.Orchestrator.WebService.Services;

View File

@@ -1,3 +1,4 @@
using StellaOps.Messaging.DependencyInjection;
using StellaOps.Messaging.Transport.InMemory;
using StellaOps.Messaging.Transport.Postgres;
@@ -8,8 +9,8 @@ using StellaOps.Orchestrator.Infrastructure.Services;
using StellaOps.Orchestrator.WebService.Endpoints;
using StellaOps.Orchestrator.WebService.Services;
using StellaOps.Orchestrator.WebService.Streaming;
using StellaOps.Telemetry.Core;
using StellaOps.Router.AspNet;
using StellaOps.Telemetry.Core;
var builder = WebApplication.CreateBuilder(args);

View File

@@ -1,5 +1,6 @@
using System.Globalization;
using Microsoft.AspNetCore.Http;
using System.Globalization;
namespace StellaOps.Orchestrator.WebService.Services;

View File

@@ -1,5 +1,6 @@
using System.Text;
using StellaOps.Orchestrator.Core.Domain;
using System.Text;
namespace StellaOps.Orchestrator.WebService.Services;

View File

@@ -1,7 +1,8 @@
using System.Text.Json;
using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text.Json;
namespace StellaOps.Orchestrator.WebService.Streaming;

View File

@@ -1,9 +1,10 @@
using System.Net.WebSockets;
using System.Text;
using System.Text.Json;
using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Net.WebSockets;
using System.Text;
using System.Text.Json;
namespace StellaOps.Orchestrator.WebService.Streaming;

View File

@@ -1,8 +1,9 @@
using System.Text.Json;
using Microsoft.Extensions.Options;
using StellaOps.Orchestrator.Core.Domain;
using StellaOps.Orchestrator.Core.Services;
using StellaOps.Orchestrator.Infrastructure.Repositories;
using System.Text.Json;
namespace StellaOps.Orchestrator.WebService.Streaming;

View File

@@ -1,3 +1,4 @@
using System.Text.Json;
namespace StellaOps.Orchestrator.WebService.Streaming;

View File

@@ -1,5 +1,6 @@
using System.Text.Json.Serialization;
using StellaOps.Orchestrator.Core.Domain;
using System.Text.Json.Serialization;
namespace StellaOps.Orchestrator.WebService.Streaming;

View File

@@ -8,3 +8,4 @@ Source of truth: `docs-archived/implplan/2025-12-29-csproj-audit/SPRINT_20251229
| AUDIT-0425-M | DONE | Revalidated 2026-01-07; maintainability audit for StellaOps.Orchestrator.WebService. |
| AUDIT-0425-T | DONE | Revalidated 2026-01-07; test coverage audit for StellaOps.Orchestrator.WebService. |
| AUDIT-0425-A | TODO | Revalidated 2026-01-07 (open findings). |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |

View File

@@ -8,3 +8,4 @@ Source of truth: `docs-archived/implplan/2025-12-29-csproj-audit/SPRINT_20251229
| AUDIT-0426-M | DONE | Revalidated 2026-01-07; maintainability audit for StellaOps.Orchestrator.Worker. |
| AUDIT-0426-T | DONE | Revalidated 2026-01-07; test coverage audit for StellaOps.Orchestrator.Worker. |
| AUDIT-0426-A | TODO | Revalidated 2026-01-07 (open findings). |
| REMED-06 | DONE | SOLID review notes captured for SPRINT_20260130_002. |