2.9 KiB
2.9 KiB
Roslyn Analyzer for Canonicalization Enforcement (STELLA0100)
Module
__Analyzers
Status
VERIFIED
Description
Custom Roslyn static analyzer (diagnostic STELLA0100) that enforces canonicalization boundaries at compile time. Detects code paths that cross resolver boundaries without proper canonicalization, preventing non-deterministic serialization from leaking into deterministic evaluation pipelines.
Implementation Details
- Canonicalization Boundary Analyzer:
src/__Analyzers/StellaOps.Determinism.Analyzers/CanonicalizationBoundaryAnalyzer.cs-- RoslynDiagnosticAnalyzerthat reportsSTELLA0100(and companion diagnostics) for boundary serialization violations. - Analyzer Tests:
src/__Analyzers/StellaOps.Determinism.Analyzers.Tests/CanonicalizationBoundaryAnalyzerTests.cs-- unit tests for positive and negative analyzer paths.
E2E Test Plan
- Verify STELLA0100 is reported when canonicalization boundary rules are violated
- Verify no diagnostics are emitted for correctly guarded canonical serializer usage
- Verify analyzer integrates in
dotnet build/test workflow - Verify analyzer avoids false positives in non-boundary scenarios
Verification
- Verified: 2026-02-11
- Method: Tier 0 source verification + Tier 1 build/test + Tier 2d analyzer behavior replay
- Build: PASS (
src/__Analyzers/StellaOps.Determinism.Analyzers/StellaOps.Determinism.Analyzers.csproj) - Tests: PASS (
src/__Analyzers/StellaOps.Determinism.Analyzers.Tests/StellaOps.Determinism.Analyzers.Tests.csproj: 8/8) - Tier 0 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-001/tier0-source-check.json - Tier 1 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-001/tier1-build-check.json - Tier 2 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-001/tier2-integration-check.json
Recheck (Run-002)
- Rechecked: 2026-02-11
- Method: Tier 0 source verification + Tier 1 build/test + strict Tier 2 command-line behavior replay
- Build: PASS (
src/__Analyzers/StellaOps.Determinism.Analyzers/StellaOps.Determinism.Analyzers.csproj) - Tests: PASS (
src/__Analyzers/StellaOps.Determinism.Analyzers.Tests/StellaOps.Determinism.Analyzers.Tests.csproj: 8/8) - Tier 2 Behavior:
- Positive path:
dotnet buildfor a violating sample emitsSTELLA0100. - Negative path:
dotnet buildfor a compliant sample emits noSTELLA0100. - Tier 0 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-002/tier0-source-check.json - Tier 1 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-002/tier1-build-check.json - Tier 2 Evidence:
docs/qa/feature-checks/runs/analyzers/roslyn-analyzer-for-canonicalization-enforcement/run-002/tier2-integration-check.json