Files
git.stella-ops.org/docs/features/unchecked/aoc/aoc-roslyn-source-analyzer.md

1.6 KiB

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