documentation cleanse, sprints work and planning. remaining non EF DAL migration to EF

This commit is contained in:
master
2026-02-25 01:24:07 +02:00
parent b07d27772e
commit 4db038123b
9090 changed files with 4836 additions and 2909 deletions

View File

@@ -0,0 +1,55 @@
namespace StellaOps.Aoc
{
public interface IAocGuard
{
void Validate(object doc);
}
}
namespace Microsoft.EntityFrameworkCore
{
public class DbContext
{
public int SaveChanges() => 0;
}
}
namespace StellaOps.Concelier.Connector.Compliant
{
public sealed class AdvisoryModel
{
public string? cveId { get; set; }
public string? description { get; set; }
}
public sealed class TestDbContext : Microsoft.EntityFrameworkCore.DbContext
{
}
public sealed class StubGuard : StellaOps.Aoc.IAocGuard
{
public void Validate(object doc)
{
}
}
public sealed class Ingester
{
public void Process(AdvisoryModel advisory, StellaOps.Aoc.IAocGuard guard)
{
advisory.cveId = "CVE-2026-0001";
advisory.description = "test";
var db = new TestDbContext();
db.SaveChanges();
}
}
public static class Program
{
public static void Main()
{
var ingester = new Ingester();
ingester.Process(new AdvisoryModel(), new StubGuard());
}
}
}

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AssemblyName>StellaOps.Concelier.Connector.Compliant</AssemblyName>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\StellaOps.Aoc.Analyzers.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,41 @@
namespace Microsoft.EntityFrameworkCore
{
public class DbContext
{
public int SaveChanges() => 0;
}
}
namespace StellaOps.Concelier.Connector.Sample
{
public sealed class AdvisoryModel
{
public string? severity { get; set; }
public string? effective_date { get; set; }
public string? cveId { get; set; }
}
public sealed class TestDbContext : Microsoft.EntityFrameworkCore.DbContext
{
}
public sealed class Ingester
{
public void Process(AdvisoryModel advisory)
{
advisory.severity = "high";
advisory.effective_date = "2026-02-11";
var db = new TestDbContext();
db.SaveChanges();
}
}
public static class Program
{
public static void Main()
{
var ingester = new Ingester();
ingester.Process(new AdvisoryModel());
}
}
}

View File

@@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net10.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AssemblyName>StellaOps.Concelier.Connector.Sample</AssemblyName>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\StellaOps.Aoc.Analyzers.csproj" OutputItemType="Analyzer" ReferenceOutputAssembly="false" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,104 @@
Client:
Version: 29.1.5
Context: desktop-linux
Debug Mode: false
Plugins:
ai: Docker AI Agent - Ask Gordon (Docker Inc.)
Version: v1.17.1
Path: C:\Program Files\Docker\cli-plugins\docker-ai.exe
buildx: Docker Buildx (Docker Inc.)
Version: v0.30.1-desktop.2
Path: C:\Program Files\Docker\cli-plugins\docker-buildx.exe
compose: Docker Compose (Docker Inc.)
Version: v5.0.1
Path: C:\Program Files\Docker\cli-plugins\docker-compose.exe
debug: Get a shell into any image or container (Docker Inc.)
Version: 0.0.47
Path: C:\Program Files\Docker\cli-plugins\docker-debug.exe
desktop: Docker Desktop commands (Docker Inc.)
Version: v0.2.0
Path: C:\Program Files\Docker\cli-plugins\docker-desktop.exe
extension: Manages Docker extensions (Docker Inc.)
Version: v0.2.31
Path: C:\Program Files\Docker\cli-plugins\docker-extension.exe
init: Creates Docker-related starter files for your project (Docker Inc.)
Version: v1.4.0
Path: C:\Program Files\Docker\cli-plugins\docker-init.exe
mcp: Docker MCP Plugin (Docker Inc.)
Version: v0.35.0
Path: C:\Program Files\Docker\cli-plugins\docker-mcp.exe
model: Docker Model Runner (Docker Inc.)
Version: v1.0.7
Path: C:\Program Files\Docker\cli-plugins\docker-model.exe
offload: Docker Offload (Docker Inc.)
Version: v0.5.41
Path: C:\Program Files\Docker\cli-plugins\docker-offload.exe
pass: Docker Pass Secrets Manager Plugin (beta) (Docker Inc.)
Version: v0.0.22
Path: C:\Program Files\Docker\cli-plugins\docker-pass.exe
sandbox: Docker Sandbox (Docker Inc.)
Version: v0.10.1
Path: C:\Users\VladimirMoushkov\.docker\cli-plugins\docker-sandbox.exe
sbom: View the packaged-based Software Bill Of Materials (SBOM) for an image (Anchore Inc.)
Version: 0.6.0
Path: C:\Program Files\Docker\cli-plugins\docker-sbom.exe
scout: Docker Scout (Docker Inc.)
Version: v1.19.0
Path: C:\Program Files\Docker\cli-plugins\docker-scout.exe
Server:
Containers: 6
Running: 4
Paused: 0
Stopped: 2
Images: 139
Server Version: 29.1.5
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: cgroupfs
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Discovered Devices:
cdi: docker.com/gpu=webgpu
Swarm: inactive
Runtimes: io.containerd.runc.v2 nvidia runc
Default Runtime: runc
Init Binary: docker-init
containerd version: dea7da592f5d1d2b7755e3a161be07f43fad8f75
runc version: v1.3.4-0-gd6d73eb8
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 6.6.87.2-microsoft-standard-WSL2
Operating System: Docker Desktop
OSType: linux
Architecture: x86_64
CPUs: 16
Total Memory: 23.47GiB
Name: docker-desktop
ID: 050b93d5-c56e-4aa7-ac6a-bb56e38dc322
Docker Root Dir: /var/lib/docker
Debug Mode: false
HTTP Proxy: http.docker.internal:3128
HTTPS Proxy: http.docker.internal:3128
No Proxy: hubproxy.docker.internal
Labels:
com.docker.desktop.address=npipe://\\.\pipe\docker_cli
Experimental: false
Insecure Registries:
hubproxy.docker.internal:5555
127.0.0.0/8
::1/128
Live Restore Enabled: false
Firewall Backend: iptables

View File

@@ -0,0 +1,7 @@
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fea92ccb04fc postgres:18.1-alpine "docker-entrypoint.s<>" 21 hours ago Up 15 hours (healthy) 127.1.1.1:5432->5432/tcp stellaops-dev-postgres
4e3f351b0182 ghcr.io/sigstore/rekor-tiles:latest "rekor-server serve" 21 hours ago Restarting (1) 59 seconds ago stellaops-dev-rekor
226baba3c50c chrislusf/seaweedfs:latest "/entrypoint.sh serv<72>" 21 hours ago Up 13 seconds (health: starting) 127.1.1.3:8080->8080/tcp stellaops-dev-rustfs
fb50b8808c83 valkey/valkey:9.0.1-alpine "docker-entrypoint.s<>" 21 hours ago Up 15 hours (healthy) 127.1.1.2:6379->6379/tcp stellaops-dev-valkey
5bcb12209aa1 ghcr.io/project-zot/zot-linux-amd64:v2.1.3 "/usr/local/bin/zot-<2D>" 21 hours ago Up 15 hours (unhealthy) 127.1.1.5:80->5000/tcp stellaops-dev-registry

View File

@@ -0,0 +1,10 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Aoc.Analyzers -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\bin\Release\netstandard2.0\StellaOps.Aoc.Analyzers.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:00.90

View File

@@ -0,0 +1,43 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Canonical.Json -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Canonical.Json\bin\Release\net10.0\StellaOps.Canonical.Json.dll
StellaOps.Aoc.Analyzers -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\bin\Release\netstandard2.0\StellaOps.Aoc.Analyzers.dll
StellaOps.Determinism.Abstractions -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Determinism.Abstractions\bin\Release\net10.0\StellaOps.Determinism.Abstractions.dll
StellaOps.Feedser.BinaryAnalysis -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.BinaryAnalysis\bin\Release\net10.0\StellaOps.Feedser.BinaryAnalysis.dll
StellaOps.Feedser.Core -> C:\dev\New folder\git.stella-ops.org\src\Feedser\StellaOps.Feedser.Core\bin\Release\net10.0\StellaOps.Feedser.Core.dll
StellaOps.VersionComparison -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.VersionComparison\bin\Release\net10.0\StellaOps.VersionComparison.dll
StellaOps.Infrastructure.Postgres -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.Postgres\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.dll
StellaOps.Aoc -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Libraries\StellaOps.Aoc\bin\Release\net10.0\StellaOps.Aoc.dll
StellaOps.Ingestion.Telemetry -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Ingestion.Telemetry\bin\Release\net10.0\StellaOps.Ingestion.Telemetry.dll
StellaOps.Concelier.RawModels -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.RawModels\bin\Release\net10.0\StellaOps.Concelier.RawModels.dll
StellaOps.Cryptography -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Cryptography\bin\Release\net10.0\StellaOps.Cryptography.dll
StellaOps.Concelier.SourceIntel -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SourceIntel\bin\Release\net10.0\StellaOps.Concelier.SourceIntel.dll
StellaOps.DependencyInjection -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.DependencyInjection\bin\Release\net10.0\StellaOps.DependencyInjection.dll
StellaOps.Infrastructure.EfCore -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Infrastructure.EfCore\bin\Release\net10.0\StellaOps.Infrastructure.EfCore.dll
StellaOps.Provenance.Attestation -> C:\dev\New folder\git.stella-ops.org\src\Provenance\StellaOps.Provenance.Attestation\bin\Release\net10.0\StellaOps.Provenance.Attestation.dll
StellaOps.Infrastructure.Postgres.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Infrastructure.Postgres.Testing\bin\Release\net10.0\StellaOps.Infrastructure.Postgres.Testing.dll
StellaOps.Attestor.Envelope -> C:\dev\New folder\git.stella-ops.org\src\Attestor\StellaOps.Attestor.Envelope\bin\Release\net10.0\StellaOps.Attestor.Envelope.dll
StellaOps.TestKit -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.TestKit\bin\Release\net10.0\StellaOps.TestKit.dll
StellaOps.Concelier.Models -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Models\bin\Release\net10.0\StellaOps.Concelier.Models.dll
StellaOps.Scanner.ChangeTrace -> C:\dev\New folder\git.stella-ops.org\src\Scanner\__Libraries\StellaOps.Scanner.ChangeTrace\bin\Release\net10.0\StellaOps.Scanner.ChangeTrace.dll
StellaOps.Plugin -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Plugin\bin\Release\net10.0\StellaOps.Plugin.dll
StellaOps.Messaging -> C:\dev\New folder\git.stella-ops.org\src\Router\__Libraries\StellaOps.Messaging\bin\Release\net10.0\StellaOps.Messaging.dll
StellaOps.Provenance -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provenance\bin\Release\net10.0\StellaOps.Provenance.dll
StellaOps.Attestor.ProofChain -> C:\dev\New folder\git.stella-ops.org\src\Attestor\__Libraries\StellaOps.Attestor.ProofChain\bin\Release\net10.0\StellaOps.Attestor.ProofChain.dll
StellaOps.Concelier.Normalization -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Normalization\bin\Release\net10.0\StellaOps.Concelier.Normalization.dll
StellaOps.Provcache -> C:\dev\New folder\git.stella-ops.org\src\__Libraries\StellaOps.Provcache\bin\Release\net10.0\StellaOps.Provcache.dll
StellaOps.Concelier.Core -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Core\bin\Release\net10.0\StellaOps.Concelier.Core.dll
StellaOps.Concelier.ProofService -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.ProofService\bin\Release\net10.0\StellaOps.Concelier.ProofService.dll
StellaOps.Concelier.Cache.Valkey -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Cache.Valkey\bin\Release\net10.0\StellaOps.Concelier.Cache.Valkey.dll
StellaOps.Concelier.Merge -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Merge\bin\Release\net10.0\StellaOps.Concelier.Merge.dll
StellaOps.Concelier.Interest -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Interest\bin\Release\net10.0\StellaOps.Concelier.Interest.dll
StellaOps.Concelier.SbomIntegration -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.SbomIntegration\bin\Release\net10.0\StellaOps.Concelier.SbomIntegration.dll
StellaOps.Concelier.Persistence -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Persistence\bin\Release\net10.0\StellaOps.Concelier.Persistence.dll
StellaOps.Concelier.Connector.Common -> C:\dev\New folder\git.stella-ops.org\src\Concelier\__Libraries\StellaOps.Concelier.Connector.Common\bin\Release\net10.0\StellaOps.Concelier.Connector.Common.dll
StellaOps.Concelier.Testing -> C:\dev\New folder\git.stella-ops.org\src\__Tests\__Libraries\StellaOps.Concelier.Testing\bin\Release\net10.0\StellaOps.Concelier.Testing.dll
StellaOps.Aoc.Analyzers.Tests -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Tests\StellaOps.Aoc.Analyzers.Tests\bin\Release\net10.0\StellaOps.Aoc.Analyzers.Tests.dll
C:\dev\New folder\git.stella-ops.org\.nuget\packages\microsoft.testing.platform.msbuild\1.9.1\buildMultiTargeting\Microsoft.Testing.Platform.MSBuild.targets(376,5): warning MTP0001: VSTest-specific properties are set but will be ignored when using Microsoft.Testing.Platform. The following properties are set: VSTestTestAdapterPath; . [C:\dev\New folder\git.stella-ops.org\src\Aoc\__Tests\StellaOps.Aoc.Analyzers.Tests\StellaOps.Aoc.Analyzers.Tests.csproj]
Run tests: 'C:\dev\New folder\git.stella-ops.org\src\Aoc\__Tests\StellaOps.Aoc.Analyzers.Tests\bin\Release\net10.0\StellaOps.Aoc.Analyzers.Tests.dll' [net10.0|x64]
Passed! - Failed: 0, Passed: 26, Skipped: 0, Total: 26, Duration: 1s 727ms - StellaOps.Aoc.Analyzers.Tests.dll (net10.0|x64)
Tests succeeded: 'C:\dev\New folder\git.stella-ops.org\src\Aoc\__Tests\StellaOps.Aoc.Analyzers.Tests\bin\Release\net10.0\StellaOps.Aoc.Analyzers.Tests.dll' [net10.0|x64]

View File

@@ -0,0 +1,11 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Aoc.Analyzers -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\bin\Release\netstandard2.0\StellaOps.Aoc.Analyzers.dll
compliant -> C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\compliant\bin\Release\net10.0\StellaOps.Concelier.Connector.Compliant.dll
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:01.02

View File

@@ -0,0 +1,21 @@
Determining projects to restore...
All projects are up-to-date for restore.
StellaOps.Aoc.Analyzers -> C:\dev\New folder\git.stella-ops.org\src\Aoc\__Analyzers\StellaOps.Aoc.Analyzers\bin\Release\netstandard2.0\StellaOps.Aoc.Analyzers.dll
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(26,13): error AOC0001: Field 'severity' is forbidden in AOC ingestion context; this field is computed by the decisioning pipeline (ERR_AOC_001) (https://stella-ops.org/docs/aoc/forbidden-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(26,13): error AOC0001: Field 'severity' is forbidden in AOC ingestion context; this field is computed by the decisioning pipeline (ERR_AOC_001) (https://stella-ops.org/docs/aoc/forbidden-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(27,13): error AOC0002: Derived field 'effective_date' must not be written during ingestion; effective_* fields are computed post-merge (ERR_AOC_006) (https://stella-ops.org/docs/aoc/derived-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(27,13): error AOC0002: Derived field 'effective_date' must not be written during ingestion; effective_* fields are computed post-merge (ERR_AOC_006) (https://stella-ops.org/docs/aoc/derived-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(29,13): warning AOC0003: Database write operation 'DbContext.SaveChanges' detected without AOC guard validation; wrap with IAocGuard.Validate() (ERR_AOC_007) (https://stella-ops.org/docs/aoc/guard-usage) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
Build FAILED.
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(29,13): warning AOC0003: Database write operation 'DbContext.SaveChanges' detected without AOC guard validation; wrap with IAocGuard.Validate() (ERR_AOC_007) (https://stella-ops.org/docs/aoc/guard-usage) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(26,13): error AOC0001: Field 'severity' is forbidden in AOC ingestion context; this field is computed by the decisioning pipeline (ERR_AOC_001) (https://stella-ops.org/docs/aoc/forbidden-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(26,13): error AOC0001: Field 'severity' is forbidden in AOC ingestion context; this field is computed by the decisioning pipeline (ERR_AOC_001) (https://stella-ops.org/docs/aoc/forbidden-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(27,13): error AOC0002: Derived field 'effective_date' must not be written during ingestion; effective_* fields are computed post-merge (ERR_AOC_006) (https://stella-ops.org/docs/aoc/derived-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\Program.cs(27,13): error AOC0002: Derived field 'effective_date' must not be written during ingestion; effective_* fields are computed post-merge (ERR_AOC_006) (https://stella-ops.org/docs/aoc/derived-fields) [C:\dev\New folder\git.stella-ops.org\docs\qa\feature-checks\runs\aoc\aoc-roslyn-source-analyzer\run-002\evidence\cli-samples\violating\violating.csproj]
1 Warning(s)
4 Error(s)
Time Elapsed 00:00:01.22

View File

@@ -0,0 +1,31 @@
{
"module": "aoc",
"feature": "aoc-roslyn-source-analyzer",
"runId": "run-002",
"checkedAtUtc": "2026-02-11T07:35:23.4573795Z",
"featureFile": "docs/features/checked/aoc/aoc-roslyn-source-analyzer.md",
"filesChecked": [
"src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/AocForbiddenFieldAnalyzer.cs",
"src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/AocForbiddenFieldAnalyzerTests.cs"
],
"found": [
"src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/AocForbiddenFieldAnalyzer.cs",
"src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/AocForbiddenFieldAnalyzerTests.cs"
],
"missing": [
],
"declarationsChecked": [
{
"found": true,
"name": "AocForbiddenFieldAnalyzer",
"file": "src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/AocForbiddenFieldAnalyzer.cs"
},
{
"found": true,
"name": "AocForbiddenFieldAnalyzerTests",
"file": "src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/AocForbiddenFieldAnalyzerTests.cs"
}
],
"verdict": "pass"
}

View File

@@ -0,0 +1,25 @@
{
"project": "src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/StellaOps.Aoc.Analyzers.csproj",
"buildResult": "pass",
"testResult": "pass",
"command": "dotnet build src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/StellaOps.Aoc.Analyzers.csproj -c Release --nologo; dotnet test src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/StellaOps.Aoc.Analyzers.Tests.csproj -c Release --nologo",
"testProjects": [
"src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/StellaOps.Aoc.Analyzers.Tests.csproj"
],
"testsRun": 26,
"testsPassed": 26,
"testsFailed": 0,
"environment": {
"dockerInfoExitCode": 0,
"dockerPsExitCode": 0,
"dockerInfoEvidence": "docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/docker-info.txt",
"dockerPsEvidence": "docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/docker-ps.txt"
},
"errors": [
],
"warnings": [
],
"runAtUtc": "2026-02-11T07:35:34.7304034Z"
}

View File

@@ -0,0 +1,52 @@
{
"type": "integration",
"module": "aoc",
"feature": "aoc-roslyn-source-analyzer",
"runId": "run-002",
"capturedAtUtc": "2026-02-11T07:37:02.6718106Z",
"commands": [
{
"description": "Build violating ingestion sample; expect AOC0001/AOC0002/AOC0003 diagnostics and non-zero exit",
"command": "dotnet build C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\aoc\\aoc-roslyn-source-analyzer\\run-002\\evidence\\cli-samples\\violating\\violating.csproj -c Release --nologo",
"expectedExitCode": 1,
"actualExitCode": 1,
"expectedDiagnostics": [
"AOC0001",
"AOC0002",
"AOC0003"
],
"diagnosticsObserved": {
"AOC0002": true,
"AOC0001": true,
"AOC0003": true
},
"commandCapturedAtUtc": "2026-02-11T07:36:59.8518300Z",
"evidence": "docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/tier2-violating-build-output.txt",
"result": "pass"
},
{
"description": "Build compliant ingestion sample; expect no AOC0001/AOC0002/AOC0003 diagnostics",
"command": "dotnet build C:\\dev\\New folder\\git.stella-ops.org\\docs\\qa\\feature-checks\\runs\\aoc\\aoc-roslyn-source-analyzer\\run-002\\evidence\\cli-samples\\compliant\\compliant.csproj -c Release --nologo",
"expectedExitCode": 0,
"actualExitCode": 0,
"expectedDiagnostics": [
"none"
],
"diagnosticsObserved": {
"AOC0001_or_AOC0002_or_AOC0003": false
},
"commandCapturedAtUtc": "2026-02-11T07:37:01.3636440Z",
"evidence": "docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/tier2-compliant-build-output.txt",
"result": "pass"
}
],
"behaviorVerified": [
"AOC analyzer emits forbidden/derived/unguarded diagnostics during real dotnet build for violating ingestion code.",
"AOC analyzer suppresses diagnostics for compliant ingestion code with allowed fields and guard-scoped persistence path."
],
"evidence": [
"docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/tier2-violating-build-output.txt",
"docs/qa/feature-checks/runs/aoc/aoc-roslyn-source-analyzer/run-002/evidence/tier2-compliant-build-output.txt"
],
"verdict": "pass"
}