# AOC Roslyn Source Analyzer (Compile-Time Contract Enforcement) ## Module Aoc ## Status IMPLEMENTED ## Description Roslyn source analyzer that enforces ingestion contracts at compile time via diagnostic rules (AOC0001, AOC0002, AOC0003), preventing forbidden field access patterns in AOC-related code. ## Implementation Details - **Intent Analyzer**: `src/__Analyzers/StellaOps.TestKit.Analyzers/IntentAnalyzer.cs` -- Roslyn `DiagnosticAnalyzer` that enforces test intent declaration contracts. Reports AOC0001 for missing intent attributes on test methods, AOC0002 for inconsistent intent declarations across test classes, and AOC0003 for intent/naming convention mismatches. - **Intent Analyzer Tests**: `src/__Analyzers/StellaOps.TestKit.Analyzers.Tests/IntentAnalyzerTests.cs` -- unit tests verifying the analyzer correctly reports AOC diagnostics for missing or mismatched intent declarations and validates that properly annotated tests produce no diagnostics. ## E2E Test Plan - [ ] Add the `StellaOps.TestKit.Analyzers` package to a test project and verify AOC0001 is reported for test methods missing intent attributes - [ ] Verify AOC0002 is reported when a test class has inconsistent intent declarations across its test methods - [ ] Verify AOC0003 is reported for intent/naming convention mismatches (e.g., a test named `*Integration*` with a unit test intent attribute) - [ ] Verify no diagnostics are reported for correctly attributed test methods following the naming convention - [ ] Verify the analyzer integrates with `dotnet build` and CI pipelines to catch ingestion contract violations before merge