Skip to content

[P2.1-T01] Add PolicyMode enum #38

@RichardHightower

Description

@RichardHightower

Task: Add PolicyMode enum

Phase: 2.1 - Core Governance
Estimated: 0.5 day
File: cch_cli/src/models/mod.rs

Description

Create the PolicyMode enum to support enforce, warn, and audit modes for rules.

Acceptance Criteria

  • Create PolicyMode enum in models/mod.rs
  • Values: Enforce, Warn, Audit
  • Implement Default trait (default = Enforce)
  • Implement Deserialize for YAML parsing (case-insensitive)
  • Implement Serialize for JSON output
  • Add unit tests for parsing

Code Reference

#[derive(Debug, Clone, Copy, Default, PartialEq, Eq, Serialize, Deserialize)]
#[serde(rename_all = "lowercase")]
pub enum PolicyMode {
    #[default]
    Enforce,
    Warn,
    Audit,
}

Tests Required

  • Parse "enforce", "warn", "audit" (case-insensitive)
  • Default to Enforce when absent
  • Serialize to lowercase in JSON output

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions