Remove stryker thresholds configuration, add script to fix duplicate projects in solution, and create new solution file for StellaOps.Router with project references.
This commit is contained in:
3
.gitignore
vendored
3
.gitignore
vendored
@@ -63,10 +63,9 @@ obj/
|
||||
logs/
|
||||
tmp/
|
||||
coverage/
|
||||
# Consolidated NuGet cache (all variants)
|
||||
# Consolidated NuGet cache
|
||||
.nuget/
|
||||
.nuget-*/
|
||||
local-nuget*/
|
||||
devops/offline/packages/
|
||||
src/Sdk/StellaOps.Sdk.Generator/tools/jdk-21.0.1+12
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@
|
||||
<PackageReference Update="xunit.assert" Version="2.9.3" />
|
||||
<PackageReference Update="xunit.extensibility.core" Version="2.9.3" />
|
||||
<PackageReference Update="xunit.extensibility.execution" Version="2.9.3" />
|
||||
<PackageReference Update="xunit.runner.visualstudio" Version="3.0.1" />
|
||||
<PackageReference Update="xunit.runner.visualstudio" Version="2.8.2" />
|
||||
<PackageReference Update="xunit.abstractions" Version="2.0.3" />
|
||||
|
||||
<!-- JSON -->
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
<Solution>
|
||||
<Folder Name="/src/" />
|
||||
<Folder Name="/src/__Libraries/">
|
||||
<Project Path="src/__Libraries/StellaOps.Microservice.SourceGen/StellaOps.Microservice.SourceGen.csproj" />
|
||||
<Project Path="src/__Libraries/StellaOps.Microservice/StellaOps.Microservice.csproj" />
|
||||
<Project Path="src/__Libraries/StellaOps.Router.Common/StellaOps.Router.Common.csproj" />
|
||||
<Project Path="src/__Libraries/StellaOps.Router.Config/StellaOps.Router.Config.csproj" />
|
||||
<Project Path="src/__Libraries/StellaOps.Router.Gateway/StellaOps.Router.Gateway.csproj" />
|
||||
<Project Path="src/__Libraries/StellaOps.Router.Transport.InMemory/StellaOps.Router.Transport.InMemory.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/tests/">
|
||||
<Project Path="tests/StellaOps.Microservice.Tests/StellaOps.Microservice.Tests.csproj" />
|
||||
<Project Path="tests/StellaOps.Router.Common.Tests/StellaOps.Router.Common.Tests.csproj" />
|
||||
<Project Path="tests/StellaOps.Router.Gateway.Tests/StellaOps.Router.Gateway.Tests.csproj" />
|
||||
<Project Path="tests/StellaOps.Router.Transport.InMemory.Tests/StellaOps.Router.Transport.InMemory.Tests.csproj" />
|
||||
</Folder>
|
||||
</Solution>
|
||||
@@ -1,2 +0,0 @@
|
||||
<Solution>
|
||||
</Solution>
|
||||
55
devops/scripts/fix-duplicate-projects.ps1
Normal file
55
devops/scripts/fix-duplicate-projects.ps1
Normal file
@@ -0,0 +1,55 @@
|
||||
#!/usr/bin/env pwsh
|
||||
# fix-duplicate-projects.ps1 - Remove duplicate project entries from solution file
|
||||
|
||||
param(
|
||||
[string]$SlnPath = "src/StellaOps.sln"
|
||||
)
|
||||
|
||||
$content = Get-Content $SlnPath -Raw
|
||||
$lines = $content -split "`r?`n"
|
||||
|
||||
$projectNames = @{}
|
||||
$duplicateGuids = @()
|
||||
$newLines = @()
|
||||
$skipNextEndProject = $false
|
||||
|
||||
foreach ($line in $lines) {
|
||||
if ($skipNextEndProject -and $line -eq "EndProject") {
|
||||
$skipNextEndProject = $false
|
||||
continue
|
||||
}
|
||||
|
||||
if ($line -match 'Project\(.+\) = "([^"]+)",.*\{([A-F0-9-]+)\}"?$') {
|
||||
$name = $Matches[1]
|
||||
$guid = $Matches[2]
|
||||
|
||||
if ($projectNames.ContainsKey($name)) {
|
||||
$duplicateGuids += $guid
|
||||
Write-Host "Removing duplicate: $name ($guid)"
|
||||
$skipNextEndProject = $true
|
||||
continue
|
||||
} else {
|
||||
$projectNames[$name] = $true
|
||||
}
|
||||
}
|
||||
|
||||
$newLines += $line
|
||||
}
|
||||
|
||||
# Also remove duplicate GUIDs from GlobalSection
|
||||
$finalLines = @()
|
||||
foreach ($line in $newLines) {
|
||||
$skip = $false
|
||||
foreach ($guid in $duplicateGuids) {
|
||||
if ($line -match $guid) {
|
||||
$skip = $true
|
||||
break
|
||||
}
|
||||
}
|
||||
if (-not $skip) {
|
||||
$finalLines += $line
|
||||
}
|
||||
}
|
||||
|
||||
$finalLines | Out-File -FilePath $SlnPath -Encoding UTF8 -NoNewline
|
||||
Write-Host "`nRemoved $($duplicateGuids.Count) duplicate projects"
|
||||
@@ -2,18 +2,18 @@
|
||||
|
||||
Status: Published · 2025-11-23
|
||||
Owners: Scanner Guild · BuildX Plugin Guild · Ops Guild
|
||||
Scope: Unblock SURFACE-ENV-03 and BuildX adoption by pinning package version + offline bundle path for `StellaOps.Scanner.Surface.Env`.
|
||||
Scope: Unblock SURFACE-ENV-03 and BuildX adoption by pinning package version for `StellaOps.Scanner.Surface.Env`.
|
||||
|
||||
## Version & Build Inputs
|
||||
- **Package ID:** `StellaOps.Scanner.Surface.Env`
|
||||
- **Version:** `0.1.0-alpha.20251123` (semantic, date-stamped for sprint 136)
|
||||
- **Source:** `src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env/StellaOps.Scanner.Surface.Env.csproj`
|
||||
- **Pack command:**
|
||||
- `dotnet pack src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env/StellaOps.Scanner.Surface.Env.csproj -c Release -o local-nugets /p:Version=0.1.0-alpha.20251123`
|
||||
- **Restore sources:** `local-nugets/; dotnet-public; nuget.org` (per `Directory.Build.props`).
|
||||
- `dotnet pack src/Scanner/__Libraries/StellaOps.Scanner.Surface.Env/StellaOps.Scanner.Surface.Env.csproj -c Release -o .nuget/packages /p:Version=0.1.0-alpha.20251123`
|
||||
- **Restore sources:** configured in `nuget.config` (nuget.org, stellaops internal feed).
|
||||
|
||||
## Offline / Air-Gap Artefacts
|
||||
- The `.nupkg` is placed in `local-nugets/` by the pack command above. For air-gap deployments, include this folder in the offline kit.
|
||||
- The `.nupkg` is placed in `.nuget/packages/` by the pack command above. For air-gap deployments, copy this cache to the target environment.
|
||||
- Manifest entry:
|
||||
- `packageId`: `StellaOps.Scanner.Surface.Env`
|
||||
- `version`: `0.1.0-alpha.20251123`
|
||||
@@ -23,7 +23,7 @@ Scope: Unblock SURFACE-ENV-03 and BuildX adoption by pinning package version + o
|
||||
- No external network calls are required after packing; the offline kit consumes the local file.
|
||||
|
||||
## Consumer Guidance
|
||||
- BuildX plugin (`src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin`) should reference `0.1.0-alpha.20251123` via the curated feed `local-nugets/`.
|
||||
- BuildX plugin (`src/Scanner/StellaOps.Scanner.Sbomer.BuildXPlugin`) should reference `0.1.0-alpha.20251123`.
|
||||
- Scanner WebService/Worker should use the same version once Surface.Env integration tests pass (SCANNER-ENV-02).
|
||||
- Surface.Validation and Surface.Secrets depend on the env settings; keep prefix defaults and determinism rules from `design/surface-env.md`.
|
||||
|
||||
@@ -32,7 +32,6 @@ Scope: Unblock SURFACE-ENV-03 and BuildX adoption by pinning package version + o
|
||||
- Validate package contents:
|
||||
- Contains `StellaOps.Scanner.Surface.Env.dll` and `StellaOps.Scanner.Surface.Env.xml` docs.
|
||||
- `lib/net10.0/` target only; no native assets.
|
||||
- Ensure `local-nugets/` feed lists the package with `nuget list -Source local-nugets` before wiring CI.
|
||||
|
||||
## Change Log
|
||||
- 2025-11-23: Initial release note created to unblock SCANNER-ENV-03 and offline kit wiring; version pinned to `0.1.0-alpha.20251123`.
|
||||
|
||||
@@ -42,5 +42,5 @@
|
||||
|
||||
## Tooling
|
||||
- Target `net10.0`; use latest Microsoft.* packages compatible with net10.
|
||||
- NuGet: prefer local cache `/local-nugets`; avoid floating versions.
|
||||
- NuGet: use `.nuget/packages/` cache; avoid floating versions.
|
||||
- Linting/analyzers: keep nullable enabled; treat warnings as errors where feasible.
|
||||
|
||||
@@ -45,7 +45,7 @@
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.14.0" />
|
||||
<PackageReference Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.0" />
|
||||
<PackageReference Include="xunit" Version="2.9.3" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2" />
|
||||
<PackageReference Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.0.0" />
|
||||
<Compile Include="$(ConcelierSharedTestsPath)AssemblyInfo.cs" Link="Shared\AssemblyInfo.cs" Condition="'$(ConcelierSharedTestsPath)' != ''" />
|
||||
<Compile Include="$(ConcelierSharedTestsPath)ConcelierFixtureCollection.cs" Link="Shared\ConcelierFixtureCollection.cs" Condition="'$(ConcelierSharedTestsPath)' != ''" />
|
||||
|
||||
@@ -199,7 +199,7 @@ See: `docs/implplan/SPRINT_3800_0000_0000_summary.md`
|
||||
|
||||
## Engineering Rules
|
||||
- Target `net10.0`; prefer latest C# preview allowed in repo.
|
||||
- Offline-first: no new external network calls; use cached feeds (`/local-nugets`).
|
||||
- Offline-first: no new external network calls; use `.nuget/packages/` cache.
|
||||
- Determinism: stable ordering, UTC ISO-8601 timestamps, no `DateTime.Now`/random without seed; normalize path separators.
|
||||
- Logging: structured (`ILogger` message templates); avoid secrets/paths leakage.
|
||||
- Security: no executing untrusted payloads; keep analyzers pure; include redaction guidance for runtime capture adapters.
|
||||
|
||||
@@ -19,7 +19,7 @@
|
||||
|
||||
## Engineering Rules
|
||||
- Target `net10.0`; prefer latest C# preview permitted in repo.
|
||||
- Offline-first: no new external calls; use cached feeds (`/local-nugets`) and configurable endpoints.
|
||||
- Offline-first: no new external calls; use `.nuget/packages/` cache and configurable endpoints.
|
||||
- Determinism: stable ordering, UTC ISO-8601 timestamps, seeded randomness; avoid host-specific paths in outputs/events.
|
||||
- Observability: use structured logging; keep metric/label names consistent with published dashboards (`policy_simulation_*`, `graph_*`, `overlay_*`).
|
||||
- Security: tenant isolation on all queues/stores; avoid leaking PII/secrets in logs or metrics.
|
||||
|
||||
16
src/StellaOps.Router.slnx
Normal file
16
src/StellaOps.Router.slnx
Normal file
@@ -0,0 +1,16 @@
|
||||
<Solution>
|
||||
<Folder Name="/__Libraries/">
|
||||
<Project Path="__Libraries/StellaOps.Microservice.SourceGen/StellaOps.Microservice.SourceGen.csproj" />
|
||||
<Project Path="__Libraries/StellaOps.Microservice/StellaOps.Microservice.csproj" />
|
||||
<Project Path="__Libraries/StellaOps.Router.Common/StellaOps.Router.Common.csproj" />
|
||||
<Project Path="__Libraries/StellaOps.Router.Config/StellaOps.Router.Config.csproj" />
|
||||
<Project Path="__Libraries/StellaOps.Router.Gateway/StellaOps.Router.Gateway.csproj" />
|
||||
<Project Path="__Libraries/StellaOps.Router.Transport.InMemory/StellaOps.Router.Transport.InMemory.csproj" />
|
||||
</Folder>
|
||||
<Folder Name="/tests/">
|
||||
<Project Path="../tests/StellaOps.Microservice.Tests/StellaOps.Microservice.Tests.csproj" />
|
||||
<Project Path="../tests/StellaOps.Router.Common.Tests/StellaOps.Router.Common.Tests.csproj" />
|
||||
<Project Path="../tests/StellaOps.Router.Gateway.Tests/StellaOps.Router.Gateway.Tests.csproj" />
|
||||
<Project Path="../tests/StellaOps.Router.Transport.InMemory.Tests/StellaOps.Router.Transport.InMemory.Tests.csproj" />
|
||||
</Folder>
|
||||
</Solution>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,43 +0,0 @@
|
||||
{
|
||||
"$schema": "https://raw.githubusercontent.com/stryker-mutator/stryker-net/master/src/Stryker.Core/Stryker.Core/assets/stryker-config.schema.json",
|
||||
"stryker-config": {
|
||||
"comment": "Per-module mutation score thresholds. Sprint: SPRINT_0353_0001_0001",
|
||||
"thresholds": {
|
||||
"high": 80,
|
||||
"low": 60,
|
||||
"break": 50
|
||||
},
|
||||
"module-thresholds": {
|
||||
"Scanner.Core": {
|
||||
"high": 80,
|
||||
"low": 70,
|
||||
"break": 65
|
||||
},
|
||||
"Policy.Engine": {
|
||||
"high": 80,
|
||||
"low": 68,
|
||||
"break": 60
|
||||
},
|
||||
"Authority.Core": {
|
||||
"high": 85,
|
||||
"low": 75,
|
||||
"break": 70
|
||||
},
|
||||
"Signer.Core": {
|
||||
"high": 80,
|
||||
"low": 70,
|
||||
"break": 60
|
||||
},
|
||||
"Attestor.Core": {
|
||||
"high": 80,
|
||||
"low": 65,
|
||||
"break": 55
|
||||
},
|
||||
"Reachability.Core": {
|
||||
"high": 75,
|
||||
"low": 60,
|
||||
"break": 50
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user