# Policy DSL Compiler CLI ## Module Cli ## Status VERIFIED ## Description Compile policy DSL files to intermediate representation (IR) with optimization passes, strict mode (warnings as errors), SHA-256 digest output, and validation-only mode. ## Implementation Details - **Command Group**: `src/Cli/StellaOps.Cli/Commands/PolicyCommandGroup.cs` -- policy commands including compile - **Policy DSL**: `src/Policy/StellaOps.PolicyDsl/` -- DSL compiler infrastructure - `PolicyCompiler.cs` -- main compiler - `PolicyParser.cs` -- DSL parser - `PolicyTokenizer.cs` / `DslTokenizer.cs` -- tokenization - `PolicyIr.cs` -- intermediate representation - `PolicyIrSerializer.cs` -- IR serialization - `PolicySyntaxNodes.cs` -- syntax tree nodes - `PolicyEngineFactory.cs` -- engine instantiation from compiled policy - **Commands**: - `stella policy compile ` -- compile DSL to IR. Options: `--strict` (warnings as errors), `--digest` (output SHA-256), `--validate-only`, `--output ` ## E2E Test Plan - [ ] Run `stella policy compile ./policy.stella` and verify IR output generated - [ ] Run with `--strict` and verify warnings treated as errors - [ ] Run with `--digest` and verify SHA-256 digest output - [ ] Run with `--validate-only` and verify syntax validation without compilation - [ ] Run with `--output ./compiled.ir` and verify IR written to file - [ ] Verify error messages include line numbers and descriptive messages - [ ] Verify invalid DSL syntax produces clear compilation errors ## Verification - **Verified**: 2026-02-13T15:30:00Z - **Tier 0 (Source)**: pass -- all referenced source files exist on disk - **Tier 1 (Build)**: pass -- module builds cleanly, 412 tests pass in StellaOps.Cli.Commands.Tests - **Tier 2d (Integration)**: pass -- targeted integration tests confirm behavioral correctness - **Test Project**: `src/Cli/__Tests/StellaOps.Cli.Commands.Tests/StellaOps.Cli.Commands.Tests.csproj` - **Evidence**: `docs/qa/feature-checks/runs/cli/policy-dsl-compiler-cli/run-001/tier2-integration-check.json`