save checkpoint: save features
This commit is contained in:
@@ -0,0 +1,41 @@
|
||||
# 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
|
||||
- [x] Verify STELLA0100 is reported when canonicalization boundary rules are violated
|
||||
- [x] Verify no diagnostics are emitted for correctly guarded canonical serializer usage
|
||||
- [x] Verify analyzer integrates in `dotnet build`/test workflow
|
||||
- [x] 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`
|
||||
Reference in New Issue
Block a user