# AOC Analyzer CI Contract (DEVOPS-AOC-19-001) ## Scope Integrate AOC Roslyn analyzer and guard tests into CI to block banned writes in ingestion projects. ## Steps 1) Restore & build analyzers - `dotnet restore src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/StellaOps.Aoc.Analyzers.csproj` - `dotnet build src/Aoc/__Analyzers/StellaOps.Aoc.Analyzers/StellaOps.Aoc.Analyzers.csproj -c Release` 2) Run analyzer on ingestion projects (Authority/Concelier/Excititor ingest paths) - `dotnet build src/Concelier/StellaOps.Concelier.Ingestion/StellaOps.Concelier.Ingestion.csproj -c Release /p:RunAnalyzers=true /p:TreatWarningsAsErrors=true` - `dotnet build src/Authority/StellaOps.Authority.Ingestion/StellaOps.Authority.Ingestion.csproj -c Release /p:RunAnalyzers=true /p:TreatWarningsAsErrors=true` - `dotnet build src/Excititor/StellaOps.Excititor.Ingestion/StellaOps.Excititor.Ingestion.csproj -c Release /p:RunAnalyzers=true /p:TreatWarningsAsErrors=true` 3) Guard tests - `dotnet test src/Aoc/__Tests/StellaOps.Aoc.Analyzers.Tests/StellaOps.Aoc.Analyzers.Tests.csproj -c Release` 4) Artefacts - Upload `.artifacts/aoc-analyzer.log` and test TRX. ## Determinism/Offline - Use local feeds (`local-nugets/`); no external fetches post-restore. - Build with `/p:ContinuousIntegrationBuild=true`. ## Acceptance - CI fails on any analyzer warning in ingestion projects. - Tests pass; artefacts uploaded.