Files
git.stella-ops.org/docs/features/checked/analyzers/roslyn-analyzer-for-canonicalization-enforcement.md
2026-02-12 10:27:23 +02:00

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 -- Roslyn DiagnosticAnalyzer that reports STELLA0100 (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 build for a violating sample emits STELLA0100.
  • Negative path: dotnet build for a compliant sample emits no STELLA0100.
  • 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