1#ifndef YAZE_CLI_SERVICE_POLICY_EVALUATOR_H
2#define YAZE_CLI_SERVICE_POLICY_EVALUATOR_H
8#include "absl/status/status.h"
9#include "absl/status/statusor.h"
10#include "absl/strings/string_view.h"
38 std::vector<PolicyViolation>
info;
55 absl::string_view policy_dir =
".yaze/policies");
59 absl::string_view proposal_id);
~PolicyEvaluator()=default
absl::Status ParsePolicyFile(absl::string_view yaml_content)
void EvaluateReviewRequirements(absl::string_view proposal_id, PolicyResult *result)
absl::StatusOr< PolicyResult > EvaluateProposal(absl::string_view proposal_id)
PolicyEvaluator & operator=(const PolicyEvaluator &)=delete
std::unique_ptr< PolicyConfig > config_
static PolicyEvaluator & GetInstance()
void EvaluateTestRequirements(absl::string_view proposal_id, PolicyResult *result)
void CategorizeViolations(PolicyResult *result)
PolicyEvaluator(const PolicyEvaluator &)=delete
std::string GetStatusString() const
PolicyEvaluator()=default
void EvaluateForbiddenRanges(absl::string_view proposal_id, PolicyResult *result)
std::string GetPolicyPath() const
absl::Status LoadPolicies(absl::string_view policy_dir=".yaze/policies")
void EvaluateChangeConstraints(absl::string_view proposal_id, PolicyResult *result)
absl::Status ReloadPolicies()
Main namespace for the application.
std::vector< PolicyViolation > warnings
bool has_critical_violations() const
bool can_accept_with_override() const
std::vector< PolicyViolation > info
std::vector< PolicyViolation > critical_violations
std::vector< PolicyViolation > violations