// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.10
// 	protoc        v3.21.12
// source: kodex/governance/v1/governance_manager.proto

package governancev1

import (
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

type GovernanceScopeType int32

const (
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_UNSPECIFIED         GovernanceScopeType = 0
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_PLATFORM            GovernanceScopeType = 1
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_ORGANIZATION        GovernanceScopeType = 2
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_PROJECT             GovernanceScopeType = 3
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_REPOSITORY          GovernanceScopeType = 4
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_SERVICE             GovernanceScopeType = 5
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_PATH                GovernanceScopeType = 6
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_API_ENDPOINT        GovernanceScopeType = 7
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_DATABASE_OBJECT     GovernanceScopeType = 8
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_SECRET_AREA         GovernanceScopeType = 9
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_RUNTIME_OPERATION   GovernanceScopeType = 10
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_RELEASE_LINE        GovernanceScopeType = 11
	GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_RUNTIME_ENVIRONMENT GovernanceScopeType = 12
)

// Enum value maps for GovernanceScopeType.
var (
	GovernanceScopeType_name = map[int32]string{
		0:  "GOVERNANCE_SCOPE_TYPE_UNSPECIFIED",
		1:  "GOVERNANCE_SCOPE_TYPE_PLATFORM",
		2:  "GOVERNANCE_SCOPE_TYPE_ORGANIZATION",
		3:  "GOVERNANCE_SCOPE_TYPE_PROJECT",
		4:  "GOVERNANCE_SCOPE_TYPE_REPOSITORY",
		5:  "GOVERNANCE_SCOPE_TYPE_SERVICE",
		6:  "GOVERNANCE_SCOPE_TYPE_PATH",
		7:  "GOVERNANCE_SCOPE_TYPE_API_ENDPOINT",
		8:  "GOVERNANCE_SCOPE_TYPE_DATABASE_OBJECT",
		9:  "GOVERNANCE_SCOPE_TYPE_SECRET_AREA",
		10: "GOVERNANCE_SCOPE_TYPE_RUNTIME_OPERATION",
		11: "GOVERNANCE_SCOPE_TYPE_RELEASE_LINE",
		12: "GOVERNANCE_SCOPE_TYPE_RUNTIME_ENVIRONMENT",
	}
	GovernanceScopeType_value = map[string]int32{
		"GOVERNANCE_SCOPE_TYPE_UNSPECIFIED":         0,
		"GOVERNANCE_SCOPE_TYPE_PLATFORM":            1,
		"GOVERNANCE_SCOPE_TYPE_ORGANIZATION":        2,
		"GOVERNANCE_SCOPE_TYPE_PROJECT":             3,
		"GOVERNANCE_SCOPE_TYPE_REPOSITORY":          4,
		"GOVERNANCE_SCOPE_TYPE_SERVICE":             5,
		"GOVERNANCE_SCOPE_TYPE_PATH":                6,
		"GOVERNANCE_SCOPE_TYPE_API_ENDPOINT":        7,
		"GOVERNANCE_SCOPE_TYPE_DATABASE_OBJECT":     8,
		"GOVERNANCE_SCOPE_TYPE_SECRET_AREA":         9,
		"GOVERNANCE_SCOPE_TYPE_RUNTIME_OPERATION":   10,
		"GOVERNANCE_SCOPE_TYPE_RELEASE_LINE":        11,
		"GOVERNANCE_SCOPE_TYPE_RUNTIME_ENVIRONMENT": 12,
	}
)

func (x GovernanceScopeType) Enum() *GovernanceScopeType {
	p := new(GovernanceScopeType)
	*p = x
	return p
}

func (x GovernanceScopeType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GovernanceScopeType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[0].Descriptor()
}

func (GovernanceScopeType) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[0]
}

func (x GovernanceScopeType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GovernanceScopeType.Descriptor instead.
func (GovernanceScopeType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{0}
}

type GovernanceTargetType int32

const (
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_UNSPECIFIED       GovernanceTargetType = 0
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_TRANSITION        GovernanceTargetType = 1
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_PULL_REQUEST      GovernanceTargetType = 2
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_RELEASE_CANDIDATE GovernanceTargetType = 3
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_RUNTIME_JOB       GovernanceTargetType = 4
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_POLICY_CHANGE     GovernanceTargetType = 5
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_DOCUMENT          GovernanceTargetType = 6
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_MERGE             GovernanceTargetType = 7
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_POSTDEPLOY        GovernanceTargetType = 8
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_ROLLBACK          GovernanceTargetType = 9
	GovernanceTargetType_GOVERNANCE_TARGET_TYPE_SELF_DEPLOY_PLAN  GovernanceTargetType = 10
)

// Enum value maps for GovernanceTargetType.
var (
	GovernanceTargetType_name = map[int32]string{
		0:  "GOVERNANCE_TARGET_TYPE_UNSPECIFIED",
		1:  "GOVERNANCE_TARGET_TYPE_TRANSITION",
		2:  "GOVERNANCE_TARGET_TYPE_PULL_REQUEST",
		3:  "GOVERNANCE_TARGET_TYPE_RELEASE_CANDIDATE",
		4:  "GOVERNANCE_TARGET_TYPE_RUNTIME_JOB",
		5:  "GOVERNANCE_TARGET_TYPE_POLICY_CHANGE",
		6:  "GOVERNANCE_TARGET_TYPE_DOCUMENT",
		7:  "GOVERNANCE_TARGET_TYPE_MERGE",
		8:  "GOVERNANCE_TARGET_TYPE_POSTDEPLOY",
		9:  "GOVERNANCE_TARGET_TYPE_ROLLBACK",
		10: "GOVERNANCE_TARGET_TYPE_SELF_DEPLOY_PLAN",
	}
	GovernanceTargetType_value = map[string]int32{
		"GOVERNANCE_TARGET_TYPE_UNSPECIFIED":       0,
		"GOVERNANCE_TARGET_TYPE_TRANSITION":        1,
		"GOVERNANCE_TARGET_TYPE_PULL_REQUEST":      2,
		"GOVERNANCE_TARGET_TYPE_RELEASE_CANDIDATE": 3,
		"GOVERNANCE_TARGET_TYPE_RUNTIME_JOB":       4,
		"GOVERNANCE_TARGET_TYPE_POLICY_CHANGE":     5,
		"GOVERNANCE_TARGET_TYPE_DOCUMENT":          6,
		"GOVERNANCE_TARGET_TYPE_MERGE":             7,
		"GOVERNANCE_TARGET_TYPE_POSTDEPLOY":        8,
		"GOVERNANCE_TARGET_TYPE_ROLLBACK":          9,
		"GOVERNANCE_TARGET_TYPE_SELF_DEPLOY_PLAN":  10,
	}
)

func (x GovernanceTargetType) Enum() *GovernanceTargetType {
	p := new(GovernanceTargetType)
	*p = x
	return p
}

func (x GovernanceTargetType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GovernanceTargetType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[1].Descriptor()
}

func (GovernanceTargetType) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[1]
}

func (x GovernanceTargetType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GovernanceTargetType.Descriptor instead.
func (GovernanceTargetType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{1}
}

type RiskClass int32

const (
	RiskClass_RISK_CLASS_UNSPECIFIED RiskClass = 0
	RiskClass_RISK_CLASS_R0          RiskClass = 1
	RiskClass_RISK_CLASS_R1          RiskClass = 2
	RiskClass_RISK_CLASS_R2          RiskClass = 3
	RiskClass_RISK_CLASS_R3          RiskClass = 4
)

// Enum value maps for RiskClass.
var (
	RiskClass_name = map[int32]string{
		0: "RISK_CLASS_UNSPECIFIED",
		1: "RISK_CLASS_R0",
		2: "RISK_CLASS_R1",
		3: "RISK_CLASS_R2",
		4: "RISK_CLASS_R3",
	}
	RiskClass_value = map[string]int32{
		"RISK_CLASS_UNSPECIFIED": 0,
		"RISK_CLASS_R0":          1,
		"RISK_CLASS_R1":          2,
		"RISK_CLASS_R2":          3,
		"RISK_CLASS_R3":          4,
	}
)

func (x RiskClass) Enum() *RiskClass {
	p := new(RiskClass)
	*p = x
	return p
}

func (x RiskClass) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskClass) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[2].Descriptor()
}

func (RiskClass) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[2]
}

func (x RiskClass) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskClass.Descriptor instead.
func (RiskClass) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{2}
}

type RiskProfileStatus int32

const (
	RiskProfileStatus_RISK_PROFILE_STATUS_UNSPECIFIED RiskProfileStatus = 0
	RiskProfileStatus_RISK_PROFILE_STATUS_DRAFT       RiskProfileStatus = 1
	RiskProfileStatus_RISK_PROFILE_STATUS_ACTIVE      RiskProfileStatus = 2
	RiskProfileStatus_RISK_PROFILE_STATUS_DISABLED    RiskProfileStatus = 3
	RiskProfileStatus_RISK_PROFILE_STATUS_ARCHIVED    RiskProfileStatus = 4
)

// Enum value maps for RiskProfileStatus.
var (
	RiskProfileStatus_name = map[int32]string{
		0: "RISK_PROFILE_STATUS_UNSPECIFIED",
		1: "RISK_PROFILE_STATUS_DRAFT",
		2: "RISK_PROFILE_STATUS_ACTIVE",
		3: "RISK_PROFILE_STATUS_DISABLED",
		4: "RISK_PROFILE_STATUS_ARCHIVED",
	}
	RiskProfileStatus_value = map[string]int32{
		"RISK_PROFILE_STATUS_UNSPECIFIED": 0,
		"RISK_PROFILE_STATUS_DRAFT":       1,
		"RISK_PROFILE_STATUS_ACTIVE":      2,
		"RISK_PROFILE_STATUS_DISABLED":    3,
		"RISK_PROFILE_STATUS_ARCHIVED":    4,
	}
)

func (x RiskProfileStatus) Enum() *RiskProfileStatus {
	p := new(RiskProfileStatus)
	*p = x
	return p
}

func (x RiskProfileStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskProfileStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[3].Descriptor()
}

func (RiskProfileStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[3]
}

func (x RiskProfileStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskProfileStatus.Descriptor instead.
func (RiskProfileStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{3}
}

type RiskProfileVersionStatus int32

const (
	RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_UNSPECIFIED RiskProfileVersionStatus = 0
	RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_DRAFT       RiskProfileVersionStatus = 1
	RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_ACTIVE      RiskProfileVersionStatus = 2
	RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_SUPERSEDED  RiskProfileVersionStatus = 3
	RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_ARCHIVED    RiskProfileVersionStatus = 4
)

// Enum value maps for RiskProfileVersionStatus.
var (
	RiskProfileVersionStatus_name = map[int32]string{
		0: "RISK_PROFILE_VERSION_STATUS_UNSPECIFIED",
		1: "RISK_PROFILE_VERSION_STATUS_DRAFT",
		2: "RISK_PROFILE_VERSION_STATUS_ACTIVE",
		3: "RISK_PROFILE_VERSION_STATUS_SUPERSEDED",
		4: "RISK_PROFILE_VERSION_STATUS_ARCHIVED",
	}
	RiskProfileVersionStatus_value = map[string]int32{
		"RISK_PROFILE_VERSION_STATUS_UNSPECIFIED": 0,
		"RISK_PROFILE_VERSION_STATUS_DRAFT":       1,
		"RISK_PROFILE_VERSION_STATUS_ACTIVE":      2,
		"RISK_PROFILE_VERSION_STATUS_SUPERSEDED":  3,
		"RISK_PROFILE_VERSION_STATUS_ARCHIVED":    4,
	}
)

func (x RiskProfileVersionStatus) Enum() *RiskProfileVersionStatus {
	p := new(RiskProfileVersionStatus)
	*p = x
	return p
}

func (x RiskProfileVersionStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskProfileVersionStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[4].Descriptor()
}

func (RiskProfileVersionStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[4]
}

func (x RiskProfileVersionStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskProfileVersionStatus.Descriptor instead.
func (RiskProfileVersionStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{4}
}

type RiskRuleKind int32

const (
	RiskRuleKind_RISK_RULE_KIND_UNSPECIFIED    RiskRuleKind = 0
	RiskRuleKind_RISK_RULE_KIND_PATH           RiskRuleKind = 1
	RiskRuleKind_RISK_RULE_KIND_SERVICE        RiskRuleKind = 2
	RiskRuleKind_RISK_RULE_KIND_API            RiskRuleKind = 3
	RiskRuleKind_RISK_RULE_KIND_DATABASE       RiskRuleKind = 4
	RiskRuleKind_RISK_RULE_KIND_SECRET         RiskRuleKind = 5
	RiskRuleKind_RISK_RULE_KIND_AUTH           RiskRuleKind = 6
	RiskRuleKind_RISK_RULE_KIND_RUNTIME_ACTION RiskRuleKind = 7
	RiskRuleKind_RISK_RULE_KIND_RELEASE        RiskRuleKind = 8
	RiskRuleKind_RISK_RULE_KIND_AUTOMATION     RiskRuleKind = 9
	RiskRuleKind_RISK_RULE_KIND_DOCUMENT       RiskRuleKind = 10
	RiskRuleKind_RISK_RULE_KIND_CUSTOM         RiskRuleKind = 11
)

// Enum value maps for RiskRuleKind.
var (
	RiskRuleKind_name = map[int32]string{
		0:  "RISK_RULE_KIND_UNSPECIFIED",
		1:  "RISK_RULE_KIND_PATH",
		2:  "RISK_RULE_KIND_SERVICE",
		3:  "RISK_RULE_KIND_API",
		4:  "RISK_RULE_KIND_DATABASE",
		5:  "RISK_RULE_KIND_SECRET",
		6:  "RISK_RULE_KIND_AUTH",
		7:  "RISK_RULE_KIND_RUNTIME_ACTION",
		8:  "RISK_RULE_KIND_RELEASE",
		9:  "RISK_RULE_KIND_AUTOMATION",
		10: "RISK_RULE_KIND_DOCUMENT",
		11: "RISK_RULE_KIND_CUSTOM",
	}
	RiskRuleKind_value = map[string]int32{
		"RISK_RULE_KIND_UNSPECIFIED":    0,
		"RISK_RULE_KIND_PATH":           1,
		"RISK_RULE_KIND_SERVICE":        2,
		"RISK_RULE_KIND_API":            3,
		"RISK_RULE_KIND_DATABASE":       4,
		"RISK_RULE_KIND_SECRET":         5,
		"RISK_RULE_KIND_AUTH":           6,
		"RISK_RULE_KIND_RUNTIME_ACTION": 7,
		"RISK_RULE_KIND_RELEASE":        8,
		"RISK_RULE_KIND_AUTOMATION":     9,
		"RISK_RULE_KIND_DOCUMENT":       10,
		"RISK_RULE_KIND_CUSTOM":         11,
	}
)

func (x RiskRuleKind) Enum() *RiskRuleKind {
	p := new(RiskRuleKind)
	*p = x
	return p
}

func (x RiskRuleKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskRuleKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[5].Descriptor()
}

func (RiskRuleKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[5]
}

func (x RiskRuleKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskRuleKind.Descriptor instead.
func (RiskRuleKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{5}
}

type RuleStatus int32

const (
	RuleStatus_RULE_STATUS_UNSPECIFIED RuleStatus = 0
	RuleStatus_RULE_STATUS_ACTIVE      RuleStatus = 1
	RuleStatus_RULE_STATUS_DISABLED    RuleStatus = 2
)

// Enum value maps for RuleStatus.
var (
	RuleStatus_name = map[int32]string{
		0: "RULE_STATUS_UNSPECIFIED",
		1: "RULE_STATUS_ACTIVE",
		2: "RULE_STATUS_DISABLED",
	}
	RuleStatus_value = map[string]int32{
		"RULE_STATUS_UNSPECIFIED": 0,
		"RULE_STATUS_ACTIVE":      1,
		"RULE_STATUS_DISABLED":    2,
	}
)

func (x RuleStatus) Enum() *RuleStatus {
	p := new(RuleStatus)
	*p = x
	return p
}

func (x RuleStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RuleStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[6].Descriptor()
}

func (RuleStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[6]
}

func (x RuleStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RuleStatus.Descriptor instead.
func (RuleStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{6}
}

type GateKind int32

const (
	GateKind_GATE_KIND_UNSPECIFIED  GateKind = 0
	GateKind_GATE_KIND_PRODUCT      GateKind = 1
	GateKind_GATE_KIND_ARCHITECTURE GateKind = 2
	GateKind_GATE_KIND_TECHNICAL    GateKind = 3
	GateKind_GATE_KIND_QA           GateKind = 4
	GateKind_GATE_KIND_RELEASE      GateKind = 5
	GateKind_GATE_KIND_POSTDEPLOY   GateKind = 6
	GateKind_GATE_KIND_EMERGENCY    GateKind = 7
	GateKind_GATE_KIND_CUSTOM       GateKind = 8
)

// Enum value maps for GateKind.
var (
	GateKind_name = map[int32]string{
		0: "GATE_KIND_UNSPECIFIED",
		1: "GATE_KIND_PRODUCT",
		2: "GATE_KIND_ARCHITECTURE",
		3: "GATE_KIND_TECHNICAL",
		4: "GATE_KIND_QA",
		5: "GATE_KIND_RELEASE",
		6: "GATE_KIND_POSTDEPLOY",
		7: "GATE_KIND_EMERGENCY",
		8: "GATE_KIND_CUSTOM",
	}
	GateKind_value = map[string]int32{
		"GATE_KIND_UNSPECIFIED":  0,
		"GATE_KIND_PRODUCT":      1,
		"GATE_KIND_ARCHITECTURE": 2,
		"GATE_KIND_TECHNICAL":    3,
		"GATE_KIND_QA":           4,
		"GATE_KIND_RELEASE":      5,
		"GATE_KIND_POSTDEPLOY":   6,
		"GATE_KIND_EMERGENCY":    7,
		"GATE_KIND_CUSTOM":       8,
	}
)

func (x GateKind) Enum() *GateKind {
	p := new(GateKind)
	*p = x
	return p
}

func (x GateKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GateKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[7].Descriptor()
}

func (GateKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[7]
}

func (x GateKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GateKind.Descriptor instead.
func (GateKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{7}
}

type RiskAssessmentStatus int32

const (
	RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_UNSPECIFIED RiskAssessmentStatus = 0
	RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_DRAFT       RiskAssessmentStatus = 1
	RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_ACTIVE      RiskAssessmentStatus = 2
	RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_SUPERSEDED  RiskAssessmentStatus = 3
	RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_CLOSED      RiskAssessmentStatus = 4
)

// Enum value maps for RiskAssessmentStatus.
var (
	RiskAssessmentStatus_name = map[int32]string{
		0: "RISK_ASSESSMENT_STATUS_UNSPECIFIED",
		1: "RISK_ASSESSMENT_STATUS_DRAFT",
		2: "RISK_ASSESSMENT_STATUS_ACTIVE",
		3: "RISK_ASSESSMENT_STATUS_SUPERSEDED",
		4: "RISK_ASSESSMENT_STATUS_CLOSED",
	}
	RiskAssessmentStatus_value = map[string]int32{
		"RISK_ASSESSMENT_STATUS_UNSPECIFIED": 0,
		"RISK_ASSESSMENT_STATUS_DRAFT":       1,
		"RISK_ASSESSMENT_STATUS_ACTIVE":      2,
		"RISK_ASSESSMENT_STATUS_SUPERSEDED":  3,
		"RISK_ASSESSMENT_STATUS_CLOSED":      4,
	}
)

func (x RiskAssessmentStatus) Enum() *RiskAssessmentStatus {
	p := new(RiskAssessmentStatus)
	*p = x
	return p
}

func (x RiskAssessmentStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskAssessmentStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[8].Descriptor()
}

func (RiskAssessmentStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[8]
}

func (x RiskAssessmentStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskAssessmentStatus.Descriptor instead.
func (RiskAssessmentStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{8}
}

type RiskFactorSourceType int32

const (
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED    RiskFactorSourceType = 0
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_POLICY         RiskFactorSourceType = 1
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_CHANGED_FILE   RiskFactorSourceType = 2
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_SERVICE        RiskFactorSourceType = 3
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_API            RiskFactorSourceType = 4
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_DATABASE       RiskFactorSourceType = 5
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_SECRET         RiskFactorSourceType = 6
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_RELEASE        RiskFactorSourceType = 7
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_RUNTIME        RiskFactorSourceType = 8
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_REVIEW_SIGNAL  RiskFactorSourceType = 9
	RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_HUMAN_DECISION RiskFactorSourceType = 10
)

// Enum value maps for RiskFactorSourceType.
var (
	RiskFactorSourceType_name = map[int32]string{
		0:  "RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED",
		1:  "RISK_FACTOR_SOURCE_TYPE_POLICY",
		2:  "RISK_FACTOR_SOURCE_TYPE_CHANGED_FILE",
		3:  "RISK_FACTOR_SOURCE_TYPE_SERVICE",
		4:  "RISK_FACTOR_SOURCE_TYPE_API",
		5:  "RISK_FACTOR_SOURCE_TYPE_DATABASE",
		6:  "RISK_FACTOR_SOURCE_TYPE_SECRET",
		7:  "RISK_FACTOR_SOURCE_TYPE_RELEASE",
		8:  "RISK_FACTOR_SOURCE_TYPE_RUNTIME",
		9:  "RISK_FACTOR_SOURCE_TYPE_REVIEW_SIGNAL",
		10: "RISK_FACTOR_SOURCE_TYPE_HUMAN_DECISION",
	}
	RiskFactorSourceType_value = map[string]int32{
		"RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED":    0,
		"RISK_FACTOR_SOURCE_TYPE_POLICY":         1,
		"RISK_FACTOR_SOURCE_TYPE_CHANGED_FILE":   2,
		"RISK_FACTOR_SOURCE_TYPE_SERVICE":        3,
		"RISK_FACTOR_SOURCE_TYPE_API":            4,
		"RISK_FACTOR_SOURCE_TYPE_DATABASE":       5,
		"RISK_FACTOR_SOURCE_TYPE_SECRET":         6,
		"RISK_FACTOR_SOURCE_TYPE_RELEASE":        7,
		"RISK_FACTOR_SOURCE_TYPE_RUNTIME":        8,
		"RISK_FACTOR_SOURCE_TYPE_REVIEW_SIGNAL":  9,
		"RISK_FACTOR_SOURCE_TYPE_HUMAN_DECISION": 10,
	}
)

func (x RiskFactorSourceType) Enum() *RiskFactorSourceType {
	p := new(RiskFactorSourceType)
	*p = x
	return p
}

func (x RiskFactorSourceType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (RiskFactorSourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[9].Descriptor()
}

func (RiskFactorSourceType) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[9]
}

func (x RiskFactorSourceType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use RiskFactorSourceType.Descriptor instead.
func (RiskFactorSourceType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{9}
}

type ReviewRoleKind int32

const (
	ReviewRoleKind_REVIEW_ROLE_KIND_UNSPECIFIED        ReviewRoleKind = 0
	ReviewRoleKind_REVIEW_ROLE_KIND_REVIEWER           ReviewRoleKind = 1
	ReviewRoleKind_REVIEW_ROLE_KIND_QA                 ReviewRoleKind = 2
	ReviewRoleKind_REVIEW_ROLE_KIND_LEXICAL_GATEKEEPER ReviewRoleKind = 3
	ReviewRoleKind_REVIEW_ROLE_KIND_RISK_GATEKEEPER    ReviewRoleKind = 4
	ReviewRoleKind_REVIEW_ROLE_KIND_SRE                ReviewRoleKind = 5
	ReviewRoleKind_REVIEW_ROLE_KIND_SECURITY           ReviewRoleKind = 6
	ReviewRoleKind_REVIEW_ROLE_KIND_OWNER              ReviewRoleKind = 7
	ReviewRoleKind_REVIEW_ROLE_KIND_CUSTOM             ReviewRoleKind = 8
)

// Enum value maps for ReviewRoleKind.
var (
	ReviewRoleKind_name = map[int32]string{
		0: "REVIEW_ROLE_KIND_UNSPECIFIED",
		1: "REVIEW_ROLE_KIND_REVIEWER",
		2: "REVIEW_ROLE_KIND_QA",
		3: "REVIEW_ROLE_KIND_LEXICAL_GATEKEEPER",
		4: "REVIEW_ROLE_KIND_RISK_GATEKEEPER",
		5: "REVIEW_ROLE_KIND_SRE",
		6: "REVIEW_ROLE_KIND_SECURITY",
		7: "REVIEW_ROLE_KIND_OWNER",
		8: "REVIEW_ROLE_KIND_CUSTOM",
	}
	ReviewRoleKind_value = map[string]int32{
		"REVIEW_ROLE_KIND_UNSPECIFIED":        0,
		"REVIEW_ROLE_KIND_REVIEWER":           1,
		"REVIEW_ROLE_KIND_QA":                 2,
		"REVIEW_ROLE_KIND_LEXICAL_GATEKEEPER": 3,
		"REVIEW_ROLE_KIND_RISK_GATEKEEPER":    4,
		"REVIEW_ROLE_KIND_SRE":                5,
		"REVIEW_ROLE_KIND_SECURITY":           6,
		"REVIEW_ROLE_KIND_OWNER":              7,
		"REVIEW_ROLE_KIND_CUSTOM":             8,
	}
)

func (x ReviewRoleKind) Enum() *ReviewRoleKind {
	p := new(ReviewRoleKind)
	*p = x
	return p
}

func (x ReviewRoleKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReviewRoleKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[10].Descriptor()
}

func (ReviewRoleKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[10]
}

func (x ReviewRoleKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReviewRoleKind.Descriptor instead.
func (ReviewRoleKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{10}
}

type ReviewSignalOutcome int32

const (
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_UNSPECIFIED     ReviewSignalOutcome = 0
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_PASS            ReviewSignalOutcome = 1
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_PASS_WITH_NOTES ReviewSignalOutcome = 2
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_BLOCK           ReviewSignalOutcome = 3
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_REQUEST_CHANGES ReviewSignalOutcome = 4
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_RAISE_RISK      ReviewSignalOutcome = 5
	ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_INFORMATIONAL   ReviewSignalOutcome = 6
)

// Enum value maps for ReviewSignalOutcome.
var (
	ReviewSignalOutcome_name = map[int32]string{
		0: "REVIEW_SIGNAL_OUTCOME_UNSPECIFIED",
		1: "REVIEW_SIGNAL_OUTCOME_PASS",
		2: "REVIEW_SIGNAL_OUTCOME_PASS_WITH_NOTES",
		3: "REVIEW_SIGNAL_OUTCOME_BLOCK",
		4: "REVIEW_SIGNAL_OUTCOME_REQUEST_CHANGES",
		5: "REVIEW_SIGNAL_OUTCOME_RAISE_RISK",
		6: "REVIEW_SIGNAL_OUTCOME_INFORMATIONAL",
	}
	ReviewSignalOutcome_value = map[string]int32{
		"REVIEW_SIGNAL_OUTCOME_UNSPECIFIED":     0,
		"REVIEW_SIGNAL_OUTCOME_PASS":            1,
		"REVIEW_SIGNAL_OUTCOME_PASS_WITH_NOTES": 2,
		"REVIEW_SIGNAL_OUTCOME_BLOCK":           3,
		"REVIEW_SIGNAL_OUTCOME_REQUEST_CHANGES": 4,
		"REVIEW_SIGNAL_OUTCOME_RAISE_RISK":      5,
		"REVIEW_SIGNAL_OUTCOME_INFORMATIONAL":   6,
	}
)

func (x ReviewSignalOutcome) Enum() *ReviewSignalOutcome {
	p := new(ReviewSignalOutcome)
	*p = x
	return p
}

func (x ReviewSignalOutcome) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReviewSignalOutcome) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[11].Descriptor()
}

func (ReviewSignalOutcome) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[11]
}

func (x ReviewSignalOutcome) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReviewSignalOutcome.Descriptor instead.
func (ReviewSignalOutcome) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{11}
}

type SignalSeverity int32

const (
	SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED SignalSeverity = 0
	SignalSeverity_SIGNAL_SEVERITY_INFO        SignalSeverity = 1
	SignalSeverity_SIGNAL_SEVERITY_WARNING     SignalSeverity = 2
	SignalSeverity_SIGNAL_SEVERITY_BLOCKING    SignalSeverity = 3
	SignalSeverity_SIGNAL_SEVERITY_CRITICAL    SignalSeverity = 4
)

// Enum value maps for SignalSeverity.
var (
	SignalSeverity_name = map[int32]string{
		0: "SIGNAL_SEVERITY_UNSPECIFIED",
		1: "SIGNAL_SEVERITY_INFO",
		2: "SIGNAL_SEVERITY_WARNING",
		3: "SIGNAL_SEVERITY_BLOCKING",
		4: "SIGNAL_SEVERITY_CRITICAL",
	}
	SignalSeverity_value = map[string]int32{
		"SIGNAL_SEVERITY_UNSPECIFIED": 0,
		"SIGNAL_SEVERITY_INFO":        1,
		"SIGNAL_SEVERITY_WARNING":     2,
		"SIGNAL_SEVERITY_BLOCKING":    3,
		"SIGNAL_SEVERITY_CRITICAL":    4,
	}
)

func (x SignalSeverity) Enum() *SignalSeverity {
	p := new(SignalSeverity)
	*p = x
	return p
}

func (x SignalSeverity) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SignalSeverity) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[12].Descriptor()
}

func (SignalSeverity) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[12]
}

func (x SignalSeverity) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SignalSeverity.Descriptor instead.
func (SignalSeverity) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{12}
}

type Confidence int32

const (
	Confidence_CONFIDENCE_UNSPECIFIED Confidence = 0
	Confidence_CONFIDENCE_LOW         Confidence = 1
	Confidence_CONFIDENCE_MEDIUM      Confidence = 2
	Confidence_CONFIDENCE_HIGH        Confidence = 3
)

// Enum value maps for Confidence.
var (
	Confidence_name = map[int32]string{
		0: "CONFIDENCE_UNSPECIFIED",
		1: "CONFIDENCE_LOW",
		2: "CONFIDENCE_MEDIUM",
		3: "CONFIDENCE_HIGH",
	}
	Confidence_value = map[string]int32{
		"CONFIDENCE_UNSPECIFIED": 0,
		"CONFIDENCE_LOW":         1,
		"CONFIDENCE_MEDIUM":      2,
		"CONFIDENCE_HIGH":        3,
	}
)

func (x Confidence) Enum() *Confidence {
	p := new(Confidence)
	*p = x
	return p
}

func (x Confidence) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Confidence) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[13].Descriptor()
}

func (Confidence) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[13]
}

func (x Confidence) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Confidence.Descriptor instead.
func (Confidence) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{13}
}

type EvidenceKind int32

const (
	EvidenceKind_EVIDENCE_KIND_UNSPECIFIED          EvidenceKind = 0
	EvidenceKind_EVIDENCE_KIND_PROVIDER_COMMENT     EvidenceKind = 1
	EvidenceKind_EVIDENCE_KIND_PROVIDER_REVIEW      EvidenceKind = 2
	EvidenceKind_EVIDENCE_KIND_PROVIDER_CHECK       EvidenceKind = 3
	EvidenceKind_EVIDENCE_KIND_RUNTIME_SUMMARY      EvidenceKind = 4
	EvidenceKind_EVIDENCE_KIND_DOCUMENT             EvidenceKind = 5
	EvidenceKind_EVIDENCE_KIND_RISK_FACTOR          EvidenceKind = 6
	EvidenceKind_EVIDENCE_KIND_REVIEW_SIGNAL        EvidenceKind = 7
	EvidenceKind_EVIDENCE_KIND_INTERACTION_CALLBACK EvidenceKind = 8
	EvidenceKind_EVIDENCE_KIND_OBJECT_REF           EvidenceKind = 9
	EvidenceKind_EVIDENCE_KIND_CUSTOM               EvidenceKind = 10
	EvidenceKind_EVIDENCE_KIND_AGENT_ACCEPTANCE     EvidenceKind = 11
	EvidenceKind_EVIDENCE_KIND_AGENT_RUN            EvidenceKind = 12
	EvidenceKind_EVIDENCE_KIND_AGENT_HUMAN_GATE     EvidenceKind = 13
	EvidenceKind_EVIDENCE_KIND_SELF_DEPLOY_PLAN     EvidenceKind = 14
)

// Enum value maps for EvidenceKind.
var (
	EvidenceKind_name = map[int32]string{
		0:  "EVIDENCE_KIND_UNSPECIFIED",
		1:  "EVIDENCE_KIND_PROVIDER_COMMENT",
		2:  "EVIDENCE_KIND_PROVIDER_REVIEW",
		3:  "EVIDENCE_KIND_PROVIDER_CHECK",
		4:  "EVIDENCE_KIND_RUNTIME_SUMMARY",
		5:  "EVIDENCE_KIND_DOCUMENT",
		6:  "EVIDENCE_KIND_RISK_FACTOR",
		7:  "EVIDENCE_KIND_REVIEW_SIGNAL",
		8:  "EVIDENCE_KIND_INTERACTION_CALLBACK",
		9:  "EVIDENCE_KIND_OBJECT_REF",
		10: "EVIDENCE_KIND_CUSTOM",
		11: "EVIDENCE_KIND_AGENT_ACCEPTANCE",
		12: "EVIDENCE_KIND_AGENT_RUN",
		13: "EVIDENCE_KIND_AGENT_HUMAN_GATE",
		14: "EVIDENCE_KIND_SELF_DEPLOY_PLAN",
	}
	EvidenceKind_value = map[string]int32{
		"EVIDENCE_KIND_UNSPECIFIED":          0,
		"EVIDENCE_KIND_PROVIDER_COMMENT":     1,
		"EVIDENCE_KIND_PROVIDER_REVIEW":      2,
		"EVIDENCE_KIND_PROVIDER_CHECK":       3,
		"EVIDENCE_KIND_RUNTIME_SUMMARY":      4,
		"EVIDENCE_KIND_DOCUMENT":             5,
		"EVIDENCE_KIND_RISK_FACTOR":          6,
		"EVIDENCE_KIND_REVIEW_SIGNAL":        7,
		"EVIDENCE_KIND_INTERACTION_CALLBACK": 8,
		"EVIDENCE_KIND_OBJECT_REF":           9,
		"EVIDENCE_KIND_CUSTOM":               10,
		"EVIDENCE_KIND_AGENT_ACCEPTANCE":     11,
		"EVIDENCE_KIND_AGENT_RUN":            12,
		"EVIDENCE_KIND_AGENT_HUMAN_GATE":     13,
		"EVIDENCE_KIND_SELF_DEPLOY_PLAN":     14,
	}
)

func (x EvidenceKind) Enum() *EvidenceKind {
	p := new(EvidenceKind)
	*p = x
	return p
}

func (x EvidenceKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (EvidenceKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[14].Descriptor()
}

func (EvidenceKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[14]
}

func (x EvidenceKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use EvidenceKind.Descriptor instead.
func (EvidenceKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{14}
}

type GateRequestStatus int32

const (
	GateRequestStatus_GATE_REQUEST_STATUS_UNSPECIFIED       GateRequestStatus = 0
	GateRequestStatus_GATE_REQUEST_STATUS_REQUESTED         GateRequestStatus = 1
	GateRequestStatus_GATE_REQUEST_STATUS_DELIVERING        GateRequestStatus = 2
	GateRequestStatus_GATE_REQUEST_STATUS_AWAITING_DECISION GateRequestStatus = 3
	GateRequestStatus_GATE_REQUEST_STATUS_RESOLVED          GateRequestStatus = 4
	GateRequestStatus_GATE_REQUEST_STATUS_EXPIRED           GateRequestStatus = 5
	GateRequestStatus_GATE_REQUEST_STATUS_CANCELLED         GateRequestStatus = 6
)

// Enum value maps for GateRequestStatus.
var (
	GateRequestStatus_name = map[int32]string{
		0: "GATE_REQUEST_STATUS_UNSPECIFIED",
		1: "GATE_REQUEST_STATUS_REQUESTED",
		2: "GATE_REQUEST_STATUS_DELIVERING",
		3: "GATE_REQUEST_STATUS_AWAITING_DECISION",
		4: "GATE_REQUEST_STATUS_RESOLVED",
		5: "GATE_REQUEST_STATUS_EXPIRED",
		6: "GATE_REQUEST_STATUS_CANCELLED",
	}
	GateRequestStatus_value = map[string]int32{
		"GATE_REQUEST_STATUS_UNSPECIFIED":       0,
		"GATE_REQUEST_STATUS_REQUESTED":         1,
		"GATE_REQUEST_STATUS_DELIVERING":        2,
		"GATE_REQUEST_STATUS_AWAITING_DECISION": 3,
		"GATE_REQUEST_STATUS_RESOLVED":          4,
		"GATE_REQUEST_STATUS_EXPIRED":           5,
		"GATE_REQUEST_STATUS_CANCELLED":         6,
	}
)

func (x GateRequestStatus) Enum() *GateRequestStatus {
	p := new(GateRequestStatus)
	*p = x
	return p
}

func (x GateRequestStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GateRequestStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[15].Descriptor()
}

func (GateRequestStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[15]
}

func (x GateRequestStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GateRequestStatus.Descriptor instead.
func (GateRequestStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{15}
}

type GateOutcome int32

const (
	GateOutcome_GATE_OUTCOME_UNSPECIFIED             GateOutcome = 0
	GateOutcome_GATE_OUTCOME_APPROVE                 GateOutcome = 1
	GateOutcome_GATE_OUTCOME_APPROVE_WITH_CONDITIONS GateOutcome = 2
	GateOutcome_GATE_OUTCOME_REVISE                  GateOutcome = 3
	GateOutcome_GATE_OUTCOME_REJECT                  GateOutcome = 4
	GateOutcome_GATE_OUTCOME_HOLD                    GateOutcome = 5
	GateOutcome_GATE_OUTCOME_ROLLBACK                GateOutcome = 6
	GateOutcome_GATE_OUTCOME_ESCALATE                GateOutcome = 7
)

// Enum value maps for GateOutcome.
var (
	GateOutcome_name = map[int32]string{
		0: "GATE_OUTCOME_UNSPECIFIED",
		1: "GATE_OUTCOME_APPROVE",
		2: "GATE_OUTCOME_APPROVE_WITH_CONDITIONS",
		3: "GATE_OUTCOME_REVISE",
		4: "GATE_OUTCOME_REJECT",
		5: "GATE_OUTCOME_HOLD",
		6: "GATE_OUTCOME_ROLLBACK",
		7: "GATE_OUTCOME_ESCALATE",
	}
	GateOutcome_value = map[string]int32{
		"GATE_OUTCOME_UNSPECIFIED":             0,
		"GATE_OUTCOME_APPROVE":                 1,
		"GATE_OUTCOME_APPROVE_WITH_CONDITIONS": 2,
		"GATE_OUTCOME_REVISE":                  3,
		"GATE_OUTCOME_REJECT":                  4,
		"GATE_OUTCOME_HOLD":                    5,
		"GATE_OUTCOME_ROLLBACK":                6,
		"GATE_OUTCOME_ESCALATE":                7,
	}
)

func (x GateOutcome) Enum() *GateOutcome {
	p := new(GateOutcome)
	*p = x
	return p
}

func (x GateOutcome) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GateOutcome) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[16].Descriptor()
}

func (GateOutcome) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[16]
}

func (x GateOutcome) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GateOutcome.Descriptor instead.
func (GateOutcome) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{16}
}

type SelfDeployPlanGateStatus int32

const (
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_UNSPECIFIED     SelfDeployPlanGateStatus = 0
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_PENDING         SelfDeployPlanGateStatus = 1
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_APPROVED        SelfDeployPlanGateStatus = 2
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_REJECTED        SelfDeployPlanGateStatus = 3
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_BLOCKED         SelfDeployPlanGateStatus = 4
	SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_REQUEST_CHANGES SelfDeployPlanGateStatus = 5
)

// Enum value maps for SelfDeployPlanGateStatus.
var (
	SelfDeployPlanGateStatus_name = map[int32]string{
		0: "SELF_DEPLOY_PLAN_GATE_STATUS_UNSPECIFIED",
		1: "SELF_DEPLOY_PLAN_GATE_STATUS_PENDING",
		2: "SELF_DEPLOY_PLAN_GATE_STATUS_APPROVED",
		3: "SELF_DEPLOY_PLAN_GATE_STATUS_REJECTED",
		4: "SELF_DEPLOY_PLAN_GATE_STATUS_BLOCKED",
		5: "SELF_DEPLOY_PLAN_GATE_STATUS_REQUEST_CHANGES",
	}
	SelfDeployPlanGateStatus_value = map[string]int32{
		"SELF_DEPLOY_PLAN_GATE_STATUS_UNSPECIFIED":     0,
		"SELF_DEPLOY_PLAN_GATE_STATUS_PENDING":         1,
		"SELF_DEPLOY_PLAN_GATE_STATUS_APPROVED":        2,
		"SELF_DEPLOY_PLAN_GATE_STATUS_REJECTED":        3,
		"SELF_DEPLOY_PLAN_GATE_STATUS_BLOCKED":         4,
		"SELF_DEPLOY_PLAN_GATE_STATUS_REQUEST_CHANGES": 5,
	}
)

func (x SelfDeployPlanGateStatus) Enum() *SelfDeployPlanGateStatus {
	p := new(SelfDeployPlanGateStatus)
	*p = x
	return p
}

func (x SelfDeployPlanGateStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (SelfDeployPlanGateStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[17].Descriptor()
}

func (SelfDeployPlanGateStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[17]
}

func (x SelfDeployPlanGateStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use SelfDeployPlanGateStatus.Descriptor instead.
func (SelfDeployPlanGateStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{17}
}

type ReleaseDecisionPackageStatus int32

const (
	ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED        ReleaseDecisionPackageStatus = 0
	ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_DRAFT              ReleaseDecisionPackageStatus = 1
	ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_READY              ReleaseDecisionPackageStatus = 2
	ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_DECISION_REQUESTED ReleaseDecisionPackageStatus = 3
	ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_CLOSED             ReleaseDecisionPackageStatus = 4
)

// Enum value maps for ReleaseDecisionPackageStatus.
var (
	ReleaseDecisionPackageStatus_name = map[int32]string{
		0: "RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED",
		1: "RELEASE_DECISION_PACKAGE_STATUS_DRAFT",
		2: "RELEASE_DECISION_PACKAGE_STATUS_READY",
		3: "RELEASE_DECISION_PACKAGE_STATUS_DECISION_REQUESTED",
		4: "RELEASE_DECISION_PACKAGE_STATUS_CLOSED",
	}
	ReleaseDecisionPackageStatus_value = map[string]int32{
		"RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED":        0,
		"RELEASE_DECISION_PACKAGE_STATUS_DRAFT":              1,
		"RELEASE_DECISION_PACKAGE_STATUS_READY":              2,
		"RELEASE_DECISION_PACKAGE_STATUS_DECISION_REQUESTED": 3,
		"RELEASE_DECISION_PACKAGE_STATUS_CLOSED":             4,
	}
)

func (x ReleaseDecisionPackageStatus) Enum() *ReleaseDecisionPackageStatus {
	p := new(ReleaseDecisionPackageStatus)
	*p = x
	return p
}

func (x ReleaseDecisionPackageStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReleaseDecisionPackageStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[18].Descriptor()
}

func (ReleaseDecisionPackageStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[18]
}

func (x ReleaseDecisionPackageStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReleaseDecisionPackageStatus.Descriptor instead.
func (ReleaseDecisionPackageStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{18}
}

type ReleaseDecisionStatus int32

const (
	ReleaseDecisionStatus_RELEASE_DECISION_STATUS_UNSPECIFIED ReleaseDecisionStatus = 0
	ReleaseDecisionStatus_RELEASE_DECISION_STATUS_REQUESTED   ReleaseDecisionStatus = 1
	ReleaseDecisionStatus_RELEASE_DECISION_STATUS_RESOLVED    ReleaseDecisionStatus = 2
	ReleaseDecisionStatus_RELEASE_DECISION_STATUS_CANCELLED   ReleaseDecisionStatus = 3
)

// Enum value maps for ReleaseDecisionStatus.
var (
	ReleaseDecisionStatus_name = map[int32]string{
		0: "RELEASE_DECISION_STATUS_UNSPECIFIED",
		1: "RELEASE_DECISION_STATUS_REQUESTED",
		2: "RELEASE_DECISION_STATUS_RESOLVED",
		3: "RELEASE_DECISION_STATUS_CANCELLED",
	}
	ReleaseDecisionStatus_value = map[string]int32{
		"RELEASE_DECISION_STATUS_UNSPECIFIED": 0,
		"RELEASE_DECISION_STATUS_REQUESTED":   1,
		"RELEASE_DECISION_STATUS_RESOLVED":    2,
		"RELEASE_DECISION_STATUS_CANCELLED":   3,
	}
)

func (x ReleaseDecisionStatus) Enum() *ReleaseDecisionStatus {
	p := new(ReleaseDecisionStatus)
	*p = x
	return p
}

func (x ReleaseDecisionStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReleaseDecisionStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[19].Descriptor()
}

func (ReleaseDecisionStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[19]
}

func (x ReleaseDecisionStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReleaseDecisionStatus.Descriptor instead.
func (ReleaseDecisionStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{19}
}

type ReleaseDecisionOutcome int32

const (
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_UNSPECIFIED        ReleaseDecisionOutcome = 0
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_GO                 ReleaseDecisionOutcome = 1
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_GO_WITH_CONDITIONS ReleaseDecisionOutcome = 2
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_NO_GO              ReleaseDecisionOutcome = 3
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_HOLD               ReleaseDecisionOutcome = 4
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_ROLLBACK           ReleaseDecisionOutcome = 5
	ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_FOLLOW_UP_REQUIRED ReleaseDecisionOutcome = 6
)

// Enum value maps for ReleaseDecisionOutcome.
var (
	ReleaseDecisionOutcome_name = map[int32]string{
		0: "RELEASE_DECISION_OUTCOME_UNSPECIFIED",
		1: "RELEASE_DECISION_OUTCOME_GO",
		2: "RELEASE_DECISION_OUTCOME_GO_WITH_CONDITIONS",
		3: "RELEASE_DECISION_OUTCOME_NO_GO",
		4: "RELEASE_DECISION_OUTCOME_HOLD",
		5: "RELEASE_DECISION_OUTCOME_ROLLBACK",
		6: "RELEASE_DECISION_OUTCOME_FOLLOW_UP_REQUIRED",
	}
	ReleaseDecisionOutcome_value = map[string]int32{
		"RELEASE_DECISION_OUTCOME_UNSPECIFIED":        0,
		"RELEASE_DECISION_OUTCOME_GO":                 1,
		"RELEASE_DECISION_OUTCOME_GO_WITH_CONDITIONS": 2,
		"RELEASE_DECISION_OUTCOME_NO_GO":              3,
		"RELEASE_DECISION_OUTCOME_HOLD":               4,
		"RELEASE_DECISION_OUTCOME_ROLLBACK":           5,
		"RELEASE_DECISION_OUTCOME_FOLLOW_UP_REQUIRED": 6,
	}
)

func (x ReleaseDecisionOutcome) Enum() *ReleaseDecisionOutcome {
	p := new(ReleaseDecisionOutcome)
	*p = x
	return p
}

func (x ReleaseDecisionOutcome) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReleaseDecisionOutcome) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[20].Descriptor()
}

func (ReleaseDecisionOutcome) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[20]
}

func (x ReleaseDecisionOutcome) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReleaseDecisionOutcome.Descriptor instead.
func (ReleaseDecisionOutcome) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{20}
}

type ReleaseSafetyStateKind int32

const (
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_UNSPECIFIED            ReleaseSafetyStateKind = 0
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_RELEASE_CANDIDATE      ReleaseSafetyStateKind = 1
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_AWAITING_RELEASE_GATE  ReleaseSafetyStateKind = 2
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_DEPLOYING              ReleaseSafetyStateKind = 3
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_POSTDEPLOY_OBSERVATION ReleaseSafetyStateKind = 4
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_STABLE                 ReleaseSafetyStateKind = 5
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_HOLD                   ReleaseSafetyStateKind = 6
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_ROLLBACK               ReleaseSafetyStateKind = 7
	ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_FOLLOW_UP_REQUIRED     ReleaseSafetyStateKind = 8
)

// Enum value maps for ReleaseSafetyStateKind.
var (
	ReleaseSafetyStateKind_name = map[int32]string{
		0: "RELEASE_SAFETY_STATE_KIND_UNSPECIFIED",
		1: "RELEASE_SAFETY_STATE_KIND_RELEASE_CANDIDATE",
		2: "RELEASE_SAFETY_STATE_KIND_AWAITING_RELEASE_GATE",
		3: "RELEASE_SAFETY_STATE_KIND_DEPLOYING",
		4: "RELEASE_SAFETY_STATE_KIND_POSTDEPLOY_OBSERVATION",
		5: "RELEASE_SAFETY_STATE_KIND_STABLE",
		6: "RELEASE_SAFETY_STATE_KIND_HOLD",
		7: "RELEASE_SAFETY_STATE_KIND_ROLLBACK",
		8: "RELEASE_SAFETY_STATE_KIND_FOLLOW_UP_REQUIRED",
	}
	ReleaseSafetyStateKind_value = map[string]int32{
		"RELEASE_SAFETY_STATE_KIND_UNSPECIFIED":            0,
		"RELEASE_SAFETY_STATE_KIND_RELEASE_CANDIDATE":      1,
		"RELEASE_SAFETY_STATE_KIND_AWAITING_RELEASE_GATE":  2,
		"RELEASE_SAFETY_STATE_KIND_DEPLOYING":              3,
		"RELEASE_SAFETY_STATE_KIND_POSTDEPLOY_OBSERVATION": 4,
		"RELEASE_SAFETY_STATE_KIND_STABLE":                 5,
		"RELEASE_SAFETY_STATE_KIND_HOLD":                   6,
		"RELEASE_SAFETY_STATE_KIND_ROLLBACK":               7,
		"RELEASE_SAFETY_STATE_KIND_FOLLOW_UP_REQUIRED":     8,
	}
)

func (x ReleaseSafetyStateKind) Enum() *ReleaseSafetyStateKind {
	p := new(ReleaseSafetyStateKind)
	*p = x
	return p
}

func (x ReleaseSafetyStateKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (ReleaseSafetyStateKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[21].Descriptor()
}

func (ReleaseSafetyStateKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[21]
}

func (x ReleaseSafetyStateKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use ReleaseSafetyStateKind.Descriptor instead.
func (ReleaseSafetyStateKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{21}
}

type BlockingSignalSourceType int32

const (
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED   BlockingSignalSourceType = 0
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_ACCEPTANCE    BlockingSignalSourceType = 1
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_REVIEW_SIGNAL BlockingSignalSourceType = 2
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_RUNTIME       BlockingSignalSourceType = 3
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_PROVIDER      BlockingSignalSourceType = 4
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_INTERACTION   BlockingSignalSourceType = 5
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_HUMAN         BlockingSignalSourceType = 6
	BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_MONITORING    BlockingSignalSourceType = 7
)

// Enum value maps for BlockingSignalSourceType.
var (
	BlockingSignalSourceType_name = map[int32]string{
		0: "BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED",
		1: "BLOCKING_SIGNAL_SOURCE_TYPE_ACCEPTANCE",
		2: "BLOCKING_SIGNAL_SOURCE_TYPE_REVIEW_SIGNAL",
		3: "BLOCKING_SIGNAL_SOURCE_TYPE_RUNTIME",
		4: "BLOCKING_SIGNAL_SOURCE_TYPE_PROVIDER",
		5: "BLOCKING_SIGNAL_SOURCE_TYPE_INTERACTION",
		6: "BLOCKING_SIGNAL_SOURCE_TYPE_HUMAN",
		7: "BLOCKING_SIGNAL_SOURCE_TYPE_MONITORING",
	}
	BlockingSignalSourceType_value = map[string]int32{
		"BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED":   0,
		"BLOCKING_SIGNAL_SOURCE_TYPE_ACCEPTANCE":    1,
		"BLOCKING_SIGNAL_SOURCE_TYPE_REVIEW_SIGNAL": 2,
		"BLOCKING_SIGNAL_SOURCE_TYPE_RUNTIME":       3,
		"BLOCKING_SIGNAL_SOURCE_TYPE_PROVIDER":      4,
		"BLOCKING_SIGNAL_SOURCE_TYPE_INTERACTION":   5,
		"BLOCKING_SIGNAL_SOURCE_TYPE_HUMAN":         6,
		"BLOCKING_SIGNAL_SOURCE_TYPE_MONITORING":    7,
	}
)

func (x BlockingSignalSourceType) Enum() *BlockingSignalSourceType {
	p := new(BlockingSignalSourceType)
	*p = x
	return p
}

func (x BlockingSignalSourceType) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BlockingSignalSourceType) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[22].Descriptor()
}

func (BlockingSignalSourceType) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[22]
}

func (x BlockingSignalSourceType) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BlockingSignalSourceType.Descriptor instead.
func (BlockingSignalSourceType) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{22}
}

type BlockingSignalStatus int32

const (
	BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_UNSPECIFIED BlockingSignalStatus = 0
	BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_ACTIVE      BlockingSignalStatus = 1
	BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_RESOLVED    BlockingSignalStatus = 2
	BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_DISMISSED   BlockingSignalStatus = 3
)

// Enum value maps for BlockingSignalStatus.
var (
	BlockingSignalStatus_name = map[int32]string{
		0: "BLOCKING_SIGNAL_STATUS_UNSPECIFIED",
		1: "BLOCKING_SIGNAL_STATUS_ACTIVE",
		2: "BLOCKING_SIGNAL_STATUS_RESOLVED",
		3: "BLOCKING_SIGNAL_STATUS_DISMISSED",
	}
	BlockingSignalStatus_value = map[string]int32{
		"BLOCKING_SIGNAL_STATUS_UNSPECIFIED": 0,
		"BLOCKING_SIGNAL_STATUS_ACTIVE":      1,
		"BLOCKING_SIGNAL_STATUS_RESOLVED":    2,
		"BLOCKING_SIGNAL_STATUS_DISMISSED":   3,
	}
)

func (x BlockingSignalStatus) Enum() *BlockingSignalStatus {
	p := new(BlockingSignalStatus)
	*p = x
	return p
}

func (x BlockingSignalStatus) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (BlockingSignalStatus) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[23].Descriptor()
}

func (BlockingSignalStatus) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[23]
}

func (x BlockingSignalStatus) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use BlockingSignalStatus.Descriptor instead.
func (BlockingSignalStatus) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{23}
}

type GovernanceDecisionSummaryKind int32

const (
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_UNSPECIFIED              GovernanceDecisionSummaryKind = 0
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_RISK_ASSESSMENT          GovernanceDecisionSummaryKind = 1
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_REVIEW_SIGNAL            GovernanceDecisionSummaryKind = 2
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_GATE_REQUEST             GovernanceDecisionSummaryKind = 3
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_GATE_DECISION            GovernanceDecisionSummaryKind = 4
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION_PACKAGE GovernanceDecisionSummaryKind = 5
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION         GovernanceDecisionSummaryKind = 6
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_BLOCKING_SIGNAL          GovernanceDecisionSummaryKind = 7
	GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_SAFETY_STATE     GovernanceDecisionSummaryKind = 8
)

// Enum value maps for GovernanceDecisionSummaryKind.
var (
	GovernanceDecisionSummaryKind_name = map[int32]string{
		0: "GOVERNANCE_DECISION_SUMMARY_KIND_UNSPECIFIED",
		1: "GOVERNANCE_DECISION_SUMMARY_KIND_RISK_ASSESSMENT",
		2: "GOVERNANCE_DECISION_SUMMARY_KIND_REVIEW_SIGNAL",
		3: "GOVERNANCE_DECISION_SUMMARY_KIND_GATE_REQUEST",
		4: "GOVERNANCE_DECISION_SUMMARY_KIND_GATE_DECISION",
		5: "GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION_PACKAGE",
		6: "GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION",
		7: "GOVERNANCE_DECISION_SUMMARY_KIND_BLOCKING_SIGNAL",
		8: "GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_SAFETY_STATE",
	}
	GovernanceDecisionSummaryKind_value = map[string]int32{
		"GOVERNANCE_DECISION_SUMMARY_KIND_UNSPECIFIED":              0,
		"GOVERNANCE_DECISION_SUMMARY_KIND_RISK_ASSESSMENT":          1,
		"GOVERNANCE_DECISION_SUMMARY_KIND_REVIEW_SIGNAL":            2,
		"GOVERNANCE_DECISION_SUMMARY_KIND_GATE_REQUEST":             3,
		"GOVERNANCE_DECISION_SUMMARY_KIND_GATE_DECISION":            4,
		"GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION_PACKAGE": 5,
		"GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION":         6,
		"GOVERNANCE_DECISION_SUMMARY_KIND_BLOCKING_SIGNAL":          7,
		"GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_SAFETY_STATE":     8,
	}
)

func (x GovernanceDecisionSummaryKind) Enum() *GovernanceDecisionSummaryKind {
	p := new(GovernanceDecisionSummaryKind)
	*p = x
	return p
}

func (x GovernanceDecisionSummaryKind) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GovernanceDecisionSummaryKind) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[24].Descriptor()
}

func (GovernanceDecisionSummaryKind) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[24]
}

func (x GovernanceDecisionSummaryKind) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GovernanceDecisionSummaryKind.Descriptor instead.
func (GovernanceDecisionSummaryKind) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{24}
}

type GovernanceDecisionAttention int32

const (
	GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED   GovernanceDecisionAttention = 0
	GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_PENDING       GovernanceDecisionAttention = 1
	GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_COMPLETED     GovernanceDecisionAttention = 2
	GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_BLOCKED       GovernanceDecisionAttention = 3
	GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_INFORMATIONAL GovernanceDecisionAttention = 4
)

// Enum value maps for GovernanceDecisionAttention.
var (
	GovernanceDecisionAttention_name = map[int32]string{
		0: "GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED",
		1: "GOVERNANCE_DECISION_ATTENTION_PENDING",
		2: "GOVERNANCE_DECISION_ATTENTION_COMPLETED",
		3: "GOVERNANCE_DECISION_ATTENTION_BLOCKED",
		4: "GOVERNANCE_DECISION_ATTENTION_INFORMATIONAL",
	}
	GovernanceDecisionAttention_value = map[string]int32{
		"GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED":   0,
		"GOVERNANCE_DECISION_ATTENTION_PENDING":       1,
		"GOVERNANCE_DECISION_ATTENTION_COMPLETED":     2,
		"GOVERNANCE_DECISION_ATTENTION_BLOCKED":       3,
		"GOVERNANCE_DECISION_ATTENTION_INFORMATIONAL": 4,
	}
)

func (x GovernanceDecisionAttention) Enum() *GovernanceDecisionAttention {
	p := new(GovernanceDecisionAttention)
	*p = x
	return p
}

func (x GovernanceDecisionAttention) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (GovernanceDecisionAttention) Descriptor() protoreflect.EnumDescriptor {
	return file_kodex_governance_v1_governance_manager_proto_enumTypes[25].Descriptor()
}

func (GovernanceDecisionAttention) Type() protoreflect.EnumType {
	return &file_kodex_governance_v1_governance_manager_proto_enumTypes[25]
}

func (x GovernanceDecisionAttention) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use GovernanceDecisionAttention.Descriptor instead.
func (GovernanceDecisionAttention) EnumDescriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{25}
}

// CommandMeta is required for every mutating command.
type CommandMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// command_id is a unique command identifier. Either command_id or idempotency_key is required.
	CommandId *string `protobuf:"bytes,1,opt,name=command_id,json=commandId,proto3,oneof" json:"command_id,omitempty"`
	// idempotency_key is an idempotency key scoped by operation and actor.
	IdempotencyKey *string `protobuf:"bytes,2,opt,name=idempotency_key,json=idempotencyKey,proto3,oneof" json:"idempotency_key,omitempty"`
	// expected_version is present only for existing aggregate mutations.
	ExpectedVersion *int64 `protobuf:"varint,3,opt,name=expected_version,json=expectedVersion,proto3,oneof" json:"expected_version,omitempty"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,4,opt,name=actor,proto3" json:"actor,omitempty"`
	// reason is a machine or operator reason for audit and domain events.
	Reason string `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	// request_id links the command to logs, traces and audit.
	RequestId string `protobuf:"bytes,6,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata; no tokens, secrets, email or names.
	RequestContext *RequestContext `protobuf:"bytes,7,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *CommandMeta) Reset() {
	*x = CommandMeta{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CommandMeta) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CommandMeta) ProtoMessage() {}

func (x *CommandMeta) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CommandMeta.ProtoReflect.Descriptor instead.
func (*CommandMeta) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{0}
}

func (x *CommandMeta) GetCommandId() string {
	if x != nil && x.CommandId != nil {
		return *x.CommandId
	}
	return ""
}

func (x *CommandMeta) GetIdempotencyKey() string {
	if x != nil && x.IdempotencyKey != nil {
		return *x.IdempotencyKey
	}
	return ""
}

func (x *CommandMeta) GetExpectedVersion() int64 {
	if x != nil && x.ExpectedVersion != nil {
		return *x.ExpectedVersion
	}
	return 0
}

func (x *CommandMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

func (x *CommandMeta) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *CommandMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *CommandMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// QueryMeta carries safe metadata for authoritative reads.
type QueryMeta struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// actor is the authenticated caller.
	Actor *Actor `protobuf:"bytes,1,opt,name=actor,proto3" json:"actor,omitempty"`
	// request_id links the read to logs and traces.
	RequestId string `protobuf:"bytes,2,opt,name=request_id,json=requestId,proto3" json:"request_id,omitempty"`
	// request_context carries safe request metadata.
	RequestContext *RequestContext `protobuf:"bytes,3,opt,name=request_context,json=requestContext,proto3" json:"request_context,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *QueryMeta) Reset() {
	*x = QueryMeta{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *QueryMeta) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*QueryMeta) ProtoMessage() {}

func (x *QueryMeta) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use QueryMeta.ProtoReflect.Descriptor instead.
func (*QueryMeta) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{1}
}

func (x *QueryMeta) GetActor() *Actor {
	if x != nil {
		return x.Actor
	}
	return nil
}

func (x *QueryMeta) GetRequestId() string {
	if x != nil {
		return x.RequestId
	}
	return ""
}

func (x *QueryMeta) GetRequestContext() *RequestContext {
	if x != nil {
		return x.RequestContext
	}
	return nil
}

// RequestContext is safe request metadata used for audit and diagnostics.
type RequestContext struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source identifies caller surface, for example staff-gateway, platform-mcp-server or service.
	Source string `protobuf:"bytes,1,opt,name=source,proto3" json:"source,omitempty"`
	// trace_id links platform traces.
	TraceId *string `protobuf:"bytes,2,opt,name=trace_id,json=traceId,proto3,oneof" json:"trace_id,omitempty"`
	// session_id links a user session when available.
	SessionId *string `protobuf:"bytes,3,opt,name=session_id,json=sessionId,proto3,oneof" json:"session_id,omitempty"`
	// client_ip_hash is an optional hashed client address.
	ClientIpHash  *string `protobuf:"bytes,4,opt,name=client_ip_hash,json=clientIpHash,proto3,oneof" json:"client_ip_hash,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RequestContext) Reset() {
	*x = RequestContext{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RequestContext) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RequestContext) ProtoMessage() {}

func (x *RequestContext) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RequestContext.ProtoReflect.Descriptor instead.
func (*RequestContext) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{2}
}

func (x *RequestContext) GetSource() string {
	if x != nil {
		return x.Source
	}
	return ""
}

func (x *RequestContext) GetTraceId() string {
	if x != nil && x.TraceId != nil {
		return *x.TraceId
	}
	return ""
}

func (x *RequestContext) GetSessionId() string {
	if x != nil && x.SessionId != nil {
		return *x.SessionId
	}
	return ""
}

func (x *RequestContext) GetClientIpHash() string {
	if x != nil && x.ClientIpHash != nil {
		return *x.ClientIpHash
	}
	return ""
}

// Actor identifies a user, service, agent or external account.
type Actor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type is a subject type such as user, service, agent or external_account.
	Type string `protobuf:"bytes,1,opt,name=type,proto3" json:"type,omitempty"`
	// id is the subject identifier in its owner domain.
	Id            string `protobuf:"bytes,2,opt,name=id,proto3" json:"id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Actor) Reset() {
	*x = Actor{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Actor) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Actor) ProtoMessage() {}

func (x *Actor) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Actor.ProtoReflect.Descriptor instead.
func (*Actor) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{3}
}

func (x *Actor) GetType() string {
	if x != nil {
		return x.Type
	}
	return ""
}

func (x *Actor) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

// PageRequest limits list responses.
type PageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// page_size is the maximum item count requested by caller.
	PageSize int32 `protobuf:"varint,1,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// page_token is an opaque continuation token returned by a previous call.
	PageToken     *string `protobuf:"bytes,2,opt,name=page_token,json=pageToken,proto3,oneof" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PageRequest) Reset() {
	*x = PageRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PageRequest) ProtoMessage() {}

func (x *PageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PageRequest.ProtoReflect.Descriptor instead.
func (*PageRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{4}
}

func (x *PageRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *PageRequest) GetPageToken() string {
	if x != nil && x.PageToken != nil {
		return *x.PageToken
	}
	return ""
}

// PageResponse describes list continuation state.
type PageResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// next_page_token is empty when there are no more items.
	NextPageToken *string `protobuf:"bytes,1,opt,name=next_page_token,json=nextPageToken,proto3,oneof" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PageResponse) Reset() {
	*x = PageResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PageResponse) ProtoMessage() {}

func (x *PageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PageResponse.ProtoReflect.Descriptor instead.
func (*PageResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{5}
}

func (x *PageResponse) GetNextPageToken() string {
	if x != nil && x.NextPageToken != nil {
		return *x.NextPageToken
	}
	return ""
}

// LocalizedText carries text for one locale.
type LocalizedText struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// locale is a BCP 47 locale code, for example ru or en-US.
	Locale string `protobuf:"bytes,1,opt,name=locale,proto3" json:"locale,omitempty"`
	// text is localized display text.
	Text          string `protobuf:"bytes,2,opt,name=text,proto3" json:"text,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *LocalizedText) Reset() {
	*x = LocalizedText{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *LocalizedText) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*LocalizedText) ProtoMessage() {}

func (x *LocalizedText) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use LocalizedText.ProtoReflect.Descriptor instead.
func (*LocalizedText) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{6}
}

func (x *LocalizedText) GetLocale() string {
	if x != nil {
		return x.Locale
	}
	return ""
}

func (x *LocalizedText) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

// ScopeRef identifies the scope of a risk profile or decision without copying project policy.
type ScopeRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type classifies the external scope.
	Type GovernanceScopeType `protobuf:"varint,1,opt,name=type,proto3,enum=kodex.governance.v1.GovernanceScopeType" json:"type,omitempty"`
	// ref is an external identifier owned by the scope owner domain.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ScopeRef) Reset() {
	*x = ScopeRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ScopeRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ScopeRef) ProtoMessage() {}

func (x *ScopeRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[7]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ScopeRef.ProtoReflect.Descriptor instead.
func (*ScopeRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{7}
}

func (x *ScopeRef) GetType() GovernanceScopeType {
	if x != nil {
		return x.Type
	}
	return GovernanceScopeType_GOVERNANCE_SCOPE_TYPE_UNSPECIFIED
}

func (x *ScopeRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// TargetRef points to the assessed transition, artifact, document, job or release candidate.
type TargetRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// type classifies the assessed target.
	Type GovernanceTargetType `protobuf:"varint,1,opt,name=type,proto3,enum=kodex.governance.v1.GovernanceTargetType" json:"type,omitempty"`
	// ref is the external or governance aggregate reference.
	Ref           string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *TargetRef) Reset() {
	*x = TargetRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *TargetRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*TargetRef) ProtoMessage() {}

func (x *TargetRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use TargetRef.ProtoReflect.Descriptor instead.
func (*TargetRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{8}
}

func (x *TargetRef) GetType() GovernanceTargetType {
	if x != nil {
		return x.Type
	}
	return GovernanceTargetType_GOVERNANCE_TARGET_TYPE_UNSPECIFIED
}

func (x *TargetRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

// ProjectContextRef carries project-catalog refs used by governance without copying project policy.
type ProjectContextRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// project_ref points to project-catalog project state.
	ProjectRef *string `protobuf:"bytes,1,opt,name=project_ref,json=projectRef,proto3,oneof" json:"project_ref,omitempty"`
	// repository_ref points to project-catalog repository binding state.
	RepositoryRef *string `protobuf:"bytes,2,opt,name=repository_ref,json=repositoryRef,proto3,oneof" json:"repository_ref,omitempty"`
	// service_ref points to a service descriptor in the checked services.yaml projection.
	ServiceRef *string `protobuf:"bytes,3,opt,name=service_ref,json=serviceRef,proto3,oneof" json:"service_ref,omitempty"`
	// branch_rules_ref points to branch rules owned by project-catalog.
	BranchRulesRef *string `protobuf:"bytes,4,opt,name=branch_rules_ref,json=branchRulesRef,proto3,oneof" json:"branch_rules_ref,omitempty"`
	// release_policy_ref points to release policy owned by project-catalog.
	ReleasePolicyRef *string `protobuf:"bytes,5,opt,name=release_policy_ref,json=releasePolicyRef,proto3,oneof" json:"release_policy_ref,omitempty"`
	// release_line_ref points to release line owned by project-catalog.
	ReleaseLineRef *string `protobuf:"bytes,6,opt,name=release_line_ref,json=releaseLineRef,proto3,oneof" json:"release_line_ref,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ProjectContextRef) Reset() {
	*x = ProjectContextRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProjectContextRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProjectContextRef) ProtoMessage() {}

func (x *ProjectContextRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProjectContextRef.ProtoReflect.Descriptor instead.
func (*ProjectContextRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{9}
}

func (x *ProjectContextRef) GetProjectRef() string {
	if x != nil && x.ProjectRef != nil {
		return *x.ProjectRef
	}
	return ""
}

func (x *ProjectContextRef) GetRepositoryRef() string {
	if x != nil && x.RepositoryRef != nil {
		return *x.RepositoryRef
	}
	return ""
}

func (x *ProjectContextRef) GetServiceRef() string {
	if x != nil && x.ServiceRef != nil {
		return *x.ServiceRef
	}
	return ""
}

func (x *ProjectContextRef) GetBranchRulesRef() string {
	if x != nil && x.BranchRulesRef != nil {
		return *x.BranchRulesRef
	}
	return ""
}

func (x *ProjectContextRef) GetReleasePolicyRef() string {
	if x != nil && x.ReleasePolicyRef != nil {
		return *x.ReleasePolicyRef
	}
	return ""
}

func (x *ProjectContextRef) GetReleaseLineRef() string {
	if x != nil && x.ReleaseLineRef != nil {
		return *x.ReleaseLineRef
	}
	return ""
}

// ProviderContextRef points to provider-hub projections and operation refs.
type ProviderContextRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// work_item_ref points to Issue or another provider-native work item projection.
	WorkItemRef *string `protobuf:"bytes,1,opt,name=work_item_ref,json=workItemRef,proto3,oneof" json:"work_item_ref,omitempty"`
	// pull_request_ref points to PR/MR projection when available.
	PullRequestRef *string `protobuf:"bytes,2,opt,name=pull_request_ref,json=pullRequestRef,proto3,oneof" json:"pull_request_ref,omitempty"`
	// comment_ref points to a provider comment projection when available.
	CommentRef *string `protobuf:"bytes,3,opt,name=comment_ref,json=commentRef,proto3,oneof" json:"comment_ref,omitempty"`
	// review_signal_ref points to a provider review or check projection when available.
	ReviewSignalRef *string `protobuf:"bytes,4,opt,name=review_signal_ref,json=reviewSignalRef,proto3,oneof" json:"review_signal_ref,omitempty"`
	// provider_operation_ref points to provider-hub operation journal state.
	ProviderOperationRef *string `protobuf:"bytes,5,opt,name=provider_operation_ref,json=providerOperationRef,proto3,oneof" json:"provider_operation_ref,omitempty"`
	// changed_files_summary_ref points to a bounded changed-file summary, not a full diff.
	ChangedFilesSummaryRef *string `protobuf:"bytes,6,opt,name=changed_files_summary_ref,json=changedFilesSummaryRef,proto3,oneof" json:"changed_files_summary_ref,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ProviderContextRef) Reset() {
	*x = ProviderContextRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ProviderContextRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ProviderContextRef) ProtoMessage() {}

func (x *ProviderContextRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ProviderContextRef.ProtoReflect.Descriptor instead.
func (*ProviderContextRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{10}
}

func (x *ProviderContextRef) GetWorkItemRef() string {
	if x != nil && x.WorkItemRef != nil {
		return *x.WorkItemRef
	}
	return ""
}

func (x *ProviderContextRef) GetPullRequestRef() string {
	if x != nil && x.PullRequestRef != nil {
		return *x.PullRequestRef
	}
	return ""
}

func (x *ProviderContextRef) GetCommentRef() string {
	if x != nil && x.CommentRef != nil {
		return *x.CommentRef
	}
	return ""
}

func (x *ProviderContextRef) GetReviewSignalRef() string {
	if x != nil && x.ReviewSignalRef != nil {
		return *x.ReviewSignalRef
	}
	return ""
}

func (x *ProviderContextRef) GetProviderOperationRef() string {
	if x != nil && x.ProviderOperationRef != nil {
		return *x.ProviderOperationRef
	}
	return ""
}

func (x *ProviderContextRef) GetChangedFilesSummaryRef() string {
	if x != nil && x.ChangedFilesSummaryRef != nil {
		return *x.ChangedFilesSummaryRef
	}
	return ""
}

// AgentContextRef points to agent-manager state without copying run or acceptance truth.
type AgentContextRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// session_ref points to an agent-manager session.
	SessionRef *string `protobuf:"bytes,1,opt,name=session_ref,json=sessionRef,proto3,oneof" json:"session_ref,omitempty"`
	// run_ref points to an agent-manager run.
	RunRef *string `protobuf:"bytes,2,opt,name=run_ref,json=runRef,proto3,oneof" json:"run_ref,omitempty"`
	// stage_ref points to a flow stage.
	StageRef *string `protobuf:"bytes,3,opt,name=stage_ref,json=stageRef,proto3,oneof" json:"stage_ref,omitempty"`
	// acceptance_ref points to an acceptance result.
	AcceptanceRef *string `protobuf:"bytes,4,opt,name=acceptance_ref,json=acceptanceRef,proto3,oneof" json:"acceptance_ref,omitempty"`
	// role_ref points to a role profile or role binding.
	RoleRef       *string `protobuf:"bytes,5,opt,name=role_ref,json=roleRef,proto3,oneof" json:"role_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *AgentContextRef) Reset() {
	*x = AgentContextRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *AgentContextRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*AgentContextRef) ProtoMessage() {}

func (x *AgentContextRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use AgentContextRef.ProtoReflect.Descriptor instead.
func (*AgentContextRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{11}
}

func (x *AgentContextRef) GetSessionRef() string {
	if x != nil && x.SessionRef != nil {
		return *x.SessionRef
	}
	return ""
}

func (x *AgentContextRef) GetRunRef() string {
	if x != nil && x.RunRef != nil {
		return *x.RunRef
	}
	return ""
}

func (x *AgentContextRef) GetStageRef() string {
	if x != nil && x.StageRef != nil {
		return *x.StageRef
	}
	return ""
}

func (x *AgentContextRef) GetAcceptanceRef() string {
	if x != nil && x.AcceptanceRef != nil {
		return *x.AcceptanceRef
	}
	return ""
}

func (x *AgentContextRef) GetRoleRef() string {
	if x != nil && x.RoleRef != nil {
		return *x.RoleRef
	}
	return ""
}

// RuntimeContextRef points to runtime-manager state without copying job or log truth.
type RuntimeContextRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// slot_ref points to runtime slot state.
	SlotRef *string `protobuf:"bytes,1,opt,name=slot_ref,json=slotRef,proto3,oneof" json:"slot_ref,omitempty"`
	// job_ref points to platform job state.
	JobRef *string `protobuf:"bytes,2,opt,name=job_ref,json=jobRef,proto3,oneof" json:"job_ref,omitempty"`
	// environment_ref points to runtime environment state.
	EnvironmentRef *string `protobuf:"bytes,3,opt,name=environment_ref,json=environmentRef,proto3,oneof" json:"environment_ref,omitempty"`
	// artifact_ref points to a runtime artifact reference.
	ArtifactRef *string `protobuf:"bytes,4,opt,name=artifact_ref,json=artifactRef,proto3,oneof" json:"artifact_ref,omitempty"`
	// summary_ref points to a bounded runtime summary, not full logs.
	SummaryRef    *string `protobuf:"bytes,5,opt,name=summary_ref,json=summaryRef,proto3,oneof" json:"summary_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RuntimeContextRef) Reset() {
	*x = RuntimeContextRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RuntimeContextRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RuntimeContextRef) ProtoMessage() {}

func (x *RuntimeContextRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[12]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RuntimeContextRef.ProtoReflect.Descriptor instead.
func (*RuntimeContextRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{12}
}

func (x *RuntimeContextRef) GetSlotRef() string {
	if x != nil && x.SlotRef != nil {
		return *x.SlotRef
	}
	return ""
}

func (x *RuntimeContextRef) GetJobRef() string {
	if x != nil && x.JobRef != nil {
		return *x.JobRef
	}
	return ""
}

func (x *RuntimeContextRef) GetEnvironmentRef() string {
	if x != nil && x.EnvironmentRef != nil {
		return *x.EnvironmentRef
	}
	return ""
}

func (x *RuntimeContextRef) GetArtifactRef() string {
	if x != nil && x.ArtifactRef != nil {
		return *x.ArtifactRef
	}
	return ""
}

func (x *RuntimeContextRef) GetSummaryRef() string {
	if x != nil && x.SummaryRef != nil {
		return *x.SummaryRef
	}
	return ""
}

// InteractionDeliveryRef points to interaction-hub delivery and callback facts.
type InteractionDeliveryRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// request_ref points to an interaction request created for delivery.
	RequestRef *string `protobuf:"bytes,1,opt,name=request_ref,json=requestRef,proto3,oneof" json:"request_ref,omitempty"`
	// delivery_ref points to a delivery attempt.
	DeliveryRef *string `protobuf:"bytes,2,opt,name=delivery_ref,json=deliveryRef,proto3,oneof" json:"delivery_ref,omitempty"`
	// callback_ref points to a callback record.
	CallbackRef *string `protobuf:"bytes,3,opt,name=callback_ref,json=callbackRef,proto3,oneof" json:"callback_ref,omitempty"`
	// decision_ref points to interaction-hub's delivery answer fact, not the governance decision.
	DecisionRef   *string `protobuf:"bytes,4,opt,name=decision_ref,json=decisionRef,proto3,oneof" json:"decision_ref,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *InteractionDeliveryRef) Reset() {
	*x = InteractionDeliveryRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[13]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *InteractionDeliveryRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*InteractionDeliveryRef) ProtoMessage() {}

func (x *InteractionDeliveryRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[13]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use InteractionDeliveryRef.ProtoReflect.Descriptor instead.
func (*InteractionDeliveryRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{13}
}

func (x *InteractionDeliveryRef) GetRequestRef() string {
	if x != nil && x.RequestRef != nil {
		return *x.RequestRef
	}
	return ""
}

func (x *InteractionDeliveryRef) GetDeliveryRef() string {
	if x != nil && x.DeliveryRef != nil {
		return *x.DeliveryRef
	}
	return ""
}

func (x *InteractionDeliveryRef) GetCallbackRef() string {
	if x != nil && x.CallbackRef != nil {
		return *x.CallbackRef
	}
	return ""
}

func (x *InteractionDeliveryRef) GetDecisionRef() string {
	if x != nil && x.DecisionRef != nil {
		return *x.DecisionRef
	}
	return ""
}

// EvidenceRef points to bounded evidence without embedding raw provider payload, secrets or full logs.
type EvidenceRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind classifies the evidence source.
	Kind EvidenceKind `protobuf:"varint,1,opt,name=kind,proto3,enum=kodex.governance.v1.EvidenceKind" json:"kind,omitempty"`
	// ref points to the source object or summary.
	Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	// summary is a short safe human-readable explanation.
	Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
	// digest is optional integrity metadata for object-backed evidence.
	Digest *string `protobuf:"bytes,4,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	// retention_class describes how long the referenced evidence is expected to live.
	RetentionClass *string `protobuf:"bytes,5,opt,name=retention_class,json=retentionClass,proto3,oneof" json:"retention_class,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *EvidenceRef) Reset() {
	*x = EvidenceRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[14]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvidenceRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvidenceRef) ProtoMessage() {}

func (x *EvidenceRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[14]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvidenceRef.ProtoReflect.Descriptor instead.
func (*EvidenceRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{14}
}

func (x *EvidenceRef) GetKind() EvidenceKind {
	if x != nil {
		return x.Kind
	}
	return EvidenceKind_EVIDENCE_KIND_UNSPECIFIED
}

func (x *EvidenceRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

func (x *EvidenceRef) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *EvidenceRef) GetDigest() string {
	if x != nil && x.Digest != nil {
		return *x.Digest
	}
	return ""
}

func (x *EvidenceRef) GetRetentionClass() string {
	if x != nil && x.RetentionClass != nil {
		return *x.RetentionClass
	}
	return ""
}

// RiskEvaluationSummary carries bounded classifier inputs without raw diff, provider payload, logs or secrets.
type RiskEvaluationSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// changed_files_summary_ref points to provider-hub or agent-produced changed-file summary.
	ChangedFilesSummaryRef *string `protobuf:"bytes,1,opt,name=changed_files_summary_ref,json=changedFilesSummaryRef,proto3,oneof" json:"changed_files_summary_ref,omitempty"`
	// summary is a short safe classifier summary, not raw diff or logs.
	Summary string `protobuf:"bytes,2,opt,name=summary,proto3" json:"summary,omitempty"`
	// factors are explicit safe factors used by the local evaluator.
	Factors       []*RiskEvaluationFactor `protobuf:"bytes,3,rep,name=factors,proto3" json:"factors,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskEvaluationSummary) Reset() {
	*x = RiskEvaluationSummary{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[15]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskEvaluationSummary) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskEvaluationSummary) ProtoMessage() {}

func (x *RiskEvaluationSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[15]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskEvaluationSummary.ProtoReflect.Descriptor instead.
func (*RiskEvaluationSummary) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{15}
}

func (x *RiskEvaluationSummary) GetChangedFilesSummaryRef() string {
	if x != nil && x.ChangedFilesSummaryRef != nil {
		return *x.ChangedFilesSummaryRef
	}
	return ""
}

func (x *RiskEvaluationSummary) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *RiskEvaluationSummary) GetFactors() []*RiskEvaluationFactor {
	if x != nil {
		return x.Factors
	}
	return nil
}

// RiskEvaluationFactor is one safe input fact for the risk classifier.
type RiskEvaluationFactor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source_type classifies the factor source.
	SourceType RiskFactorSourceType `protobuf:"varint,1,opt,name=source_type,json=sourceType,proto3,enum=kodex.governance.v1.RiskFactorSourceType" json:"source_type,omitempty"`
	// ref is a safe reference such as path/service/api/db/runtime/release ref.
	Ref string `protobuf:"bytes,2,opt,name=ref,proto3" json:"ref,omitempty"`
	// summary is a bounded safe explanation without raw payload.
	Summary string `protobuf:"bytes,3,opt,name=summary,proto3" json:"summary,omitempty"`
	// tags are bounded classifier tags such as auth, production, destructive or migration.
	Tags          []string `protobuf:"bytes,4,rep,name=tags,proto3" json:"tags,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskEvaluationFactor) Reset() {
	*x = RiskEvaluationFactor{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[16]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskEvaluationFactor) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskEvaluationFactor) ProtoMessage() {}

func (x *RiskEvaluationFactor) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[16]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskEvaluationFactor.ProtoReflect.Descriptor instead.
func (*RiskEvaluationFactor) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{16}
}

func (x *RiskEvaluationFactor) GetSourceType() RiskFactorSourceType {
	if x != nil {
		return x.SourceType
	}
	return RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED
}

func (x *RiskEvaluationFactor) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

func (x *RiskEvaluationFactor) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *RiskEvaluationFactor) GetTags() []string {
	if x != nil {
		return x.Tags
	}
	return nil
}

// SelfDeployPlanGateInput carries only safe refs and summaries from agent-manager SelfDeployPlan.
type SelfDeployPlanGateInput struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// self_deploy_plan_ref points to the plan owned by agent-manager.
	SelfDeployPlanRef string `protobuf:"bytes,1,opt,name=self_deploy_plan_ref,json=selfDeployPlanRef,proto3" json:"self_deploy_plan_ref,omitempty"`
	// project_context carries project/repository/release refs without copying project policy.
	ProjectContext *ProjectContextRef `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	// provider_signal_ref points to the provider/project signal that produced the plan.
	ProviderSignalRef *string `protobuf:"bytes,3,opt,name=provider_signal_ref,json=providerSignalRef,proto3,oneof" json:"provider_signal_ref,omitempty"`
	// source_ref points to the source branch, merge or provider work item.
	SourceRef *string `protobuf:"bytes,4,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// merge_commit_sha is a bounded commit identifier when available.
	MergeCommitSha *string `protobuf:"bytes,5,opt,name=merge_commit_sha,json=mergeCommitSha,proto3,oneof" json:"merge_commit_sha,omitempty"`
	// services_yaml_ref points to project-catalog or provider summary for services.yaml.
	ServicesYamlRef *string `protobuf:"bytes,6,opt,name=services_yaml_ref,json=servicesYamlRef,proto3,oneof" json:"services_yaml_ref,omitempty"`
	// services_yaml_digest identifies the checked services.yaml projection.
	ServicesYamlDigest *string `protobuf:"bytes,7,opt,name=services_yaml_digest,json=servicesYamlDigest,proto3,oneof" json:"services_yaml_digest,omitempty"`
	// affected_service_keys are bounded service identifiers from the plan.
	AffectedServiceKeys []string `protobuf:"bytes,8,rep,name=affected_service_keys,json=affectedServiceKeys,proto3" json:"affected_service_keys,omitempty"`
	// path_categories classify changed paths without storing raw diff or file lists.
	PathCategories []string `protobuf:"bytes,9,rep,name=path_categories,json=pathCategories,proto3" json:"path_categories,omitempty"`
	// expected_runtime_job_types list planned job kinds such as build, deploy or health_check.
	ExpectedRuntimeJobTypes []string `protobuf:"bytes,10,rep,name=expected_runtime_job_types,json=expectedRuntimeJobTypes,proto3" json:"expected_runtime_job_types,omitempty"`
	// changed_files_summary_ref points to a safe provider/agent changed-file summary.
	ChangedFilesSummaryRef *string `protobuf:"bytes,11,opt,name=changed_files_summary_ref,json=changedFilesSummaryRef,proto3,oneof" json:"changed_files_summary_ref,omitempty"`
	// safe_summary is a bounded human-readable summary without raw payload.
	SafeSummary *string `protobuf:"bytes,12,opt,name=safe_summary,json=safeSummary,proto3,oneof" json:"safe_summary,omitempty"`
	// plan_fingerprint identifies the exact safe plan input for replay/conflict checks.
	PlanFingerprint string `protobuf:"bytes,13,opt,name=plan_fingerprint,json=planFingerprint,proto3" json:"plan_fingerprint,omitempty"`
	// evidence_refs point to bounded supporting facts.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,14,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// risk_profile_ref optionally selects a local governance profile.
	RiskProfileRef *string `protobuf:"bytes,15,opt,name=risk_profile_ref,json=riskProfileRef,proto3,oneof" json:"risk_profile_ref,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *SelfDeployPlanGateInput) Reset() {
	*x = SelfDeployPlanGateInput{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[17]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SelfDeployPlanGateInput) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SelfDeployPlanGateInput) ProtoMessage() {}

func (x *SelfDeployPlanGateInput) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[17]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SelfDeployPlanGateInput.ProtoReflect.Descriptor instead.
func (*SelfDeployPlanGateInput) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{17}
}

func (x *SelfDeployPlanGateInput) GetSelfDeployPlanRef() string {
	if x != nil {
		return x.SelfDeployPlanRef
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *SelfDeployPlanGateInput) GetProviderSignalRef() string {
	if x != nil && x.ProviderSignalRef != nil {
		return *x.ProviderSignalRef
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetMergeCommitSha() string {
	if x != nil && x.MergeCommitSha != nil {
		return *x.MergeCommitSha
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetServicesYamlRef() string {
	if x != nil && x.ServicesYamlRef != nil {
		return *x.ServicesYamlRef
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetServicesYamlDigest() string {
	if x != nil && x.ServicesYamlDigest != nil {
		return *x.ServicesYamlDigest
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetAffectedServiceKeys() []string {
	if x != nil {
		return x.AffectedServiceKeys
	}
	return nil
}

func (x *SelfDeployPlanGateInput) GetPathCategories() []string {
	if x != nil {
		return x.PathCategories
	}
	return nil
}

func (x *SelfDeployPlanGateInput) GetExpectedRuntimeJobTypes() []string {
	if x != nil {
		return x.ExpectedRuntimeJobTypes
	}
	return nil
}

func (x *SelfDeployPlanGateInput) GetChangedFilesSummaryRef() string {
	if x != nil && x.ChangedFilesSummaryRef != nil {
		return *x.ChangedFilesSummaryRef
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetSafeSummary() string {
	if x != nil && x.SafeSummary != nil {
		return *x.SafeSummary
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetPlanFingerprint() string {
	if x != nil {
		return x.PlanFingerprint
	}
	return ""
}

func (x *SelfDeployPlanGateInput) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *SelfDeployPlanGateInput) GetRiskProfileRef() string {
	if x != nil && x.RiskProfileRef != nil {
		return *x.RiskProfileRef
	}
	return ""
}

// RequiredGate describes a gate required by a risk assessment.
type RequiredGate struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// gate_policy_id identifies the policy that requires the gate.
	GatePolicyId string `protobuf:"bytes,1,opt,name=gate_policy_id,json=gatePolicyId,proto3" json:"gate_policy_id,omitempty"`
	// gate_kind classifies the required gate.
	GateKind GateKind `protobuf:"varint,2,opt,name=gate_kind,json=gateKind,proto3,enum=kodex.governance.v1.GateKind" json:"gate_kind,omitempty"`
	// min_risk_class is the minimum risk that triggered the gate.
	MinRiskClass RiskClass `protobuf:"varint,3,opt,name=min_risk_class,json=minRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"min_risk_class,omitempty"`
	// reason is a bounded safe explanation for humans and audit.
	Reason        string `protobuf:"bytes,4,opt,name=reason,proto3" json:"reason,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RequiredGate) Reset() {
	*x = RequiredGate{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[18]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RequiredGate) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RequiredGate) ProtoMessage() {}

func (x *RequiredGate) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[18]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RequiredGate.ProtoReflect.Descriptor instead.
func (*RequiredGate) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{18}
}

func (x *RequiredGate) GetGatePolicyId() string {
	if x != nil {
		return x.GatePolicyId
	}
	return ""
}

func (x *RequiredGate) GetGateKind() GateKind {
	if x != nil {
		return x.GateKind
	}
	return GateKind_GATE_KIND_UNSPECIFIED
}

func (x *RequiredGate) GetMinRiskClass() RiskClass {
	if x != nil {
		return x.MinRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RequiredGate) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

// RiskProfile describes risk and gate policy for a scope.
type RiskProfile struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the governance profile identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// scope identifies where the profile applies.
	Scope *ScopeRef `protobuf:"bytes,2,opt,name=scope,proto3" json:"scope,omitempty"`
	// slug is a stable key inside the scope.
	Slug string `protobuf:"bytes,3,opt,name=slug,proto3" json:"slug,omitempty"`
	// display_name is localized safe display text.
	DisplayName []*LocalizedText `protobuf:"bytes,4,rep,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// description is localized safe explanatory text.
	Description []*LocalizedText `protobuf:"bytes,5,rep,name=description,proto3" json:"description,omitempty"`
	// status is the profile lifecycle status.
	Status RiskProfileStatus `protobuf:"varint,6,opt,name=status,proto3,enum=kodex.governance.v1.RiskProfileStatus" json:"status,omitempty"`
	// active_version is the active immutable policy version when present.
	ActiveVersion *int64 `protobuf:"varint,7,opt,name=active_version,json=activeVersion,proto3,oneof" json:"active_version,omitempty"`
	// version is the optimistic concurrency version for profile metadata.
	Version int64 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt     string `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskProfile) Reset() {
	*x = RiskProfile{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[19]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskProfile) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskProfile) ProtoMessage() {}

func (x *RiskProfile) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[19]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskProfile.ProtoReflect.Descriptor instead.
func (*RiskProfile) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{19}
}

func (x *RiskProfile) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *RiskProfile) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *RiskProfile) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *RiskProfile) GetDisplayName() []*LocalizedText {
	if x != nil {
		return x.DisplayName
	}
	return nil
}

func (x *RiskProfile) GetDescription() []*LocalizedText {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *RiskProfile) GetStatus() RiskProfileStatus {
	if x != nil {
		return x.Status
	}
	return RiskProfileStatus_RISK_PROFILE_STATUS_UNSPECIFIED
}

func (x *RiskProfile) GetActiveVersion() int64 {
	if x != nil && x.ActiveVersion != nil {
		return *x.ActiveVersion
	}
	return 0
}

func (x *RiskProfile) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *RiskProfile) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *RiskProfile) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

// RiskProfileVersion is an immutable version of rules and gate policies.
type RiskProfileVersion struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// risk_profile_id identifies the owning profile.
	RiskProfileId string `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	// profile_version is the immutable version number.
	ProfileVersion int64 `protobuf:"varint,2,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	// status is the version lifecycle status.
	Status RiskProfileVersionStatus `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.governance.v1.RiskProfileVersionStatus" json:"status,omitempty"`
	// rules are the risk rules in this version.
	Rules []*RiskRule `protobuf:"bytes,4,rep,name=rules,proto3" json:"rules,omitempty"`
	// gate_policies are gate policies in this version.
	GatePolicies []*GatePolicy `protobuf:"bytes,5,rep,name=gate_policies,json=gatePolicies,proto3" json:"gate_policies,omitempty"`
	// content_digest identifies the normalized version content.
	ContentDigest string `protobuf:"bytes,6,opt,name=content_digest,json=contentDigest,proto3" json:"content_digest,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// activated_at is an RFC3339 timestamp when the version became active.
	ActivatedAt   *string `protobuf:"bytes,8,opt,name=activated_at,json=activatedAt,proto3,oneof" json:"activated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskProfileVersion) Reset() {
	*x = RiskProfileVersion{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[20]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskProfileVersion) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskProfileVersion) ProtoMessage() {}

func (x *RiskProfileVersion) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[20]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskProfileVersion.ProtoReflect.Descriptor instead.
func (*RiskProfileVersion) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{20}
}

func (x *RiskProfileVersion) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *RiskProfileVersion) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *RiskProfileVersion) GetStatus() RiskProfileVersionStatus {
	if x != nil {
		return x.Status
	}
	return RiskProfileVersionStatus_RISK_PROFILE_VERSION_STATUS_UNSPECIFIED
}

func (x *RiskProfileVersion) GetRules() []*RiskRule {
	if x != nil {
		return x.Rules
	}
	return nil
}

func (x *RiskProfileVersion) GetGatePolicies() []*GatePolicy {
	if x != nil {
		return x.GatePolicies
	}
	return nil
}

func (x *RiskProfileVersion) GetContentDigest() string {
	if x != nil {
		return x.ContentDigest
	}
	return ""
}

func (x *RiskProfileVersion) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *RiskProfileVersion) GetActivatedAt() string {
	if x != nil && x.ActivatedAt != nil {
		return *x.ActivatedAt
	}
	return ""
}

// RiskRule is a versioned rule that contributes a minimum risk class.
type RiskRule struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the rule identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// risk_profile_id identifies the owning profile.
	RiskProfileId string `protobuf:"bytes,2,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	// profile_version is the profile version where the rule belongs.
	ProfileVersion int64 `protobuf:"varint,3,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	// rule_kind classifies the rule matcher.
	RuleKind RiskRuleKind `protobuf:"varint,4,opt,name=rule_kind,json=ruleKind,proto3,enum=kodex.governance.v1.RiskRuleKind" json:"rule_kind,omitempty"`
	// matcher_json contains a typed bounded matcher without raw provider payload.
	MatcherJson string `protobuf:"bytes,5,opt,name=matcher_json,json=matcherJson,proto3" json:"matcher_json,omitempty"`
	// min_risk_class is the minimum risk produced by this rule.
	MinRiskClass RiskClass `protobuf:"varint,6,opt,name=min_risk_class,json=minRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"min_risk_class,omitempty"`
	// required_gate_policy_id links to a gate policy when the rule requires one.
	RequiredGatePolicyId *string `protobuf:"bytes,7,opt,name=required_gate_policy_id,json=requiredGatePolicyId,proto3,oneof" json:"required_gate_policy_id,omitempty"`
	// reason_template is localized safe explanation text.
	ReasonTemplate []*LocalizedText `protobuf:"bytes,8,rep,name=reason_template,json=reasonTemplate,proto3" json:"reason_template,omitempty"`
	// status is the rule lifecycle status inside this version.
	Status RuleStatus `protobuf:"varint,9,opt,name=status,proto3,enum=kodex.governance.v1.RuleStatus" json:"status,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt     string `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskRule) Reset() {
	*x = RiskRule{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[21]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskRule) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskRule) ProtoMessage() {}

func (x *RiskRule) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[21]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskRule.ProtoReflect.Descriptor instead.
func (*RiskRule) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{21}
}

func (x *RiskRule) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *RiskRule) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *RiskRule) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *RiskRule) GetRuleKind() RiskRuleKind {
	if x != nil {
		return x.RuleKind
	}
	return RiskRuleKind_RISK_RULE_KIND_UNSPECIFIED
}

func (x *RiskRule) GetMatcherJson() string {
	if x != nil {
		return x.MatcherJson
	}
	return ""
}

func (x *RiskRule) GetMinRiskClass() RiskClass {
	if x != nil {
		return x.MinRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RiskRule) GetRequiredGatePolicyId() string {
	if x != nil && x.RequiredGatePolicyId != nil {
		return *x.RequiredGatePolicyId
	}
	return ""
}

func (x *RiskRule) GetReasonTemplate() []*LocalizedText {
	if x != nil {
		return x.ReasonTemplate
	}
	return nil
}

func (x *RiskRule) GetStatus() RuleStatus {
	if x != nil {
		return x.Status
	}
	return RuleStatus_RULE_STATUS_UNSPECIFIED
}

func (x *RiskRule) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *RiskRule) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

// GatePolicy defines actor and signal requirements for a gate.
type GatePolicy struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the gate policy identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// risk_profile_id identifies the optional owning risk profile.
	RiskProfileId *string `protobuf:"bytes,2,opt,name=risk_profile_id,json=riskProfileId,proto3,oneof" json:"risk_profile_id,omitempty"`
	// profile_version is the profile version where the policy belongs.
	ProfileVersion int64 `protobuf:"varint,3,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	// gate_kind classifies the gate.
	GateKind GateKind `protobuf:"varint,4,opt,name=gate_kind,json=gateKind,proto3,enum=kodex.governance.v1.GateKind" json:"gate_kind,omitempty"`
	// min_risk_class is the minimum risk that requires the gate.
	MinRiskClass RiskClass `protobuf:"varint,5,opt,name=min_risk_class,json=minRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"min_risk_class,omitempty"`
	// required_actor_policy_ref points to an access or duty policy, not embedded policy truth.
	RequiredActorPolicyRef string `protobuf:"bytes,6,opt,name=required_actor_policy_ref,json=requiredActorPolicyRef,proto3" json:"required_actor_policy_ref,omitempty"`
	// required_signal_kinds lists review signal kinds expected in evidence.
	RequiredSignalKinds []string `protobuf:"bytes,7,rep,name=required_signal_kinds,json=requiredSignalKinds,proto3" json:"required_signal_kinds,omitempty"`
	// timeout_policy_ref points to reminder/escalation policy executed through interaction-hub.
	TimeoutPolicyRef *string `protobuf:"bytes,8,opt,name=timeout_policy_ref,json=timeoutPolicyRef,proto3,oneof" json:"timeout_policy_ref,omitempty"`
	// status is the policy lifecycle status inside this version.
	Status        RuleStatus `protobuf:"varint,9,opt,name=status,proto3,enum=kodex.governance.v1.RuleStatus" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GatePolicy) Reset() {
	*x = GatePolicy{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[22]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GatePolicy) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GatePolicy) ProtoMessage() {}

func (x *GatePolicy) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[22]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GatePolicy.ProtoReflect.Descriptor instead.
func (*GatePolicy) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{22}
}

func (x *GatePolicy) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GatePolicy) GetRiskProfileId() string {
	if x != nil && x.RiskProfileId != nil {
		return *x.RiskProfileId
	}
	return ""
}

func (x *GatePolicy) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *GatePolicy) GetGateKind() GateKind {
	if x != nil {
		return x.GateKind
	}
	return GateKind_GATE_KIND_UNSPECIFIED
}

func (x *GatePolicy) GetMinRiskClass() RiskClass {
	if x != nil {
		return x.MinRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *GatePolicy) GetRequiredActorPolicyRef() string {
	if x != nil {
		return x.RequiredActorPolicyRef
	}
	return ""
}

func (x *GatePolicy) GetRequiredSignalKinds() []string {
	if x != nil {
		return x.RequiredSignalKinds
	}
	return nil
}

func (x *GatePolicy) GetTimeoutPolicyRef() string {
	if x != nil && x.TimeoutPolicyRef != nil {
		return *x.TimeoutPolicyRef
	}
	return ""
}

func (x *GatePolicy) GetStatus() RuleStatus {
	if x != nil {
		return x.Status
	}
	return RuleStatus_RULE_STATUS_UNSPECIFIED
}

// RiskAssessment records risk state for one target.
type RiskAssessment struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the assessment identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// target identifies what was assessed.
	Target *TargetRef `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// project_context carries project/repository/release refs.
	ProjectContext *ProjectContextRef `protobuf:"bytes,3,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	// provider_context carries provider artifact refs.
	ProviderContext *ProviderContextRef `protobuf:"bytes,4,opt,name=provider_context,json=providerContext,proto3" json:"provider_context,omitempty"`
	// agent_context carries run/session/acceptance refs.
	AgentContext *AgentContextRef `protobuf:"bytes,5,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	// runtime_context carries runtime job/environment refs.
	RuntimeContext *RuntimeContextRef `protobuf:"bytes,6,opt,name=runtime_context,json=runtimeContext,proto3" json:"runtime_context,omitempty"`
	// initial_risk_class is the risk before review signals and decisions.
	InitialRiskClass RiskClass `protobuf:"varint,7,opt,name=initial_risk_class,json=initialRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"initial_risk_class,omitempty"`
	// effective_risk_class is the current maximum risk after factors and signals.
	EffectiveRiskClass RiskClass `protobuf:"varint,8,opt,name=effective_risk_class,json=effectiveRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"effective_risk_class,omitempty"`
	// status is the assessment lifecycle status.
	Status RiskAssessmentStatus `protobuf:"varint,9,opt,name=status,proto3,enum=kodex.governance.v1.RiskAssessmentStatus" json:"status,omitempty"`
	// explanation is a short safe summary without secrets, full diff or logs.
	Explanation string `protobuf:"bytes,10,opt,name=explanation,proto3" json:"explanation,omitempty"`
	// required_gates lists gates required by the current assessment state.
	RequiredGates []*RequiredGate `protobuf:"bytes,11,rep,name=required_gates,json=requiredGates,proto3" json:"required_gates,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,12,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,13,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,14,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// risk_profile_id identifies the policy profile used by the evaluator when present.
	RiskProfileId *string `protobuf:"bytes,15,opt,name=risk_profile_id,json=riskProfileId,proto3,oneof" json:"risk_profile_id,omitempty"`
	// risk_profile_version identifies the immutable policy version used by the evaluator.
	RiskProfileVersion *int64 `protobuf:"varint,16,opt,name=risk_profile_version,json=riskProfileVersion,proto3,oneof" json:"risk_profile_version,omitempty"`
	// evaluation_summary stores the safe classifier input snapshot.
	EvaluationSummary *RiskEvaluationSummary `protobuf:"bytes,17,opt,name=evaluation_summary,json=evaluationSummary,proto3" json:"evaluation_summary,omitempty"`
	// evidence_refs are bounded refs used for this deterministic assessment.
	EvidenceRefs  []*EvidenceRef `protobuf:"bytes,18,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskAssessment) Reset() {
	*x = RiskAssessment{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[23]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskAssessment) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskAssessment) ProtoMessage() {}

func (x *RiskAssessment) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[23]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskAssessment.ProtoReflect.Descriptor instead.
func (*RiskAssessment) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{23}
}

func (x *RiskAssessment) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *RiskAssessment) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *RiskAssessment) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *RiskAssessment) GetProviderContext() *ProviderContextRef {
	if x != nil {
		return x.ProviderContext
	}
	return nil
}

func (x *RiskAssessment) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *RiskAssessment) GetRuntimeContext() *RuntimeContextRef {
	if x != nil {
		return x.RuntimeContext
	}
	return nil
}

func (x *RiskAssessment) GetInitialRiskClass() RiskClass {
	if x != nil {
		return x.InitialRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RiskAssessment) GetEffectiveRiskClass() RiskClass {
	if x != nil {
		return x.EffectiveRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RiskAssessment) GetStatus() RiskAssessmentStatus {
	if x != nil {
		return x.Status
	}
	return RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_UNSPECIFIED
}

func (x *RiskAssessment) GetExplanation() string {
	if x != nil {
		return x.Explanation
	}
	return ""
}

func (x *RiskAssessment) GetRequiredGates() []*RequiredGate {
	if x != nil {
		return x.RequiredGates
	}
	return nil
}

func (x *RiskAssessment) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *RiskAssessment) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *RiskAssessment) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *RiskAssessment) GetRiskProfileId() string {
	if x != nil && x.RiskProfileId != nil {
		return *x.RiskProfileId
	}
	return ""
}

func (x *RiskAssessment) GetRiskProfileVersion() int64 {
	if x != nil && x.RiskProfileVersion != nil {
		return *x.RiskProfileVersion
	}
	return 0
}

func (x *RiskAssessment) GetEvaluationSummary() *RiskEvaluationSummary {
	if x != nil {
		return x.EvaluationSummary
	}
	return nil
}

func (x *RiskAssessment) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

// RiskFactor explains one reason for a risk class.
type RiskFactor struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the risk factor identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// risk_assessment_id identifies the owning assessment.
	RiskAssessmentId string `protobuf:"bytes,2,opt,name=risk_assessment_id,json=riskAssessmentId,proto3" json:"risk_assessment_id,omitempty"`
	// source_type classifies the factor source.
	SourceType RiskFactorSourceType `protobuf:"varint,3,opt,name=source_type,json=sourceType,proto3,enum=kodex.governance.v1.RiskFactorSourceType" json:"source_type,omitempty"`
	// source_ref points to a rule, signal or external summary.
	SourceRef *string `protobuf:"bytes,4,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// risk_class is the risk contributed by the factor.
	RiskClass RiskClass `protobuf:"varint,5,opt,name=risk_class,json=riskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"risk_class,omitempty"`
	// summary is a short safe explanation.
	Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt     string `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskFactor) Reset() {
	*x = RiskFactor{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[24]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskFactor) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskFactor) ProtoMessage() {}

func (x *RiskFactor) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[24]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskFactor.ProtoReflect.Descriptor instead.
func (*RiskFactor) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{24}
}

func (x *RiskFactor) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *RiskFactor) GetRiskAssessmentId() string {
	if x != nil {
		return x.RiskAssessmentId
	}
	return ""
}

func (x *RiskFactor) GetSourceType() RiskFactorSourceType {
	if x != nil {
		return x.SourceType
	}
	return RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED
}

func (x *RiskFactor) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *RiskFactor) GetRiskClass() RiskClass {
	if x != nil {
		return x.RiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RiskFactor) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *RiskFactor) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

// ReviewSignal records a role-driven signal used as evidence.
type ReviewSignal struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the signal identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// risk_assessment_id links to an assessment when known.
	RiskAssessmentId *string `protobuf:"bytes,2,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	// target identifies the artifact or state the signal covers.
	Target *TargetRef `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	// role_kind classifies the reviewer role.
	RoleKind ReviewRoleKind `protobuf:"varint,4,opt,name=role_kind,json=roleKind,proto3,enum=kodex.governance.v1.ReviewRoleKind" json:"role_kind,omitempty"`
	// author_ref points to a user, agent run or service principal.
	AuthorRef string `protobuf:"bytes,5,opt,name=author_ref,json=authorRef,proto3" json:"author_ref,omitempty"`
	// outcome is the signal result.
	Outcome ReviewSignalOutcome `protobuf:"varint,6,opt,name=outcome,proto3,enum=kodex.governance.v1.ReviewSignalOutcome" json:"outcome,omitempty"`
	// severity is the signal severity.
	Severity SignalSeverity `protobuf:"varint,7,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity" json:"severity,omitempty"`
	// confidence is the optional confidence of an automated or agent signal.
	Confidence *Confidence `protobuf:"varint,8,opt,name=confidence,proto3,enum=kodex.governance.v1.Confidence,oneof" json:"confidence,omitempty"`
	// evidence_refs point to comments, checks, docs or summaries.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,9,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// summary is a short safe explanation.
	Summary string `protobuf:"bytes,10,opt,name=summary,proto3" json:"summary,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt     string `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReviewSignal) Reset() {
	*x = ReviewSignal{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[25]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReviewSignal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReviewSignal) ProtoMessage() {}

func (x *ReviewSignal) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[25]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReviewSignal.ProtoReflect.Descriptor instead.
func (*ReviewSignal) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{25}
}

func (x *ReviewSignal) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReviewSignal) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *ReviewSignal) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ReviewSignal) GetRoleKind() ReviewRoleKind {
	if x != nil {
		return x.RoleKind
	}
	return ReviewRoleKind_REVIEW_ROLE_KIND_UNSPECIFIED
}

func (x *ReviewSignal) GetAuthorRef() string {
	if x != nil {
		return x.AuthorRef
	}
	return ""
}

func (x *ReviewSignal) GetOutcome() ReviewSignalOutcome {
	if x != nil {
		return x.Outcome
	}
	return ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_UNSPECIFIED
}

func (x *ReviewSignal) GetSeverity() SignalSeverity {
	if x != nil {
		return x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *ReviewSignal) GetConfidence() Confidence {
	if x != nil && x.Confidence != nil {
		return *x.Confidence
	}
	return Confidence_CONFIDENCE_UNSPECIFIED
}

func (x *ReviewSignal) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *ReviewSignal) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *ReviewSignal) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

// GateRequest describes a concrete governance gate.
type GateRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the gate request identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// risk_assessment_id links to the assessment that required the gate.
	RiskAssessmentId *string `protobuf:"bytes,2,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	// gate_policy_id identifies the policy that required the gate.
	GatePolicyId *string `protobuf:"bytes,3,opt,name=gate_policy_id,json=gatePolicyId,proto3,oneof" json:"gate_policy_id,omitempty"`
	// target identifies the transition, merge, release, rollback or document approval.
	Target *TargetRef `protobuf:"bytes,4,opt,name=target,proto3" json:"target,omitempty"`
	// interaction_delivery_ref links delivery/callback facts owned by interaction-hub.
	InteractionDeliveryRef *InteractionDeliveryRef `protobuf:"bytes,5,opt,name=interaction_delivery_ref,json=interactionDeliveryRef,proto3" json:"interaction_delivery_ref,omitempty"`
	// evidence_refs are bounded facts presented for decision.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,6,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// evidence_summary is a short safe package summary.
	EvidenceSummary string `protobuf:"bytes,7,opt,name=evidence_summary,json=evidenceSummary,proto3" json:"evidence_summary,omitempty"`
	// status is the gate lifecycle status.
	Status GateRequestStatus `protobuf:"varint,8,opt,name=status,proto3,enum=kodex.governance.v1.GateRequestStatus" json:"status,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,9,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,10,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,11,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// terminal_actor_ref identifies who cancelled or expired the gate request.
	TerminalActorRef *string `protobuf:"bytes,12,opt,name=terminal_actor_ref,json=terminalActorRef,proto3,oneof" json:"terminal_actor_ref,omitempty"`
	// terminal_reason is a bounded safe cancellation or expiry summary.
	TerminalReason *string `protobuf:"bytes,13,opt,name=terminal_reason,json=terminalReason,proto3,oneof" json:"terminal_reason,omitempty"`
	// terminal_at is an RFC3339 timestamp for cancelled or expired states.
	TerminalAt    *string `protobuf:"bytes,14,opt,name=terminal_at,json=terminalAt,proto3,oneof" json:"terminal_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GateRequest) Reset() {
	*x = GateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[26]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GateRequest) ProtoMessage() {}

func (x *GateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[26]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GateRequest.ProtoReflect.Descriptor instead.
func (*GateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{26}
}

func (x *GateRequest) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GateRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *GateRequest) GetGatePolicyId() string {
	if x != nil && x.GatePolicyId != nil {
		return *x.GatePolicyId
	}
	return ""
}

func (x *GateRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *GateRequest) GetInteractionDeliveryRef() *InteractionDeliveryRef {
	if x != nil {
		return x.InteractionDeliveryRef
	}
	return nil
}

func (x *GateRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *GateRequest) GetEvidenceSummary() string {
	if x != nil {
		return x.EvidenceSummary
	}
	return ""
}

func (x *GateRequest) GetStatus() GateRequestStatus {
	if x != nil {
		return x.Status
	}
	return GateRequestStatus_GATE_REQUEST_STATUS_UNSPECIFIED
}

func (x *GateRequest) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *GateRequest) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *GateRequest) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *GateRequest) GetTerminalActorRef() string {
	if x != nil && x.TerminalActorRef != nil {
		return *x.TerminalActorRef
	}
	return ""
}

func (x *GateRequest) GetTerminalReason() string {
	if x != nil && x.TerminalReason != nil {
		return *x.TerminalReason
	}
	return ""
}

func (x *GateRequest) GetTerminalAt() string {
	if x != nil && x.TerminalAt != nil {
		return *x.TerminalAt
	}
	return ""
}

// GateDecision records the final governance decision for a gate.
type GateDecision struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the decision identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// gate_request_id identifies the resolved gate request.
	GateRequestId string `protobuf:"bytes,2,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	// decision_actor_ref identifies the actor that took the decision.
	DecisionActorRef string `protobuf:"bytes,3,opt,name=decision_actor_ref,json=decisionActorRef,proto3" json:"decision_actor_ref,omitempty"`
	// decision_policy_ref identifies the actor/policy version used for validation.
	DecisionPolicyRef string `protobuf:"bytes,4,opt,name=decision_policy_ref,json=decisionPolicyRef,proto3" json:"decision_policy_ref,omitempty"`
	// outcome is the final gate decision.
	Outcome GateOutcome `protobuf:"varint,5,opt,name=outcome,proto3,enum=kodex.governance.v1.GateOutcome" json:"outcome,omitempty"`
	// reason is a bounded safe explanation.
	Reason string `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	// conditions_summary describes follow-up or limitations without large evidence dumps.
	ConditionsSummary *string `protobuf:"bytes,7,opt,name=conditions_summary,json=conditionsSummary,proto3,oneof" json:"conditions_summary,omitempty"`
	// source_ref points to UI response, provider review or interaction callback.
	SourceRef *string `protobuf:"bytes,8,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// decided_at is an RFC3339 timestamp.
	DecidedAt     string `protobuf:"bytes,9,opt,name=decided_at,json=decidedAt,proto3" json:"decided_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GateDecision) Reset() {
	*x = GateDecision{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[27]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GateDecision) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GateDecision) ProtoMessage() {}

func (x *GateDecision) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[27]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GateDecision.ProtoReflect.Descriptor instead.
func (*GateDecision) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{27}
}

func (x *GateDecision) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GateDecision) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

func (x *GateDecision) GetDecisionActorRef() string {
	if x != nil {
		return x.DecisionActorRef
	}
	return ""
}

func (x *GateDecision) GetDecisionPolicyRef() string {
	if x != nil {
		return x.DecisionPolicyRef
	}
	return ""
}

func (x *GateDecision) GetOutcome() GateOutcome {
	if x != nil {
		return x.Outcome
	}
	return GateOutcome_GATE_OUTCOME_UNSPECIFIED
}

func (x *GateDecision) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *GateDecision) GetConditionsSummary() string {
	if x != nil && x.ConditionsSummary != nil {
		return *x.ConditionsSummary
	}
	return ""
}

func (x *GateDecision) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *GateDecision) GetDecidedAt() string {
	if x != nil {
		return x.DecidedAt
	}
	return ""
}

// ReleaseDecisionPackage is a bounded evidence package for release decision.
type ReleaseDecisionPackage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the package identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// release_candidate_ref points to the candidate artifact or tag.
	ReleaseCandidateRef string `protobuf:"bytes,2,opt,name=release_candidate_ref,json=releaseCandidateRef,proto3" json:"release_candidate_ref,omitempty"`
	// project_context carries project/release policy refs.
	ProjectContext *ProjectContextRef `protobuf:"bytes,3,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	// repository_refs point to participating repositories.
	RepositoryRefs []string `protobuf:"bytes,4,rep,name=repository_refs,json=repositoryRefs,proto3" json:"repository_refs,omitempty"`
	// risk_assessment_id links to release risk assessment.
	RiskAssessmentId *string `protobuf:"bytes,5,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	// provider_refs point to provider issues, PR/MR, tags or branches.
	ProviderRefs []*ProviderContextRef `protobuf:"bytes,6,rep,name=provider_refs,json=providerRefs,proto3" json:"provider_refs,omitempty"`
	// runtime_refs point to build, deploy and postdeploy summaries.
	RuntimeRefs []*RuntimeContextRef `protobuf:"bytes,7,rep,name=runtime_refs,json=runtimeRefs,proto3" json:"runtime_refs,omitempty"`
	// agent_context carries preparation run/session refs.
	AgentContext *AgentContextRef `protobuf:"bytes,8,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	// review_signal_ids identify signals included in the package.
	ReviewSignalIds []string `protobuf:"bytes,9,rep,name=review_signal_ids,json=reviewSignalIds,proto3" json:"review_signal_ids,omitempty"`
	// evidence_refs are bounded facts and summaries.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,10,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// known_limitations_summary is a safe summary of accepted risk or limitations.
	KnownLimitationsSummary string `protobuf:"bytes,11,opt,name=known_limitations_summary,json=knownLimitationsSummary,proto3" json:"known_limitations_summary,omitempty"`
	// status is the package lifecycle status.
	Status ReleaseDecisionPackageStatus `protobuf:"varint,12,opt,name=status,proto3,enum=kodex.governance.v1.ReleaseDecisionPackageStatus" json:"status,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,13,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,14,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt string `protobuf:"bytes,15,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// integration_refs explicitly link safe refs/summaries from neighboring owner domains.
	IntegrationRefs []*ReleaseIntegrationRef `protobuf:"bytes,16,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ReleaseDecisionPackage) Reset() {
	*x = ReleaseDecisionPackage{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[28]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseDecisionPackage) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseDecisionPackage) ProtoMessage() {}

func (x *ReleaseDecisionPackage) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[28]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseDecisionPackage.ProtoReflect.Descriptor instead.
func (*ReleaseDecisionPackage) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{28}
}

func (x *ReleaseDecisionPackage) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetReleaseCandidateRef() string {
	if x != nil {
		return x.ReleaseCandidateRef
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetRepositoryRefs() []string {
	if x != nil {
		return x.RepositoryRefs
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetProviderRefs() []*ProviderContextRef {
	if x != nil {
		return x.ProviderRefs
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetRuntimeRefs() []*RuntimeContextRef {
	if x != nil {
		return x.RuntimeRefs
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetReviewSignalIds() []string {
	if x != nil {
		return x.ReviewSignalIds
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *ReleaseDecisionPackage) GetKnownLimitationsSummary() string {
	if x != nil {
		return x.KnownLimitationsSummary
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetStatus() ReleaseDecisionPackageStatus {
	if x != nil {
		return x.Status
	}
	return ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED
}

func (x *ReleaseDecisionPackage) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *ReleaseDecisionPackage) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *ReleaseDecisionPackage) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

// ReleaseDecision records the governance release decision.
type ReleaseDecision struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the release decision identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// release_decision_package_id identifies the evidence package.
	ReleaseDecisionPackageId string `protobuf:"bytes,2,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	// gate_decision_id links a human gate when one was required.
	GateDecisionId *string `protobuf:"bytes,3,opt,name=gate_decision_id,json=gateDecisionId,proto3,oneof" json:"gate_decision_id,omitempty"`
	// outcome is the final release decision.
	Outcome ReleaseDecisionOutcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=kodex.governance.v1.ReleaseDecisionOutcome" json:"outcome,omitempty"`
	// decision_actor_ref identifies the human or policy automation actor.
	DecisionActorRef string `protobuf:"bytes,5,opt,name=decision_actor_ref,json=decisionActorRef,proto3" json:"decision_actor_ref,omitempty"`
	// decision_policy_ref identifies the policy/evaluator version used for the decision.
	DecisionPolicyRef string `protobuf:"bytes,6,opt,name=decision_policy_ref,json=decisionPolicyRef,proto3" json:"decision_policy_ref,omitempty"`
	// reason is a bounded safe explanation.
	Reason string `protobuf:"bytes,7,opt,name=reason,proto3" json:"reason,omitempty"`
	// conditions_summary describes follow-up or limitations.
	ConditionsSummary *string `protobuf:"bytes,8,opt,name=conditions_summary,json=conditionsSummary,proto3,oneof" json:"conditions_summary,omitempty"`
	// status is the decision lifecycle status.
	Status ReleaseDecisionStatus `protobuf:"varint,9,opt,name=status,proto3,enum=kodex.governance.v1.ReleaseDecisionStatus" json:"status,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,10,opt,name=version,proto3" json:"version,omitempty"`
	// decided_at is an RFC3339 timestamp.
	DecidedAt     string `protobuf:"bytes,11,opt,name=decided_at,json=decidedAt,proto3" json:"decided_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReleaseDecision) Reset() {
	*x = ReleaseDecision{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[29]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseDecision) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseDecision) ProtoMessage() {}

func (x *ReleaseDecision) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[29]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseDecision.ProtoReflect.Descriptor instead.
func (*ReleaseDecision) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{29}
}

func (x *ReleaseDecision) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReleaseDecision) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *ReleaseDecision) GetGateDecisionId() string {
	if x != nil && x.GateDecisionId != nil {
		return *x.GateDecisionId
	}
	return ""
}

func (x *ReleaseDecision) GetOutcome() ReleaseDecisionOutcome {
	if x != nil {
		return x.Outcome
	}
	return ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_UNSPECIFIED
}

func (x *ReleaseDecision) GetDecisionActorRef() string {
	if x != nil {
		return x.DecisionActorRef
	}
	return ""
}

func (x *ReleaseDecision) GetDecisionPolicyRef() string {
	if x != nil {
		return x.DecisionPolicyRef
	}
	return ""
}

func (x *ReleaseDecision) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ReleaseDecision) GetConditionsSummary() string {
	if x != nil && x.ConditionsSummary != nil {
		return *x.ConditionsSummary
	}
	return ""
}

func (x *ReleaseDecision) GetStatus() ReleaseDecisionStatus {
	if x != nil {
		return x.Status
	}
	return ReleaseDecisionStatus_RELEASE_DECISION_STATUS_UNSPECIFIED
}

func (x *ReleaseDecision) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *ReleaseDecision) GetDecidedAt() string {
	if x != nil {
		return x.DecidedAt
	}
	return ""
}

// ReleaseSafetyState records postdeploy safety-loop state.
type ReleaseSafetyState struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the safety state identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// release_decision_package_id identifies the release package.
	ReleaseDecisionPackageId string `protobuf:"bytes,2,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	// current_state is the current safety-loop state.
	CurrentState ReleaseSafetyStateKind `protobuf:"varint,3,opt,name=current_state,json=currentState,proto3,enum=kodex.governance.v1.ReleaseSafetyStateKind" json:"current_state,omitempty"`
	// runtime_job_ref points to current deploy or postdeploy job.
	RuntimeJobRef *string `protobuf:"bytes,4,opt,name=runtime_job_ref,json=runtimeJobRef,proto3,oneof" json:"runtime_job_ref,omitempty"`
	// blocking_signal_count is the number of active blocking signals.
	BlockingSignalCount int32 `protobuf:"varint,5,opt,name=blocking_signal_count,json=blockingSignalCount,proto3" json:"blocking_signal_count,omitempty"`
	// last_state_reason is a short safe transition explanation.
	LastStateReason string `protobuf:"bytes,6,opt,name=last_state_reason,json=lastStateReason,proto3" json:"last_state_reason,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,7,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp.
	UpdatedAt     string `protobuf:"bytes,9,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReleaseSafetyState) Reset() {
	*x = ReleaseSafetyState{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[30]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseSafetyState) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseSafetyState) ProtoMessage() {}

func (x *ReleaseSafetyState) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[30]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseSafetyState.ProtoReflect.Descriptor instead.
func (*ReleaseSafetyState) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{30}
}

func (x *ReleaseSafetyState) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *ReleaseSafetyState) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *ReleaseSafetyState) GetCurrentState() ReleaseSafetyStateKind {
	if x != nil {
		return x.CurrentState
	}
	return ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_UNSPECIFIED
}

func (x *ReleaseSafetyState) GetRuntimeJobRef() string {
	if x != nil && x.RuntimeJobRef != nil {
		return *x.RuntimeJobRef
	}
	return ""
}

func (x *ReleaseSafetyState) GetBlockingSignalCount() int32 {
	if x != nil {
		return x.BlockingSignalCount
	}
	return 0
}

func (x *ReleaseSafetyState) GetLastStateReason() string {
	if x != nil {
		return x.LastStateReason
	}
	return ""
}

func (x *ReleaseSafetyState) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *ReleaseSafetyState) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *ReleaseSafetyState) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

// BlockingSignal describes a signal that blocks a transition or release.
type BlockingSignal struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// id is the blocking signal identifier.
	Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
	// target identifies the blocked aggregate or external target.
	Target *TargetRef `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// source_type classifies where the signal came from.
	SourceType BlockingSignalSourceType `protobuf:"varint,3,opt,name=source_type,json=sourceType,proto3,enum=kodex.governance.v1.BlockingSignalSourceType" json:"source_type,omitempty"`
	// source_ref points to the source signal or external summary.
	SourceRef *string `protobuf:"bytes,4,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	// severity is the blocking signal severity.
	Severity SignalSeverity `protobuf:"varint,5,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity" json:"severity,omitempty"`
	// summary is a short safe explanation.
	Summary string `protobuf:"bytes,6,opt,name=summary,proto3" json:"summary,omitempty"`
	// status is the signal lifecycle status.
	Status BlockingSignalStatus `protobuf:"varint,7,opt,name=status,proto3,enum=kodex.governance.v1.BlockingSignalStatus" json:"status,omitempty"`
	// version is the optimistic concurrency version.
	Version int64 `protobuf:"varint,8,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp.
	CreatedAt string `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// resolved_at is an RFC3339 timestamp when terminal.
	ResolvedAt    *string `protobuf:"bytes,10,opt,name=resolved_at,json=resolvedAt,proto3,oneof" json:"resolved_at,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *BlockingSignal) Reset() {
	*x = BlockingSignal{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[31]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlockingSignal) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlockingSignal) ProtoMessage() {}

func (x *BlockingSignal) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[31]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BlockingSignal.ProtoReflect.Descriptor instead.
func (*BlockingSignal) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{31}
}

func (x *BlockingSignal) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *BlockingSignal) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *BlockingSignal) GetSourceType() BlockingSignalSourceType {
	if x != nil {
		return x.SourceType
	}
	return BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED
}

func (x *BlockingSignal) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *BlockingSignal) GetSeverity() SignalSeverity {
	if x != nil {
		return x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *BlockingSignal) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *BlockingSignal) GetStatus() BlockingSignalStatus {
	if x != nil {
		return x.Status
	}
	return BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_UNSPECIFIED
}

func (x *BlockingSignal) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *BlockingSignal) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *BlockingSignal) GetResolvedAt() string {
	if x != nil && x.ResolvedAt != nil {
		return *x.ResolvedAt
	}
	return ""
}

// GovernanceSummaryScope bounds a staff/owner read model request.
type GovernanceSummaryScope struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// target narrows risk, review, gate and blocking signal facts by governance target.
	Target *TargetRef `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	// project_context narrows risk and release facts by project-catalog refs.
	ProjectContext *ProjectContextRef `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	// release_candidate_ref narrows release package facts.
	ReleaseCandidateRef *string `protobuf:"bytes,3,opt,name=release_candidate_ref,json=releaseCandidateRef,proto3,oneof" json:"release_candidate_ref,omitempty"`
	// release_decision_package_id narrows the summary to one release package.
	ReleaseDecisionPackageId *string `protobuf:"bytes,4,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3,oneof" json:"release_decision_package_id,omitempty"`
	// integration_ref narrows release packages by a safe owner-domain ref stored in integration_refs.
	IntegrationRef *ReleaseIntegrationRef `protobuf:"bytes,5,opt,name=integration_ref,json=integrationRef,proto3,oneof" json:"integration_ref,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GovernanceSummaryScope) Reset() {
	*x = GovernanceSummaryScope{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[32]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceSummaryScope) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceSummaryScope) ProtoMessage() {}

func (x *GovernanceSummaryScope) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[32]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceSummaryScope.ProtoReflect.Descriptor instead.
func (*GovernanceSummaryScope) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{32}
}

func (x *GovernanceSummaryScope) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *GovernanceSummaryScope) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *GovernanceSummaryScope) GetReleaseCandidateRef() string {
	if x != nil && x.ReleaseCandidateRef != nil {
		return *x.ReleaseCandidateRef
	}
	return ""
}

func (x *GovernanceSummaryScope) GetReleaseDecisionPackageId() string {
	if x != nil && x.ReleaseDecisionPackageId != nil {
		return *x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *GovernanceSummaryScope) GetIntegrationRef() *ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRef
	}
	return nil
}

// GovernanceDecisionSummary is a bounded decision/state item prepared for gateway/UI mapping.
type GovernanceDecisionSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// kind classifies the governance state represented by the item.
	Kind GovernanceDecisionSummaryKind `protobuf:"varint,1,opt,name=kind,proto3,enum=kodex.governance.v1.GovernanceDecisionSummaryKind" json:"kind,omitempty"`
	// attention tells gateway/UI whether the item needs action, is blocked or is informational.
	Attention GovernanceDecisionAttention `protobuf:"varint,2,opt,name=attention,proto3,enum=kodex.governance.v1.GovernanceDecisionAttention" json:"attention,omitempty"`
	// id is the local governance identifier when one exists.
	Id string `protobuf:"bytes,3,opt,name=id,proto3" json:"id,omitempty"`
	// parent_id links a child decision to a gate request, risk assessment or release package.
	ParentId *string `protobuf:"bytes,4,opt,name=parent_id,json=parentId,proto3,oneof" json:"parent_id,omitempty"`
	// target identifies the task, PR/MR, runtime job, release candidate or transition.
	Target *TargetRef `protobuf:"bytes,5,opt,name=target,proto3" json:"target,omitempty"`
	// project_context carries project/repository/release policy refs.
	ProjectContext *ProjectContextRef `protobuf:"bytes,6,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	// release_candidate_ref points to the release candidate when known.
	ReleaseCandidateRef *string `protobuf:"bytes,7,opt,name=release_candidate_ref,json=releaseCandidateRef,proto3,oneof" json:"release_candidate_ref,omitempty"`
	// release_decision_package_id links release decisions, safety state or evidence back to a package.
	ReleaseDecisionPackageId *string `protobuf:"bytes,8,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3,oneof" json:"release_decision_package_id,omitempty"`
	// risk_class is set for risk assessment summaries.
	RiskClass RiskClass `protobuf:"varint,9,opt,name=risk_class,json=riskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"risk_class,omitempty"`
	// review_outcome is set for review signal summaries.
	ReviewOutcome ReviewSignalOutcome `protobuf:"varint,10,opt,name=review_outcome,json=reviewOutcome,proto3,enum=kodex.governance.v1.ReviewSignalOutcome" json:"review_outcome,omitempty"`
	// gate_request_status is set for gate request summaries.
	GateRequestStatus GateRequestStatus `protobuf:"varint,11,opt,name=gate_request_status,json=gateRequestStatus,proto3,enum=kodex.governance.v1.GateRequestStatus" json:"gate_request_status,omitempty"`
	// gate_outcome is set for gate decision summaries.
	GateOutcome GateOutcome `protobuf:"varint,12,opt,name=gate_outcome,json=gateOutcome,proto3,enum=kodex.governance.v1.GateOutcome" json:"gate_outcome,omitempty"`
	// release_package_status is set for release package summaries.
	ReleasePackageStatus ReleaseDecisionPackageStatus `protobuf:"varint,13,opt,name=release_package_status,json=releasePackageStatus,proto3,enum=kodex.governance.v1.ReleaseDecisionPackageStatus" json:"release_package_status,omitempty"`
	// release_decision_status is set for release decision summaries.
	ReleaseDecisionStatus ReleaseDecisionStatus `protobuf:"varint,14,opt,name=release_decision_status,json=releaseDecisionStatus,proto3,enum=kodex.governance.v1.ReleaseDecisionStatus" json:"release_decision_status,omitempty"`
	// release_decision_outcome is set for release decision summaries.
	ReleaseDecisionOutcome ReleaseDecisionOutcome `protobuf:"varint,15,opt,name=release_decision_outcome,json=releaseDecisionOutcome,proto3,enum=kodex.governance.v1.ReleaseDecisionOutcome" json:"release_decision_outcome,omitempty"`
	// blocking_signal_status is set for blocking signal summaries.
	BlockingSignalStatus BlockingSignalStatus `protobuf:"varint,16,opt,name=blocking_signal_status,json=blockingSignalStatus,proto3,enum=kodex.governance.v1.BlockingSignalStatus" json:"blocking_signal_status,omitempty"`
	// severity is set for review and blocking signal summaries.
	Severity SignalSeverity `protobuf:"varint,17,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity" json:"severity,omitempty"`
	// safe_summary is a bounded explanation without raw provider, prompt, log or secret payloads.
	SafeSummary string `protobuf:"bytes,18,opt,name=safe_summary,json=safeSummary,proto3" json:"safe_summary,omitempty"`
	// evidence_refs are bounded evidence refs included in the item.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,19,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// integration_refs are safe refs from neighboring owner domains.
	IntegrationRefs []*ReleaseIntegrationRef `protobuf:"bytes,20,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	// provider_refs are provider-owned refs embedded in a release package.
	ProviderRefs []*ProviderContextRef `protobuf:"bytes,21,rep,name=provider_refs,json=providerRefs,proto3" json:"provider_refs,omitempty"`
	// runtime_refs are runtime-owned refs embedded in a release package.
	RuntimeRefs []*RuntimeContextRef `protobuf:"bytes,22,rep,name=runtime_refs,json=runtimeRefs,proto3" json:"runtime_refs,omitempty"`
	// agent_context carries safe agent/session/run/acceptance refs.
	AgentContext *AgentContextRef `protobuf:"bytes,23,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	// version is the optimistic concurrency version when the item is versioned.
	Version int64 `protobuf:"varint,24,opt,name=version,proto3" json:"version,omitempty"`
	// created_at is an RFC3339 timestamp when known.
	CreatedAt string `protobuf:"bytes,25,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
	// updated_at is an RFC3339 timestamp when known.
	UpdatedAt string `protobuf:"bytes,26,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
	// observed_at is an owner-domain observation timestamp when known.
	ObservedAt *string `protobuf:"bytes,27,opt,name=observed_at,json=observedAt,proto3,oneof" json:"observed_at,omitempty"`
	// required_gate_count is set for risk summaries when policy requires governance gates.
	RequiredGateCount int32 `protobuf:"varint,28,opt,name=required_gate_count,json=requiredGateCount,proto3" json:"required_gate_count,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *GovernanceDecisionSummary) Reset() {
	*x = GovernanceDecisionSummary{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[33]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceDecisionSummary) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceDecisionSummary) ProtoMessage() {}

func (x *GovernanceDecisionSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[33]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceDecisionSummary.ProtoReflect.Descriptor instead.
func (*GovernanceDecisionSummary) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{33}
}

func (x *GovernanceDecisionSummary) GetKind() GovernanceDecisionSummaryKind {
	if x != nil {
		return x.Kind
	}
	return GovernanceDecisionSummaryKind_GOVERNANCE_DECISION_SUMMARY_KIND_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetAttention() GovernanceDecisionAttention {
	if x != nil {
		return x.Attention
	}
	return GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetId() string {
	if x != nil {
		return x.Id
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetParentId() string {
	if x != nil && x.ParentId != nil {
		return *x.ParentId
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetReleaseCandidateRef() string {
	if x != nil && x.ReleaseCandidateRef != nil {
		return *x.ReleaseCandidateRef
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetReleaseDecisionPackageId() string {
	if x != nil && x.ReleaseDecisionPackageId != nil {
		return *x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetRiskClass() RiskClass {
	if x != nil {
		return x.RiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetReviewOutcome() ReviewSignalOutcome {
	if x != nil {
		return x.ReviewOutcome
	}
	return ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetGateRequestStatus() GateRequestStatus {
	if x != nil {
		return x.GateRequestStatus
	}
	return GateRequestStatus_GATE_REQUEST_STATUS_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetGateOutcome() GateOutcome {
	if x != nil {
		return x.GateOutcome
	}
	return GateOutcome_GATE_OUTCOME_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetReleasePackageStatus() ReleaseDecisionPackageStatus {
	if x != nil {
		return x.ReleasePackageStatus
	}
	return ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetReleaseDecisionStatus() ReleaseDecisionStatus {
	if x != nil {
		return x.ReleaseDecisionStatus
	}
	return ReleaseDecisionStatus_RELEASE_DECISION_STATUS_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetReleaseDecisionOutcome() ReleaseDecisionOutcome {
	if x != nil {
		return x.ReleaseDecisionOutcome
	}
	return ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetBlockingSignalStatus() BlockingSignalStatus {
	if x != nil {
		return x.BlockingSignalStatus
	}
	return BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetSeverity() SignalSeverity {
	if x != nil {
		return x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *GovernanceDecisionSummary) GetSafeSummary() string {
	if x != nil {
		return x.SafeSummary
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetProviderRefs() []*ProviderContextRef {
	if x != nil {
		return x.ProviderRefs
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetRuntimeRefs() []*RuntimeContextRef {
	if x != nil {
		return x.RuntimeRefs
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *GovernanceDecisionSummary) GetVersion() int64 {
	if x != nil {
		return x.Version
	}
	return 0
}

func (x *GovernanceDecisionSummary) GetCreatedAt() string {
	if x != nil {
		return x.CreatedAt
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetUpdatedAt() string {
	if x != nil {
		return x.UpdatedAt
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetObservedAt() string {
	if x != nil && x.ObservedAt != nil {
		return *x.ObservedAt
	}
	return ""
}

func (x *GovernanceDecisionSummary) GetRequiredGateCount() int32 {
	if x != nil {
		return x.RequiredGateCount
	}
	return 0
}

// GovernanceEvidenceSummary is a safe evidence/read-model item derived from evidence_refs or integration_refs.
type GovernanceEvidenceSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// source_kind is a typed kind such as provider.review, agent.acceptance or runtime.job.
	SourceKind string `protobuf:"bytes,1,opt,name=source_kind,json=sourceKind,proto3" json:"source_kind,omitempty"`
	// source_ref points to the owner-domain fact.
	SourceRef string `protobuf:"bytes,2,opt,name=source_ref,json=sourceRef,proto3" json:"source_ref,omitempty"`
	// status is the owner-domain status when supplied.
	Status *string `protobuf:"bytes,3,opt,name=status,proto3,oneof" json:"status,omitempty"`
	// outcome is the governance outcome when supplied.
	Outcome *string `protobuf:"bytes,4,opt,name=outcome,proto3,oneof" json:"outcome,omitempty"`
	// safe_summary is a short bounded summary.
	SafeSummary string `protobuf:"bytes,5,opt,name=safe_summary,json=safeSummary,proto3" json:"safe_summary,omitempty"`
	// error_code is a bounded machine code without logs or raw payloads.
	ErrorCode *string `protobuf:"bytes,6,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	// digest is a safe fingerprint or version digest.
	Digest *string `protobuf:"bytes,7,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	// observed_at is an RFC3339 owner-domain observation timestamp.
	ObservedAt *string `protobuf:"bytes,8,opt,name=observed_at,json=observedAt,proto3,oneof" json:"observed_at,omitempty"`
	// version is an owner-domain version or etag.
	Version *string `protobuf:"bytes,9,opt,name=version,proto3,oneof" json:"version,omitempty"`
	// evidence_refs preserve bounded evidence refs related to this summary.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,10,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// integration_refs preserve bounded owner-domain refs related to this summary.
	IntegrationRefs []*ReleaseIntegrationRef `protobuf:"bytes,11,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GovernanceEvidenceSummary) Reset() {
	*x = GovernanceEvidenceSummary{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[34]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceEvidenceSummary) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceEvidenceSummary) ProtoMessage() {}

func (x *GovernanceEvidenceSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[34]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceEvidenceSummary.ProtoReflect.Descriptor instead.
func (*GovernanceEvidenceSummary) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{34}
}

func (x *GovernanceEvidenceSummary) GetSourceKind() string {
	if x != nil {
		return x.SourceKind
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetSourceRef() string {
	if x != nil {
		return x.SourceRef
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetOutcome() string {
	if x != nil && x.Outcome != nil {
		return *x.Outcome
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetSafeSummary() string {
	if x != nil {
		return x.SafeSummary
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetDigest() string {
	if x != nil && x.Digest != nil {
		return *x.Digest
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetObservedAt() string {
	if x != nil && x.ObservedAt != nil {
		return *x.ObservedAt
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetVersion() string {
	if x != nil && x.Version != nil {
		return *x.Version
	}
	return ""
}

func (x *GovernanceEvidenceSummary) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *GovernanceEvidenceSummary) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

// GovernanceSummary is the domain-prepared read model for owner/staff UI.
type GovernanceSummary struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// scope echoes the safe scope used to build the summary.
	Scope *GovernanceSummaryScope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	// pending_decisions are items that still require action or indicate an active block.
	PendingDecisions []*GovernanceDecisionSummary `protobuf:"bytes,2,rep,name=pending_decisions,json=pendingDecisions,proto3" json:"pending_decisions,omitempty"`
	// completed_decisions are terminal, resolved or informational decision facts.
	CompletedDecisions []*GovernanceDecisionSummary `protobuf:"bytes,3,rep,name=completed_decisions,json=completedDecisions,proto3" json:"completed_decisions,omitempty"`
	// evidence_summaries contain bounded linked provider, agent, runtime and governance refs.
	EvidenceSummaries []*GovernanceEvidenceSummary `protobuf:"bytes,4,rep,name=evidence_summaries,json=evidenceSummaries,proto3" json:"evidence_summaries,omitempty"`
	// diagnostics are safe machine-readable notes about partial or missing linked state.
	Diagnostics []string `protobuf:"bytes,5,rep,name=diagnostics,proto3" json:"diagnostics,omitempty"`
	// status summarizes live risk, gate and blocking state without raw payloads.
	Status        *GovernanceSummaryStatus `protobuf:"bytes,6,opt,name=status,proto3" json:"status,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GovernanceSummary) Reset() {
	*x = GovernanceSummary{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[35]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceSummary) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceSummary) ProtoMessage() {}

func (x *GovernanceSummary) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[35]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceSummary.ProtoReflect.Descriptor instead.
func (*GovernanceSummary) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{35}
}

func (x *GovernanceSummary) GetScope() *GovernanceSummaryScope {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *GovernanceSummary) GetPendingDecisions() []*GovernanceDecisionSummary {
	if x != nil {
		return x.PendingDecisions
	}
	return nil
}

func (x *GovernanceSummary) GetCompletedDecisions() []*GovernanceDecisionSummary {
	if x != nil {
		return x.CompletedDecisions
	}
	return nil
}

func (x *GovernanceSummary) GetEvidenceSummaries() []*GovernanceEvidenceSummary {
	if x != nil {
		return x.EvidenceSummaries
	}
	return nil
}

func (x *GovernanceSummary) GetDiagnostics() []string {
	if x != nil {
		return x.Diagnostics
	}
	return nil
}

func (x *GovernanceSummary) GetStatus() *GovernanceSummaryStatus {
	if x != nil {
		return x.Status
	}
	return nil
}

type RiskRuleDraft struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	RuleKind             RiskRuleKind           `protobuf:"varint,1,opt,name=rule_kind,json=ruleKind,proto3,enum=kodex.governance.v1.RiskRuleKind" json:"rule_kind,omitempty"`
	MatcherJson          string                 `protobuf:"bytes,2,opt,name=matcher_json,json=matcherJson,proto3" json:"matcher_json,omitempty"`
	MinRiskClass         RiskClass              `protobuf:"varint,3,opt,name=min_risk_class,json=minRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"min_risk_class,omitempty"`
	RequiredGatePolicyId *string                `protobuf:"bytes,4,opt,name=required_gate_policy_id,json=requiredGatePolicyId,proto3,oneof" json:"required_gate_policy_id,omitempty"`
	ReasonTemplate       []*LocalizedText       `protobuf:"bytes,5,rep,name=reason_template,json=reasonTemplate,proto3" json:"reason_template,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *RiskRuleDraft) Reset() {
	*x = RiskRuleDraft{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[36]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskRuleDraft) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskRuleDraft) ProtoMessage() {}

func (x *RiskRuleDraft) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[36]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskRuleDraft.ProtoReflect.Descriptor instead.
func (*RiskRuleDraft) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{36}
}

func (x *RiskRuleDraft) GetRuleKind() RiskRuleKind {
	if x != nil {
		return x.RuleKind
	}
	return RiskRuleKind_RISK_RULE_KIND_UNSPECIFIED
}

func (x *RiskRuleDraft) GetMatcherJson() string {
	if x != nil {
		return x.MatcherJson
	}
	return ""
}

func (x *RiskRuleDraft) GetMinRiskClass() RiskClass {
	if x != nil {
		return x.MinRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *RiskRuleDraft) GetRequiredGatePolicyId() string {
	if x != nil && x.RequiredGatePolicyId != nil {
		return *x.RequiredGatePolicyId
	}
	return ""
}

func (x *RiskRuleDraft) GetReasonTemplate() []*LocalizedText {
	if x != nil {
		return x.ReasonTemplate
	}
	return nil
}

type GatePolicyDraft struct {
	state                  protoimpl.MessageState `protogen:"open.v1"`
	GateKind               GateKind               `protobuf:"varint,1,opt,name=gate_kind,json=gateKind,proto3,enum=kodex.governance.v1.GateKind" json:"gate_kind,omitempty"`
	MinRiskClass           RiskClass              `protobuf:"varint,2,opt,name=min_risk_class,json=minRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"min_risk_class,omitempty"`
	RequiredActorPolicyRef string                 `protobuf:"bytes,3,opt,name=required_actor_policy_ref,json=requiredActorPolicyRef,proto3" json:"required_actor_policy_ref,omitempty"`
	RequiredSignalKinds    []string               `protobuf:"bytes,4,rep,name=required_signal_kinds,json=requiredSignalKinds,proto3" json:"required_signal_kinds,omitempty"`
	TimeoutPolicyRef       *string                `protobuf:"bytes,5,opt,name=timeout_policy_ref,json=timeoutPolicyRef,proto3,oneof" json:"timeout_policy_ref,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *GatePolicyDraft) Reset() {
	*x = GatePolicyDraft{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[37]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GatePolicyDraft) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GatePolicyDraft) ProtoMessage() {}

func (x *GatePolicyDraft) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[37]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GatePolicyDraft.ProtoReflect.Descriptor instead.
func (*GatePolicyDraft) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{37}
}

func (x *GatePolicyDraft) GetGateKind() GateKind {
	if x != nil {
		return x.GateKind
	}
	return GateKind_GATE_KIND_UNSPECIFIED
}

func (x *GatePolicyDraft) GetMinRiskClass() RiskClass {
	if x != nil {
		return x.MinRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *GatePolicyDraft) GetRequiredActorPolicyRef() string {
	if x != nil {
		return x.RequiredActorPolicyRef
	}
	return ""
}

func (x *GatePolicyDraft) GetRequiredSignalKinds() []string {
	if x != nil {
		return x.RequiredSignalKinds
	}
	return nil
}

func (x *GatePolicyDraft) GetTimeoutPolicyRef() string {
	if x != nil && x.TimeoutPolicyRef != nil {
		return *x.TimeoutPolicyRef
	}
	return ""
}

type CreateRiskProfileRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Scope         *ScopeRef              `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	Slug          string                 `protobuf:"bytes,2,opt,name=slug,proto3" json:"slug,omitempty"`
	DisplayName   []*LocalizedText       `protobuf:"bytes,3,rep,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	Description   []*LocalizedText       `protobuf:"bytes,4,rep,name=description,proto3" json:"description,omitempty"`
	Meta          *CommandMeta           `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateRiskProfileRequest) Reset() {
	*x = CreateRiskProfileRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[38]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateRiskProfileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateRiskProfileRequest) ProtoMessage() {}

func (x *CreateRiskProfileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[38]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateRiskProfileRequest.ProtoReflect.Descriptor instead.
func (*CreateRiskProfileRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{38}
}

func (x *CreateRiskProfileRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *CreateRiskProfileRequest) GetSlug() string {
	if x != nil {
		return x.Slug
	}
	return ""
}

func (x *CreateRiskProfileRequest) GetDisplayName() []*LocalizedText {
	if x != nil {
		return x.DisplayName
	}
	return nil
}

func (x *CreateRiskProfileRequest) GetDescription() []*LocalizedText {
	if x != nil {
		return x.Description
	}
	return nil
}

func (x *CreateRiskProfileRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CreateRiskProfileVersionRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	Rules         []*RiskRuleDraft       `protobuf:"bytes,2,rep,name=rules,proto3" json:"rules,omitempty"`
	GatePolicies  []*GatePolicyDraft     `protobuf:"bytes,3,rep,name=gate_policies,json=gatePolicies,proto3" json:"gate_policies,omitempty"`
	ChangeSummary string                 `protobuf:"bytes,4,opt,name=change_summary,json=changeSummary,proto3" json:"change_summary,omitempty"`
	Meta          *CommandMeta           `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreateRiskProfileVersionRequest) Reset() {
	*x = CreateRiskProfileVersionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[39]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CreateRiskProfileVersionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CreateRiskProfileVersionRequest) ProtoMessage() {}

func (x *CreateRiskProfileVersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[39]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CreateRiskProfileVersionRequest.ProtoReflect.Descriptor instead.
func (*CreateRiskProfileVersionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{39}
}

func (x *CreateRiskProfileVersionRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *CreateRiskProfileVersionRequest) GetRules() []*RiskRuleDraft {
	if x != nil {
		return x.Rules
	}
	return nil
}

func (x *CreateRiskProfileVersionRequest) GetGatePolicies() []*GatePolicyDraft {
	if x != nil {
		return x.GatePolicies
	}
	return nil
}

func (x *CreateRiskProfileVersionRequest) GetChangeSummary() string {
	if x != nil {
		return x.ChangeSummary
	}
	return ""
}

func (x *CreateRiskProfileVersionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ActivateRiskProfileVersionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId  string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	ProfileVersion int64                  `protobuf:"varint,2,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	Meta           *CommandMeta           `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ActivateRiskProfileVersionRequest) Reset() {
	*x = ActivateRiskProfileVersionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[40]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ActivateRiskProfileVersionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ActivateRiskProfileVersionRequest) ProtoMessage() {}

func (x *ActivateRiskProfileVersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[40]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ActivateRiskProfileVersionRequest.ProtoReflect.Descriptor instead.
func (*ActivateRiskProfileVersionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{40}
}

func (x *ActivateRiskProfileVersionRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *ActivateRiskProfileVersionRequest) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *ActivateRiskProfileVersionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ArchiveRiskProfileRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	Meta          *CommandMeta           `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ArchiveRiskProfileRequest) Reset() {
	*x = ArchiveRiskProfileRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[41]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ArchiveRiskProfileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ArchiveRiskProfileRequest) ProtoMessage() {}

func (x *ArchiveRiskProfileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[41]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ArchiveRiskProfileRequest.ProtoReflect.Descriptor instead.
func (*ArchiveRiskProfileRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{41}
}

func (x *ArchiveRiskProfileRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *ArchiveRiskProfileRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetRiskProfileRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	Meta          *QueryMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetRiskProfileRequest) Reset() {
	*x = GetRiskProfileRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[42]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetRiskProfileRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetRiskProfileRequest) ProtoMessage() {}

func (x *GetRiskProfileRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[42]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRiskProfileRequest.ProtoReflect.Descriptor instead.
func (*GetRiskProfileRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{42}
}

func (x *GetRiskProfileRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *GetRiskProfileRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetRiskProfileVersionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId  string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	ProfileVersion int64                  `protobuf:"varint,2,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	Meta           *QueryMeta             `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *GetRiskProfileVersionRequest) Reset() {
	*x = GetRiskProfileVersionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[43]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetRiskProfileVersionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetRiskProfileVersionRequest) ProtoMessage() {}

func (x *GetRiskProfileVersionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[43]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRiskProfileVersionRequest.ProtoReflect.Descriptor instead.
func (*GetRiskProfileVersionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{43}
}

func (x *GetRiskProfileVersionRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *GetRiskProfileVersionRequest) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *GetRiskProfileVersionRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRiskProfilesRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Scope         *ScopeRef              `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	Status        *RiskProfileStatus     `protobuf:"varint,2,opt,name=status,proto3,enum=kodex.governance.v1.RiskProfileStatus,oneof" json:"status,omitempty"`
	Page          *PageRequest           `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	Meta          *QueryMeta             `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRiskProfilesRequest) Reset() {
	*x = ListRiskProfilesRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[44]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskProfilesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskProfilesRequest) ProtoMessage() {}

func (x *ListRiskProfilesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[44]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskProfilesRequest.ProtoReflect.Descriptor instead.
func (*ListRiskProfilesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{44}
}

func (x *ListRiskProfilesRequest) GetScope() *ScopeRef {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *ListRiskProfilesRequest) GetStatus() RiskProfileStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return RiskProfileStatus_RISK_PROFILE_STATUS_UNSPECIFIED
}

func (x *ListRiskProfilesRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListRiskProfilesRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRiskRulesRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId  string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	ProfileVersion int64                  `protobuf:"varint,2,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	RuleKind       *RiskRuleKind          `protobuf:"varint,3,opt,name=rule_kind,json=ruleKind,proto3,enum=kodex.governance.v1.RiskRuleKind,oneof" json:"rule_kind,omitempty"`
	Status         *RuleStatus            `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.governance.v1.RuleStatus,oneof" json:"status,omitempty"`
	Page           *PageRequest           `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	Meta           *QueryMeta             `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ListRiskRulesRequest) Reset() {
	*x = ListRiskRulesRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[45]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskRulesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskRulesRequest) ProtoMessage() {}

func (x *ListRiskRulesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[45]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskRulesRequest.ProtoReflect.Descriptor instead.
func (*ListRiskRulesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{45}
}

func (x *ListRiskRulesRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *ListRiskRulesRequest) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *ListRiskRulesRequest) GetRuleKind() RiskRuleKind {
	if x != nil && x.RuleKind != nil {
		return *x.RuleKind
	}
	return RiskRuleKind_RISK_RULE_KIND_UNSPECIFIED
}

func (x *ListRiskRulesRequest) GetStatus() RuleStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return RuleStatus_RULE_STATUS_UNSPECIFIED
}

func (x *ListRiskRulesRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListRiskRulesRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListGatePoliciesRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileId  string                 `protobuf:"bytes,1,opt,name=risk_profile_id,json=riskProfileId,proto3" json:"risk_profile_id,omitempty"`
	ProfileVersion int64                  `protobuf:"varint,2,opt,name=profile_version,json=profileVersion,proto3" json:"profile_version,omitempty"`
	GateKind       *GateKind              `protobuf:"varint,3,opt,name=gate_kind,json=gateKind,proto3,enum=kodex.governance.v1.GateKind,oneof" json:"gate_kind,omitempty"`
	Status         *RuleStatus            `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.governance.v1.RuleStatus,oneof" json:"status,omitempty"`
	Page           *PageRequest           `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	Meta           *QueryMeta             `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ListGatePoliciesRequest) Reset() {
	*x = ListGatePoliciesRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[46]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGatePoliciesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGatePoliciesRequest) ProtoMessage() {}

func (x *ListGatePoliciesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[46]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGatePoliciesRequest.ProtoReflect.Descriptor instead.
func (*ListGatePoliciesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{46}
}

func (x *ListGatePoliciesRequest) GetRiskProfileId() string {
	if x != nil {
		return x.RiskProfileId
	}
	return ""
}

func (x *ListGatePoliciesRequest) GetProfileVersion() int64 {
	if x != nil {
		return x.ProfileVersion
	}
	return 0
}

func (x *ListGatePoliciesRequest) GetGateKind() GateKind {
	if x != nil && x.GateKind != nil {
		return *x.GateKind
	}
	return GateKind_GATE_KIND_UNSPECIFIED
}

func (x *ListGatePoliciesRequest) GetStatus() RuleStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return RuleStatus_RULE_STATUS_UNSPECIFIED
}

func (x *ListGatePoliciesRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListGatePoliciesRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type EvaluateRiskRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	Target          *TargetRef             `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	ProjectContext  *ProjectContextRef     `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	ProviderContext *ProviderContextRef    `protobuf:"bytes,3,opt,name=provider_context,json=providerContext,proto3" json:"provider_context,omitempty"`
	AgentContext    *AgentContextRef       `protobuf:"bytes,4,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	RuntimeContext  *RuntimeContextRef     `protobuf:"bytes,5,opt,name=runtime_context,json=runtimeContext,proto3" json:"runtime_context,omitempty"`
	EvidenceRefs    []*EvidenceRef         `protobuf:"bytes,6,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// risk_profile_ref points to governance risk profile id or ref supplied by project-catalog policy.
	RiskProfileRef *string      `protobuf:"bytes,7,opt,name=risk_profile_ref,json=riskProfileRef,proto3,oneof" json:"risk_profile_ref,omitempty"`
	Meta           *CommandMeta `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	// evaluation_summary contains bounded safe factors used by the local classifier.
	EvaluationSummary *RiskEvaluationSummary `protobuf:"bytes,9,opt,name=evaluation_summary,json=evaluationSummary,proto3" json:"evaluation_summary,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *EvaluateRiskRequest) Reset() {
	*x = EvaluateRiskRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[47]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *EvaluateRiskRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*EvaluateRiskRequest) ProtoMessage() {}

func (x *EvaluateRiskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[47]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use EvaluateRiskRequest.ProtoReflect.Descriptor instead.
func (*EvaluateRiskRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{47}
}

func (x *EvaluateRiskRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *EvaluateRiskRequest) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *EvaluateRiskRequest) GetProviderContext() *ProviderContextRef {
	if x != nil {
		return x.ProviderContext
	}
	return nil
}

func (x *EvaluateRiskRequest) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *EvaluateRiskRequest) GetRuntimeContext() *RuntimeContextRef {
	if x != nil {
		return x.RuntimeContext
	}
	return nil
}

func (x *EvaluateRiskRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *EvaluateRiskRequest) GetRiskProfileRef() string {
	if x != nil && x.RiskProfileRef != nil {
		return *x.RiskProfileRef
	}
	return ""
}

func (x *EvaluateRiskRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *EvaluateRiskRequest) GetEvaluationSummary() *RiskEvaluationSummary {
	if x != nil {
		return x.EvaluationSummary
	}
	return nil
}

type ReevaluateRiskRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessmentId   string                 `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3" json:"risk_assessment_id,omitempty"`
	NewEvidenceRefs    []*EvidenceRef         `protobuf:"bytes,2,rep,name=new_evidence_refs,json=newEvidenceRefs,proto3" json:"new_evidence_refs,omitempty"`
	ReevaluationReason string                 `protobuf:"bytes,3,opt,name=reevaluation_reason,json=reevaluationReason,proto3" json:"reevaluation_reason,omitempty"`
	Meta               *CommandMeta           `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	// evaluation_summary replaces the stored safe classifier input when present.
	EvaluationSummary *RiskEvaluationSummary `protobuf:"bytes,5,opt,name=evaluation_summary,json=evaluationSummary,proto3" json:"evaluation_summary,omitempty"`
	// risk_profile_ref optionally switches to a newer governance risk profile for this recalculation.
	RiskProfileRef *string `protobuf:"bytes,6,opt,name=risk_profile_ref,json=riskProfileRef,proto3,oneof" json:"risk_profile_ref,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *ReevaluateRiskRequest) Reset() {
	*x = ReevaluateRiskRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[48]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReevaluateRiskRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReevaluateRiskRequest) ProtoMessage() {}

func (x *ReevaluateRiskRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[48]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReevaluateRiskRequest.ProtoReflect.Descriptor instead.
func (*ReevaluateRiskRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{48}
}

func (x *ReevaluateRiskRequest) GetRiskAssessmentId() string {
	if x != nil {
		return x.RiskAssessmentId
	}
	return ""
}

func (x *ReevaluateRiskRequest) GetNewEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.NewEvidenceRefs
	}
	return nil
}

func (x *ReevaluateRiskRequest) GetReevaluationReason() string {
	if x != nil {
		return x.ReevaluationReason
	}
	return ""
}

func (x *ReevaluateRiskRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *ReevaluateRiskRequest) GetEvaluationSummary() *RiskEvaluationSummary {
	if x != nil {
		return x.EvaluationSummary
	}
	return nil
}

func (x *ReevaluateRiskRequest) GetRiskProfileRef() string {
	if x != nil && x.RiskProfileRef != nil {
		return *x.RiskProfileRef
	}
	return ""
}

type GetRiskAssessmentRequest struct {
	state                protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessmentId     string                 `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3" json:"risk_assessment_id,omitempty"`
	IncludeFactors       bool                   `protobuf:"varint,2,opt,name=include_factors,json=includeFactors,proto3" json:"include_factors,omitempty"`
	IncludeReviewSignals bool                   `protobuf:"varint,3,opt,name=include_review_signals,json=includeReviewSignals,proto3" json:"include_review_signals,omitempty"`
	Meta                 *QueryMeta             `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

func (x *GetRiskAssessmentRequest) Reset() {
	*x = GetRiskAssessmentRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[49]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetRiskAssessmentRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetRiskAssessmentRequest) ProtoMessage() {}

func (x *GetRiskAssessmentRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[49]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetRiskAssessmentRequest.ProtoReflect.Descriptor instead.
func (*GetRiskAssessmentRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{49}
}

func (x *GetRiskAssessmentRequest) GetRiskAssessmentId() string {
	if x != nil {
		return x.RiskAssessmentId
	}
	return ""
}

func (x *GetRiskAssessmentRequest) GetIncludeFactors() bool {
	if x != nil {
		return x.IncludeFactors
	}
	return false
}

func (x *GetRiskAssessmentRequest) GetIncludeReviewSignals() bool {
	if x != nil {
		return x.IncludeReviewSignals
	}
	return false
}

func (x *GetRiskAssessmentRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRiskAssessmentsRequest struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	Target             *TargetRef             `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	ProjectContext     *ProjectContextRef     `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	EffectiveRiskClass *RiskClass             `protobuf:"varint,3,opt,name=effective_risk_class,json=effectiveRiskClass,proto3,enum=kodex.governance.v1.RiskClass,oneof" json:"effective_risk_class,omitempty"`
	Status             *RiskAssessmentStatus  `protobuf:"varint,4,opt,name=status,proto3,enum=kodex.governance.v1.RiskAssessmentStatus,oneof" json:"status,omitempty"`
	Page               *PageRequest           `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	Meta               *QueryMeta             `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ListRiskAssessmentsRequest) Reset() {
	*x = ListRiskAssessmentsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[50]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskAssessmentsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskAssessmentsRequest) ProtoMessage() {}

func (x *ListRiskAssessmentsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[50]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskAssessmentsRequest.ProtoReflect.Descriptor instead.
func (*ListRiskAssessmentsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{50}
}

func (x *ListRiskAssessmentsRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ListRiskAssessmentsRequest) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *ListRiskAssessmentsRequest) GetEffectiveRiskClass() RiskClass {
	if x != nil && x.EffectiveRiskClass != nil {
		return *x.EffectiveRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *ListRiskAssessmentsRequest) GetStatus() RiskAssessmentStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return RiskAssessmentStatus_RISK_ASSESSMENT_STATUS_UNSPECIFIED
}

func (x *ListRiskAssessmentsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListRiskAssessmentsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListRiskFactorsRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessmentId string                 `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3" json:"risk_assessment_id,omitempty"`
	SourceType       *RiskFactorSourceType  `protobuf:"varint,2,opt,name=source_type,json=sourceType,proto3,enum=kodex.governance.v1.RiskFactorSourceType,oneof" json:"source_type,omitempty"`
	Page             *PageRequest           `protobuf:"bytes,3,opt,name=page,proto3" json:"page,omitempty"`
	Meta             *QueryMeta             `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListRiskFactorsRequest) Reset() {
	*x = ListRiskFactorsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[51]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskFactorsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskFactorsRequest) ProtoMessage() {}

func (x *ListRiskFactorsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[51]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskFactorsRequest.ProtoReflect.Descriptor instead.
func (*ListRiskFactorsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{51}
}

func (x *ListRiskFactorsRequest) GetRiskAssessmentId() string {
	if x != nil {
		return x.RiskAssessmentId
	}
	return ""
}

func (x *ListRiskFactorsRequest) GetSourceType() RiskFactorSourceType {
	if x != nil && x.SourceType != nil {
		return *x.SourceType
	}
	return RiskFactorSourceType_RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED
}

func (x *ListRiskFactorsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListRiskFactorsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RecordReviewSignalRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessmentId *string                `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	Target           *TargetRef             `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	RoleKind         ReviewRoleKind         `protobuf:"varint,3,opt,name=role_kind,json=roleKind,proto3,enum=kodex.governance.v1.ReviewRoleKind" json:"role_kind,omitempty"`
	AuthorRef        string                 `protobuf:"bytes,4,opt,name=author_ref,json=authorRef,proto3" json:"author_ref,omitempty"`
	Outcome          ReviewSignalOutcome    `protobuf:"varint,5,opt,name=outcome,proto3,enum=kodex.governance.v1.ReviewSignalOutcome" json:"outcome,omitempty"`
	Severity         SignalSeverity         `protobuf:"varint,6,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity" json:"severity,omitempty"`
	Confidence       *Confidence            `protobuf:"varint,7,opt,name=confidence,proto3,enum=kodex.governance.v1.Confidence,oneof" json:"confidence,omitempty"`
	EvidenceRefs     []*EvidenceRef         `protobuf:"bytes,8,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	Summary          string                 `protobuf:"bytes,9,opt,name=summary,proto3" json:"summary,omitempty"`
	Meta             *CommandMeta           `protobuf:"bytes,10,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *RecordReviewSignalRequest) Reset() {
	*x = RecordReviewSignalRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[52]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecordReviewSignalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecordReviewSignalRequest) ProtoMessage() {}

func (x *RecordReviewSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[52]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecordReviewSignalRequest.ProtoReflect.Descriptor instead.
func (*RecordReviewSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{52}
}

func (x *RecordReviewSignalRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *RecordReviewSignalRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *RecordReviewSignalRequest) GetRoleKind() ReviewRoleKind {
	if x != nil {
		return x.RoleKind
	}
	return ReviewRoleKind_REVIEW_ROLE_KIND_UNSPECIFIED
}

func (x *RecordReviewSignalRequest) GetAuthorRef() string {
	if x != nil {
		return x.AuthorRef
	}
	return ""
}

func (x *RecordReviewSignalRequest) GetOutcome() ReviewSignalOutcome {
	if x != nil {
		return x.Outcome
	}
	return ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_UNSPECIFIED
}

func (x *RecordReviewSignalRequest) GetSeverity() SignalSeverity {
	if x != nil {
		return x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *RecordReviewSignalRequest) GetConfidence() Confidence {
	if x != nil && x.Confidence != nil {
		return *x.Confidence
	}
	return Confidence_CONFIDENCE_UNSPECIFIED
}

func (x *RecordReviewSignalRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *RecordReviewSignalRequest) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *RecordReviewSignalRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListReviewSignalsRequest struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessmentId *string                `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	Target           *TargetRef             `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	RoleKind         *ReviewRoleKind        `protobuf:"varint,3,opt,name=role_kind,json=roleKind,proto3,enum=kodex.governance.v1.ReviewRoleKind,oneof" json:"role_kind,omitempty"`
	Outcome          *ReviewSignalOutcome   `protobuf:"varint,4,opt,name=outcome,proto3,enum=kodex.governance.v1.ReviewSignalOutcome,oneof" json:"outcome,omitempty"`
	Page             *PageRequest           `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	Meta             *QueryMeta             `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListReviewSignalsRequest) Reset() {
	*x = ListReviewSignalsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[53]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReviewSignalsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReviewSignalsRequest) ProtoMessage() {}

func (x *ListReviewSignalsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[53]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReviewSignalsRequest.ProtoReflect.Descriptor instead.
func (*ListReviewSignalsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{53}
}

func (x *ListReviewSignalsRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *ListReviewSignalsRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ListReviewSignalsRequest) GetRoleKind() ReviewRoleKind {
	if x != nil && x.RoleKind != nil {
		return *x.RoleKind
	}
	return ReviewRoleKind_REVIEW_ROLE_KIND_UNSPECIFIED
}

func (x *ListReviewSignalsRequest) GetOutcome() ReviewSignalOutcome {
	if x != nil && x.Outcome != nil {
		return *x.Outcome
	}
	return ReviewSignalOutcome_REVIEW_SIGNAL_OUTCOME_UNSPECIFIED
}

func (x *ListReviewSignalsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListReviewSignalsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RequestGateRequest struct {
	state                  protoimpl.MessageState  `protogen:"open.v1"`
	RiskAssessmentId       *string                 `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	GatePolicyId           *string                 `protobuf:"bytes,2,opt,name=gate_policy_id,json=gatePolicyId,proto3,oneof" json:"gate_policy_id,omitempty"`
	Target                 *TargetRef              `protobuf:"bytes,3,opt,name=target,proto3" json:"target,omitempty"`
	InteractionDeliveryRef *InteractionDeliveryRef `protobuf:"bytes,4,opt,name=interaction_delivery_ref,json=interactionDeliveryRef,proto3" json:"interaction_delivery_ref,omitempty"`
	EvidenceRefs           []*EvidenceRef          `protobuf:"bytes,5,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	EvidenceSummary        string                  `protobuf:"bytes,6,opt,name=evidence_summary,json=evidenceSummary,proto3" json:"evidence_summary,omitempty"`
	DeadlineAt             *string                 `protobuf:"bytes,7,opt,name=deadline_at,json=deadlineAt,proto3,oneof" json:"deadline_at,omitempty"`
	Meta                   *CommandMeta            `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *RequestGateRequest) Reset() {
	*x = RequestGateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[54]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RequestGateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RequestGateRequest) ProtoMessage() {}

func (x *RequestGateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[54]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RequestGateRequest.ProtoReflect.Descriptor instead.
func (*RequestGateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{54}
}

func (x *RequestGateRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *RequestGateRequest) GetGatePolicyId() string {
	if x != nil && x.GatePolicyId != nil {
		return *x.GatePolicyId
	}
	return ""
}

func (x *RequestGateRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *RequestGateRequest) GetInteractionDeliveryRef() *InteractionDeliveryRef {
	if x != nil {
		return x.InteractionDeliveryRef
	}
	return nil
}

func (x *RequestGateRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *RequestGateRequest) GetEvidenceSummary() string {
	if x != nil {
		return x.EvidenceSummary
	}
	return ""
}

func (x *RequestGateRequest) GetDeadlineAt() string {
	if x != nil && x.DeadlineAt != nil {
		return *x.DeadlineAt
	}
	return ""
}

func (x *RequestGateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type SubmitGateDecisionRequest struct {
	state                  protoimpl.MessageState  `protogen:"open.v1"`
	GateRequestId          string                  `protobuf:"bytes,1,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	DecisionActorRef       string                  `protobuf:"bytes,2,opt,name=decision_actor_ref,json=decisionActorRef,proto3" json:"decision_actor_ref,omitempty"`
	DecisionPolicyRef      string                  `protobuf:"bytes,3,opt,name=decision_policy_ref,json=decisionPolicyRef,proto3" json:"decision_policy_ref,omitempty"`
	Outcome                GateOutcome             `protobuf:"varint,4,opt,name=outcome,proto3,enum=kodex.governance.v1.GateOutcome" json:"outcome,omitempty"`
	Reason                 string                  `protobuf:"bytes,5,opt,name=reason,proto3" json:"reason,omitempty"`
	ConditionsSummary      *string                 `protobuf:"bytes,6,opt,name=conditions_summary,json=conditionsSummary,proto3,oneof" json:"conditions_summary,omitempty"`
	InteractionDeliveryRef *InteractionDeliveryRef `protobuf:"bytes,7,opt,name=interaction_delivery_ref,json=interactionDeliveryRef,proto3" json:"interaction_delivery_ref,omitempty"`
	Meta                   *CommandMeta            `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *SubmitGateDecisionRequest) Reset() {
	*x = SubmitGateDecisionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[55]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubmitGateDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubmitGateDecisionRequest) ProtoMessage() {}

func (x *SubmitGateDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[55]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubmitGateDecisionRequest.ProtoReflect.Descriptor instead.
func (*SubmitGateDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{55}
}

func (x *SubmitGateDecisionRequest) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

func (x *SubmitGateDecisionRequest) GetDecisionActorRef() string {
	if x != nil {
		return x.DecisionActorRef
	}
	return ""
}

func (x *SubmitGateDecisionRequest) GetDecisionPolicyRef() string {
	if x != nil {
		return x.DecisionPolicyRef
	}
	return ""
}

func (x *SubmitGateDecisionRequest) GetOutcome() GateOutcome {
	if x != nil {
		return x.Outcome
	}
	return GateOutcome_GATE_OUTCOME_UNSPECIFIED
}

func (x *SubmitGateDecisionRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *SubmitGateDecisionRequest) GetConditionsSummary() string {
	if x != nil && x.ConditionsSummary != nil {
		return *x.ConditionsSummary
	}
	return ""
}

func (x *SubmitGateDecisionRequest) GetInteractionDeliveryRef() *InteractionDeliveryRef {
	if x != nil {
		return x.InteractionDeliveryRef
	}
	return nil
}

func (x *SubmitGateDecisionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type CancelGateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateRequestId string                 `protobuf:"bytes,1,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	// reason is a bounded safe summary; it must not contain raw provider payload, logs or secrets.
	Reason                 string                  `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	InteractionDeliveryRef *InteractionDeliveryRef `protobuf:"bytes,3,opt,name=interaction_delivery_ref,json=interactionDeliveryRef,proto3" json:"interaction_delivery_ref,omitempty"`
	Meta                   *CommandMeta            `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *CancelGateRequest) Reset() {
	*x = CancelGateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[56]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *CancelGateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*CancelGateRequest) ProtoMessage() {}

func (x *CancelGateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[56]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use CancelGateRequest.ProtoReflect.Descriptor instead.
func (*CancelGateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{56}
}

func (x *CancelGateRequest) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

func (x *CancelGateRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *CancelGateRequest) GetInteractionDeliveryRef() *InteractionDeliveryRef {
	if x != nil {
		return x.InteractionDeliveryRef
	}
	return nil
}

func (x *CancelGateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ExpireGateRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateRequestId string                 `protobuf:"bytes,1,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	// reason is a bounded safe summary; it must not contain raw provider payload, logs or secrets.
	Reason                 string                  `protobuf:"bytes,2,opt,name=reason,proto3" json:"reason,omitempty"`
	InteractionDeliveryRef *InteractionDeliveryRef `protobuf:"bytes,3,opt,name=interaction_delivery_ref,json=interactionDeliveryRef,proto3" json:"interaction_delivery_ref,omitempty"`
	Meta                   *CommandMeta            `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ExpireGateRequest) Reset() {
	*x = ExpireGateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[57]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ExpireGateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ExpireGateRequest) ProtoMessage() {}

func (x *ExpireGateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[57]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ExpireGateRequest.ProtoReflect.Descriptor instead.
func (*ExpireGateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{57}
}

func (x *ExpireGateRequest) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

func (x *ExpireGateRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *ExpireGateRequest) GetInteractionDeliveryRef() *InteractionDeliveryRef {
	if x != nil {
		return x.InteractionDeliveryRef
	}
	return nil
}

func (x *ExpireGateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetGateDecisionRequest struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	GateDecisionId string                 `protobuf:"bytes,1,opt,name=gate_decision_id,json=gateDecisionId,proto3" json:"gate_decision_id,omitempty"`
	Meta           *QueryMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	// gate_request_id is required for fail-closed authorization before reading the decision row.
	GateRequestId string `protobuf:"bytes,3,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGateDecisionRequest) Reset() {
	*x = GetGateDecisionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[58]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetGateDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetGateDecisionRequest) ProtoMessage() {}

func (x *GetGateDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[58]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGateDecisionRequest.ProtoReflect.Descriptor instead.
func (*GetGateDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{58}
}

func (x *GetGateDecisionRequest) GetGateDecisionId() string {
	if x != nil {
		return x.GateDecisionId
	}
	return ""
}

func (x *GetGateDecisionRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *GetGateDecisionRequest) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

type ListGateDecisionsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// gate_request_id is one accepted fail-closed authorization context.
	GateRequestId *string `protobuf:"bytes,1,opt,name=gate_request_id,json=gateRequestId,proto3,oneof" json:"gate_request_id,omitempty"`
	// target is one accepted fail-closed authorization context.
	Target *TargetRef `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// outcome refines a gate request or target query; it is not a standalone authorization context.
	Outcome       *GateOutcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=kodex.governance.v1.GateOutcome,oneof" json:"outcome,omitempty"`
	Page          *PageRequest `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	Meta          *QueryMeta   `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListGateDecisionsRequest) Reset() {
	*x = ListGateDecisionsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[59]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGateDecisionsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGateDecisionsRequest) ProtoMessage() {}

func (x *ListGateDecisionsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[59]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGateDecisionsRequest.ProtoReflect.Descriptor instead.
func (*ListGateDecisionsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{59}
}

func (x *ListGateDecisionsRequest) GetGateRequestId() string {
	if x != nil && x.GateRequestId != nil {
		return *x.GateRequestId
	}
	return ""
}

func (x *ListGateDecisionsRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ListGateDecisionsRequest) GetOutcome() GateOutcome {
	if x != nil && x.Outcome != nil {
		return *x.Outcome
	}
	return GateOutcome_GATE_OUTCOME_UNSPECIFIED
}

func (x *ListGateDecisionsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListGateDecisionsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetGateRequestRequest struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	GateRequestId   string                 `protobuf:"bytes,1,opt,name=gate_request_id,json=gateRequestId,proto3" json:"gate_request_id,omitempty"`
	IncludeDecision bool                   `protobuf:"varint,2,opt,name=include_decision,json=includeDecision,proto3" json:"include_decision,omitempty"`
	Meta            *QueryMeta             `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *GetGateRequestRequest) Reset() {
	*x = GetGateRequestRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[60]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetGateRequestRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetGateRequestRequest) ProtoMessage() {}

func (x *GetGateRequestRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[60]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGateRequestRequest.ProtoReflect.Descriptor instead.
func (*GetGateRequestRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{60}
}

func (x *GetGateRequestRequest) GetGateRequestId() string {
	if x != nil {
		return x.GateRequestId
	}
	return ""
}

func (x *GetGateRequestRequest) GetIncludeDecision() bool {
	if x != nil {
		return x.IncludeDecision
	}
	return false
}

func (x *GetGateRequestRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListGateRequestsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// risk_assessment_id is one accepted fail-closed authorization context.
	RiskAssessmentId *string `protobuf:"bytes,1,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	// target is one accepted fail-closed authorization context.
	Target *TargetRef `protobuf:"bytes,2,opt,name=target,proto3" json:"target,omitempty"`
	// status refines an assessment or target query; it is not a standalone authorization context.
	Status        *GateRequestStatus `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.governance.v1.GateRequestStatus,oneof" json:"status,omitempty"`
	Page          *PageRequest       `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	Meta          *QueryMeta         `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListGateRequestsRequest) Reset() {
	*x = ListGateRequestsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[61]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGateRequestsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGateRequestsRequest) ProtoMessage() {}

func (x *ListGateRequestsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[61]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGateRequestsRequest.ProtoReflect.Descriptor instead.
func (*ListGateRequestsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{61}
}

func (x *ListGateRequestsRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *ListGateRequestsRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ListGateRequestsRequest) GetStatus() GateRequestStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return GateRequestStatus_GATE_REQUEST_STATUS_UNSPECIFIED
}

func (x *ListGateRequestsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListGateRequestsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type PrepareSelfDeployPlanGateRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Plan          *SelfDeployPlanGateInput `protobuf:"bytes,1,opt,name=plan,proto3" json:"plan,omitempty"`
	Meta          *CommandMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *PrepareSelfDeployPlanGateRequest) Reset() {
	*x = PrepareSelfDeployPlanGateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[62]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *PrepareSelfDeployPlanGateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*PrepareSelfDeployPlanGateRequest) ProtoMessage() {}

func (x *PrepareSelfDeployPlanGateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[62]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use PrepareSelfDeployPlanGateRequest.ProtoReflect.Descriptor instead.
func (*PrepareSelfDeployPlanGateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{62}
}

func (x *PrepareSelfDeployPlanGateRequest) GetPlan() *SelfDeployPlanGateInput {
	if x != nil {
		return x.Plan
	}
	return nil
}

func (x *PrepareSelfDeployPlanGateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type BuildReleaseDecisionPackageRequest struct {
	state                   protoimpl.MessageState   `protogen:"open.v1"`
	ReleaseCandidateRef     string                   `protobuf:"bytes,1,opt,name=release_candidate_ref,json=releaseCandidateRef,proto3" json:"release_candidate_ref,omitempty"`
	ProjectContext          *ProjectContextRef       `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	RepositoryRefs          []string                 `protobuf:"bytes,3,rep,name=repository_refs,json=repositoryRefs,proto3" json:"repository_refs,omitempty"`
	ProviderRefs            []*ProviderContextRef    `protobuf:"bytes,4,rep,name=provider_refs,json=providerRefs,proto3" json:"provider_refs,omitempty"`
	RuntimeRefs             []*RuntimeContextRef     `protobuf:"bytes,5,rep,name=runtime_refs,json=runtimeRefs,proto3" json:"runtime_refs,omitempty"`
	AgentContext            *AgentContextRef         `protobuf:"bytes,6,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	ReviewSignalIds         []string                 `protobuf:"bytes,7,rep,name=review_signal_ids,json=reviewSignalIds,proto3" json:"review_signal_ids,omitempty"`
	EvidenceRefs            []*EvidenceRef           `protobuf:"bytes,8,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	KnownLimitationsSummary string                   `protobuf:"bytes,9,opt,name=known_limitations_summary,json=knownLimitationsSummary,proto3" json:"known_limitations_summary,omitempty"`
	Meta                    *CommandMeta             `protobuf:"bytes,10,opt,name=meta,proto3" json:"meta,omitempty"`
	RiskAssessmentId        *string                  `protobuf:"bytes,11,opt,name=risk_assessment_id,json=riskAssessmentId,proto3,oneof" json:"risk_assessment_id,omitempty"`
	IntegrationRefs         []*ReleaseIntegrationRef `protobuf:"bytes,12,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *BuildReleaseDecisionPackageRequest) Reset() {
	*x = BuildReleaseDecisionPackageRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[63]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BuildReleaseDecisionPackageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BuildReleaseDecisionPackageRequest) ProtoMessage() {}

func (x *BuildReleaseDecisionPackageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[63]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BuildReleaseDecisionPackageRequest.ProtoReflect.Descriptor instead.
func (*BuildReleaseDecisionPackageRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{63}
}

func (x *BuildReleaseDecisionPackageRequest) GetReleaseCandidateRef() string {
	if x != nil {
		return x.ReleaseCandidateRef
	}
	return ""
}

func (x *BuildReleaseDecisionPackageRequest) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetRepositoryRefs() []string {
	if x != nil {
		return x.RepositoryRefs
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetProviderRefs() []*ProviderContextRef {
	if x != nil {
		return x.ProviderRefs
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetRuntimeRefs() []*RuntimeContextRef {
	if x != nil {
		return x.RuntimeRefs
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetReviewSignalIds() []string {
	if x != nil {
		return x.ReviewSignalIds
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetKnownLimitationsSummary() string {
	if x != nil {
		return x.KnownLimitationsSummary
	}
	return ""
}

func (x *BuildReleaseDecisionPackageRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

func (x *BuildReleaseDecisionPackageRequest) GetRiskAssessmentId() string {
	if x != nil && x.RiskAssessmentId != nil {
		return *x.RiskAssessmentId
	}
	return ""
}

func (x *BuildReleaseDecisionPackageRequest) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

type RecordReleaseRuntimeEvidenceRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	// runtime_refs point to runtime jobs, environments, artifacts or bounded summaries.
	RuntimeRefs []*RuntimeContextRef `protobuf:"bytes,2,rep,name=runtime_refs,json=runtimeRefs,proto3" json:"runtime_refs,omitempty"`
	// evidence_refs point to bounded runtime/deploy evidence without logs or raw payloads.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,3,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// integration_refs must use domain=runtime and safe kinds job/deploy/postdeploy/environment/artifact/summary.
	IntegrationRefs []*ReleaseIntegrationRef `protobuf:"bytes,4,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	Meta            *CommandMeta             `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RecordReleaseRuntimeEvidenceRequest) Reset() {
	*x = RecordReleaseRuntimeEvidenceRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[64]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecordReleaseRuntimeEvidenceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecordReleaseRuntimeEvidenceRequest) ProtoMessage() {}

func (x *RecordReleaseRuntimeEvidenceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[64]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecordReleaseRuntimeEvidenceRequest.ProtoReflect.Descriptor instead.
func (*RecordReleaseRuntimeEvidenceRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{64}
}

func (x *RecordReleaseRuntimeEvidenceRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *RecordReleaseRuntimeEvidenceRequest) GetRuntimeRefs() []*RuntimeContextRef {
	if x != nil {
		return x.RuntimeRefs
	}
	return nil
}

func (x *RecordReleaseRuntimeEvidenceRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *RecordReleaseRuntimeEvidenceRequest) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

func (x *RecordReleaseRuntimeEvidenceRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RecordReleaseAgentEvidenceRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	// agent_context points to agent-manager session/run/stage/acceptance refs without copying agent state.
	AgentContext *AgentContextRef `protobuf:"bytes,2,opt,name=agent_context,json=agentContext,proto3" json:"agent_context,omitempty"`
	// evidence_refs point to bounded agent evidence without prompts, transcripts, logs or workspace paths.
	EvidenceRefs []*EvidenceRef `protobuf:"bytes,3,rep,name=evidence_refs,json=evidenceRefs,proto3" json:"evidence_refs,omitempty"`
	// integration_refs must use safe agent/runtime/governance refs needed by release governance.
	IntegrationRefs []*ReleaseIntegrationRef `protobuf:"bytes,4,rep,name=integration_refs,json=integrationRefs,proto3" json:"integration_refs,omitempty"`
	Meta            *CommandMeta             `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *RecordReleaseAgentEvidenceRequest) Reset() {
	*x = RecordReleaseAgentEvidenceRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[65]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecordReleaseAgentEvidenceRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecordReleaseAgentEvidenceRequest) ProtoMessage() {}

func (x *RecordReleaseAgentEvidenceRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[65]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecordReleaseAgentEvidenceRequest.ProtoReflect.Descriptor instead.
func (*RecordReleaseAgentEvidenceRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{65}
}

func (x *RecordReleaseAgentEvidenceRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *RecordReleaseAgentEvidenceRequest) GetAgentContext() *AgentContextRef {
	if x != nil {
		return x.AgentContext
	}
	return nil
}

func (x *RecordReleaseAgentEvidenceRequest) GetEvidenceRefs() []*EvidenceRef {
	if x != nil {
		return x.EvidenceRefs
	}
	return nil
}

func (x *RecordReleaseAgentEvidenceRequest) GetIntegrationRefs() []*ReleaseIntegrationRef {
	if x != nil {
		return x.IntegrationRefs
	}
	return nil
}

func (x *RecordReleaseAgentEvidenceRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetReleaseDecisionPackageRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	Meta                     *QueryMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *GetReleaseDecisionPackageRequest) Reset() {
	*x = GetReleaseDecisionPackageRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[66]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetReleaseDecisionPackageRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetReleaseDecisionPackageRequest) ProtoMessage() {}

func (x *GetReleaseDecisionPackageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[66]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetReleaseDecisionPackageRequest.ProtoReflect.Descriptor instead.
func (*GetReleaseDecisionPackageRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{66}
}

func (x *GetReleaseDecisionPackageRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *GetReleaseDecisionPackageRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListReleaseDecisionPackagesRequest struct {
	state               protoimpl.MessageState        `protogen:"open.v1"`
	ProjectContext      *ProjectContextRef            `protobuf:"bytes,1,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	ReleaseCandidateRef *string                       `protobuf:"bytes,2,opt,name=release_candidate_ref,json=releaseCandidateRef,proto3,oneof" json:"release_candidate_ref,omitempty"`
	Status              *ReleaseDecisionPackageStatus `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.governance.v1.ReleaseDecisionPackageStatus,oneof" json:"status,omitempty"`
	Page                *PageRequest                  `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	Meta                *QueryMeta                    `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields       protoimpl.UnknownFields
	sizeCache           protoimpl.SizeCache
}

func (x *ListReleaseDecisionPackagesRequest) Reset() {
	*x = ListReleaseDecisionPackagesRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[67]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReleaseDecisionPackagesRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReleaseDecisionPackagesRequest) ProtoMessage() {}

func (x *ListReleaseDecisionPackagesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[67]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReleaseDecisionPackagesRequest.ProtoReflect.Descriptor instead.
func (*ListReleaseDecisionPackagesRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{67}
}

func (x *ListReleaseDecisionPackagesRequest) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *ListReleaseDecisionPackagesRequest) GetReleaseCandidateRef() string {
	if x != nil && x.ReleaseCandidateRef != nil {
		return *x.ReleaseCandidateRef
	}
	return ""
}

func (x *ListReleaseDecisionPackagesRequest) GetStatus() ReleaseDecisionPackageStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ReleaseDecisionPackageStatus_RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED
}

func (x *ListReleaseDecisionPackagesRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListReleaseDecisionPackagesRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RequestReleaseDecisionRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	RequestGateIfRequired    bool                   `protobuf:"varint,2,opt,name=request_gate_if_required,json=requestGateIfRequired,proto3" json:"request_gate_if_required,omitempty"`
	Meta                     *CommandMeta           `protobuf:"bytes,3,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *RequestReleaseDecisionRequest) Reset() {
	*x = RequestReleaseDecisionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[68]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RequestReleaseDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RequestReleaseDecisionRequest) ProtoMessage() {}

func (x *RequestReleaseDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[68]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RequestReleaseDecisionRequest.ProtoReflect.Descriptor instead.
func (*RequestReleaseDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{68}
}

func (x *RequestReleaseDecisionRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *RequestReleaseDecisionRequest) GetRequestGateIfRequired() bool {
	if x != nil {
		return x.RequestGateIfRequired
	}
	return false
}

func (x *RequestReleaseDecisionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type SubmitReleaseDecisionRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	GateDecisionId           *string                `protobuf:"bytes,2,opt,name=gate_decision_id,json=gateDecisionId,proto3,oneof" json:"gate_decision_id,omitempty"`
	Outcome                  ReleaseDecisionOutcome `protobuf:"varint,3,opt,name=outcome,proto3,enum=kodex.governance.v1.ReleaseDecisionOutcome" json:"outcome,omitempty"`
	DecisionActorRef         string                 `protobuf:"bytes,4,opt,name=decision_actor_ref,json=decisionActorRef,proto3" json:"decision_actor_ref,omitempty"`
	DecisionPolicyRef        string                 `protobuf:"bytes,5,opt,name=decision_policy_ref,json=decisionPolicyRef,proto3" json:"decision_policy_ref,omitempty"`
	Reason                   string                 `protobuf:"bytes,6,opt,name=reason,proto3" json:"reason,omitempty"`
	ConditionsSummary        *string                `protobuf:"bytes,7,opt,name=conditions_summary,json=conditionsSummary,proto3,oneof" json:"conditions_summary,omitempty"`
	Meta                     *CommandMeta           `protobuf:"bytes,8,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *SubmitReleaseDecisionRequest) Reset() {
	*x = SubmitReleaseDecisionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[69]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SubmitReleaseDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SubmitReleaseDecisionRequest) ProtoMessage() {}

func (x *SubmitReleaseDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[69]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SubmitReleaseDecisionRequest.ProtoReflect.Descriptor instead.
func (*SubmitReleaseDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{69}
}

func (x *SubmitReleaseDecisionRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetGateDecisionId() string {
	if x != nil && x.GateDecisionId != nil {
		return *x.GateDecisionId
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetOutcome() ReleaseDecisionOutcome {
	if x != nil {
		return x.Outcome
	}
	return ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_UNSPECIFIED
}

func (x *SubmitReleaseDecisionRequest) GetDecisionActorRef() string {
	if x != nil {
		return x.DecisionActorRef
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetDecisionPolicyRef() string {
	if x != nil {
		return x.DecisionPolicyRef
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetReason() string {
	if x != nil {
		return x.Reason
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetConditionsSummary() string {
	if x != nil && x.ConditionsSummary != nil {
		return *x.ConditionsSummary
	}
	return ""
}

func (x *SubmitReleaseDecisionRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetReleaseDecisionRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionId string                 `protobuf:"bytes,1,opt,name=release_decision_id,json=releaseDecisionId,proto3" json:"release_decision_id,omitempty"`
	Meta              *QueryMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *GetReleaseDecisionRequest) Reset() {
	*x = GetReleaseDecisionRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[70]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetReleaseDecisionRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetReleaseDecisionRequest) ProtoMessage() {}

func (x *GetReleaseDecisionRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[70]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetReleaseDecisionRequest.ProtoReflect.Descriptor instead.
func (*GetReleaseDecisionRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{70}
}

func (x *GetReleaseDecisionRequest) GetReleaseDecisionId() string {
	if x != nil {
		return x.ReleaseDecisionId
	}
	return ""
}

func (x *GetReleaseDecisionRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListReleaseDecisionsRequest struct {
	state                    protoimpl.MessageState  `protogen:"open.v1"`
	ReleaseDecisionPackageId *string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3,oneof" json:"release_decision_package_id,omitempty"`
	ProjectContext           *ProjectContextRef      `protobuf:"bytes,2,opt,name=project_context,json=projectContext,proto3" json:"project_context,omitempty"`
	Status                   *ReleaseDecisionStatus  `protobuf:"varint,3,opt,name=status,proto3,enum=kodex.governance.v1.ReleaseDecisionStatus,oneof" json:"status,omitempty"`
	Outcome                  *ReleaseDecisionOutcome `protobuf:"varint,4,opt,name=outcome,proto3,enum=kodex.governance.v1.ReleaseDecisionOutcome,oneof" json:"outcome,omitempty"`
	Page                     *PageRequest            `protobuf:"bytes,5,opt,name=page,proto3" json:"page,omitempty"`
	Meta                     *QueryMeta              `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *ListReleaseDecisionsRequest) Reset() {
	*x = ListReleaseDecisionsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[71]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReleaseDecisionsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReleaseDecisionsRequest) ProtoMessage() {}

func (x *ListReleaseDecisionsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[71]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReleaseDecisionsRequest.ProtoReflect.Descriptor instead.
func (*ListReleaseDecisionsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{71}
}

func (x *ListReleaseDecisionsRequest) GetReleaseDecisionPackageId() string {
	if x != nil && x.ReleaseDecisionPackageId != nil {
		return *x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *ListReleaseDecisionsRequest) GetProjectContext() *ProjectContextRef {
	if x != nil {
		return x.ProjectContext
	}
	return nil
}

func (x *ListReleaseDecisionsRequest) GetStatus() ReleaseDecisionStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ReleaseDecisionStatus_RELEASE_DECISION_STATUS_UNSPECIFIED
}

func (x *ListReleaseDecisionsRequest) GetOutcome() ReleaseDecisionOutcome {
	if x != nil && x.Outcome != nil {
		return *x.Outcome
	}
	return ReleaseDecisionOutcome_RELEASE_DECISION_OUTCOME_UNSPECIFIED
}

func (x *ListReleaseDecisionsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListReleaseDecisionsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RecordBlockingSignalRequest struct {
	state         protoimpl.MessageState   `protogen:"open.v1"`
	Target        *TargetRef               `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	SourceType    BlockingSignalSourceType `protobuf:"varint,2,opt,name=source_type,json=sourceType,proto3,enum=kodex.governance.v1.BlockingSignalSourceType" json:"source_type,omitempty"`
	SourceRef     *string                  `protobuf:"bytes,3,opt,name=source_ref,json=sourceRef,proto3,oneof" json:"source_ref,omitempty"`
	Severity      SignalSeverity           `protobuf:"varint,4,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity" json:"severity,omitempty"`
	Summary       string                   `protobuf:"bytes,5,opt,name=summary,proto3" json:"summary,omitempty"`
	Meta          *CommandMeta             `protobuf:"bytes,6,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RecordBlockingSignalRequest) Reset() {
	*x = RecordBlockingSignalRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[72]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecordBlockingSignalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecordBlockingSignalRequest) ProtoMessage() {}

func (x *RecordBlockingSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[72]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecordBlockingSignalRequest.ProtoReflect.Descriptor instead.
func (*RecordBlockingSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{72}
}

func (x *RecordBlockingSignalRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *RecordBlockingSignalRequest) GetSourceType() BlockingSignalSourceType {
	if x != nil {
		return x.SourceType
	}
	return BlockingSignalSourceType_BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED
}

func (x *RecordBlockingSignalRequest) GetSourceRef() string {
	if x != nil && x.SourceRef != nil {
		return *x.SourceRef
	}
	return ""
}

func (x *RecordBlockingSignalRequest) GetSeverity() SignalSeverity {
	if x != nil {
		return x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *RecordBlockingSignalRequest) GetSummary() string {
	if x != nil {
		return x.Summary
	}
	return ""
}

func (x *RecordBlockingSignalRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ResolveBlockingSignalRequest struct {
	state             protoimpl.MessageState `protogen:"open.v1"`
	BlockingSignalId  string                 `protobuf:"bytes,1,opt,name=blocking_signal_id,json=blockingSignalId,proto3" json:"blocking_signal_id,omitempty"`
	TerminalStatus    BlockingSignalStatus   `protobuf:"varint,2,opt,name=terminal_status,json=terminalStatus,proto3,enum=kodex.governance.v1.BlockingSignalStatus" json:"terminal_status,omitempty"`
	ResolutionSummary string                 `protobuf:"bytes,3,opt,name=resolution_summary,json=resolutionSummary,proto3" json:"resolution_summary,omitempty"`
	Meta              *CommandMeta           `protobuf:"bytes,4,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *ResolveBlockingSignalRequest) Reset() {
	*x = ResolveBlockingSignalRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[73]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ResolveBlockingSignalRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ResolveBlockingSignalRequest) ProtoMessage() {}

func (x *ResolveBlockingSignalRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[73]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ResolveBlockingSignalRequest.ProtoReflect.Descriptor instead.
func (*ResolveBlockingSignalRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{73}
}

func (x *ResolveBlockingSignalRequest) GetBlockingSignalId() string {
	if x != nil {
		return x.BlockingSignalId
	}
	return ""
}

func (x *ResolveBlockingSignalRequest) GetTerminalStatus() BlockingSignalStatus {
	if x != nil {
		return x.TerminalStatus
	}
	return BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_UNSPECIFIED
}

func (x *ResolveBlockingSignalRequest) GetResolutionSummary() string {
	if x != nil {
		return x.ResolutionSummary
	}
	return ""
}

func (x *ResolveBlockingSignalRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type ListBlockingSignalsRequest struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Target        *TargetRef             `protobuf:"bytes,1,opt,name=target,proto3" json:"target,omitempty"`
	Status        *BlockingSignalStatus  `protobuf:"varint,2,opt,name=status,proto3,enum=kodex.governance.v1.BlockingSignalStatus,oneof" json:"status,omitempty"`
	Severity      *SignalSeverity        `protobuf:"varint,3,opt,name=severity,proto3,enum=kodex.governance.v1.SignalSeverity,oneof" json:"severity,omitempty"`
	Page          *PageRequest           `protobuf:"bytes,4,opt,name=page,proto3" json:"page,omitempty"`
	Meta          *QueryMeta             `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListBlockingSignalsRequest) Reset() {
	*x = ListBlockingSignalsRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[74]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBlockingSignalsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBlockingSignalsRequest) ProtoMessage() {}

func (x *ListBlockingSignalsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[74]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBlockingSignalsRequest.ProtoReflect.Descriptor instead.
func (*ListBlockingSignalsRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{74}
}

func (x *ListBlockingSignalsRequest) GetTarget() *TargetRef {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *ListBlockingSignalsRequest) GetStatus() BlockingSignalStatus {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return BlockingSignalStatus_BLOCKING_SIGNAL_STATUS_UNSPECIFIED
}

func (x *ListBlockingSignalsRequest) GetSeverity() SignalSeverity {
	if x != nil && x.Severity != nil {
		return *x.Severity
	}
	return SignalSeverity_SIGNAL_SEVERITY_UNSPECIFIED
}

func (x *ListBlockingSignalsRequest) GetPage() *PageRequest {
	if x != nil {
		return x.Page
	}
	return nil
}

func (x *ListBlockingSignalsRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RecordReleaseSafetyStateRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	CurrentState             ReleaseSafetyStateKind `protobuf:"varint,2,opt,name=current_state,json=currentState,proto3,enum=kodex.governance.v1.ReleaseSafetyStateKind" json:"current_state,omitempty"`
	RuntimeJobRef            *string                `protobuf:"bytes,3,opt,name=runtime_job_ref,json=runtimeJobRef,proto3,oneof" json:"runtime_job_ref,omitempty"`
	LastStateReason          string                 `protobuf:"bytes,4,opt,name=last_state_reason,json=lastStateReason,proto3" json:"last_state_reason,omitempty"`
	Meta                     *CommandMeta           `protobuf:"bytes,5,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *RecordReleaseSafetyStateRequest) Reset() {
	*x = RecordReleaseSafetyStateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[75]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RecordReleaseSafetyStateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RecordReleaseSafetyStateRequest) ProtoMessage() {}

func (x *RecordReleaseSafetyStateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[75]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RecordReleaseSafetyStateRequest.ProtoReflect.Descriptor instead.
func (*RecordReleaseSafetyStateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{75}
}

func (x *RecordReleaseSafetyStateRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *RecordReleaseSafetyStateRequest) GetCurrentState() ReleaseSafetyStateKind {
	if x != nil {
		return x.CurrentState
	}
	return ReleaseSafetyStateKind_RELEASE_SAFETY_STATE_KIND_UNSPECIFIED
}

func (x *RecordReleaseSafetyStateRequest) GetRuntimeJobRef() string {
	if x != nil && x.RuntimeJobRef != nil {
		return *x.RuntimeJobRef
	}
	return ""
}

func (x *RecordReleaseSafetyStateRequest) GetLastStateReason() string {
	if x != nil {
		return x.LastStateReason
	}
	return ""
}

func (x *RecordReleaseSafetyStateRequest) GetMeta() *CommandMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetReleaseSafetyStateRequest struct {
	state                    protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisionPackageId string                 `protobuf:"bytes,1,opt,name=release_decision_package_id,json=releaseDecisionPackageId,proto3" json:"release_decision_package_id,omitempty"`
	Meta                     *QueryMeta             `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *GetReleaseSafetyStateRequest) Reset() {
	*x = GetReleaseSafetyStateRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[76]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetReleaseSafetyStateRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetReleaseSafetyStateRequest) ProtoMessage() {}

func (x *GetReleaseSafetyStateRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[76]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetReleaseSafetyStateRequest.ProtoReflect.Descriptor instead.
func (*GetReleaseSafetyStateRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{76}
}

func (x *GetReleaseSafetyStateRequest) GetReleaseDecisionPackageId() string {
	if x != nil {
		return x.ReleaseDecisionPackageId
	}
	return ""
}

func (x *GetReleaseSafetyStateRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type GetGovernanceSummaryRequest struct {
	state         protoimpl.MessageState  `protogen:"open.v1"`
	Scope         *GovernanceSummaryScope `protobuf:"bytes,1,opt,name=scope,proto3" json:"scope,omitempty"`
	Meta          *QueryMeta              `protobuf:"bytes,2,opt,name=meta,proto3" json:"meta,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetGovernanceSummaryRequest) Reset() {
	*x = GetGovernanceSummaryRequest{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[77]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetGovernanceSummaryRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetGovernanceSummaryRequest) ProtoMessage() {}

func (x *GetGovernanceSummaryRequest) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[77]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetGovernanceSummaryRequest.ProtoReflect.Descriptor instead.
func (*GetGovernanceSummaryRequest) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{77}
}

func (x *GetGovernanceSummaryRequest) GetScope() *GovernanceSummaryScope {
	if x != nil {
		return x.Scope
	}
	return nil
}

func (x *GetGovernanceSummaryRequest) GetMeta() *QueryMeta {
	if x != nil {
		return x.Meta
	}
	return nil
}

type RiskProfileResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskProfile   *RiskProfile           `protobuf:"bytes,1,opt,name=risk_profile,json=riskProfile,proto3" json:"risk_profile,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *RiskProfileResponse) Reset() {
	*x = RiskProfileResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[78]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskProfileResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskProfileResponse) ProtoMessage() {}

func (x *RiskProfileResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[78]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskProfileResponse.ProtoReflect.Descriptor instead.
func (*RiskProfileResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{78}
}

func (x *RiskProfileResponse) GetRiskProfile() *RiskProfile {
	if x != nil {
		return x.RiskProfile
	}
	return nil
}

type RiskProfileVersionResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	RiskProfileVersion *RiskProfileVersion    `protobuf:"bytes,1,opt,name=risk_profile_version,json=riskProfileVersion,proto3" json:"risk_profile_version,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *RiskProfileVersionResponse) Reset() {
	*x = RiskProfileVersionResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[79]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskProfileVersionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskProfileVersionResponse) ProtoMessage() {}

func (x *RiskProfileVersionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[79]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskProfileVersionResponse.ProtoReflect.Descriptor instead.
func (*RiskProfileVersionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{79}
}

func (x *RiskProfileVersionResponse) GetRiskProfileVersion() *RiskProfileVersion {
	if x != nil {
		return x.RiskProfileVersion
	}
	return nil
}

type ListRiskProfilesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskProfiles  []*RiskProfile         `protobuf:"bytes,1,rep,name=risk_profiles,json=riskProfiles,proto3" json:"risk_profiles,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRiskProfilesResponse) Reset() {
	*x = ListRiskProfilesResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[80]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskProfilesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskProfilesResponse) ProtoMessage() {}

func (x *ListRiskProfilesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[80]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskProfilesResponse.ProtoReflect.Descriptor instead.
func (*ListRiskProfilesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{80}
}

func (x *ListRiskProfilesResponse) GetRiskProfiles() []*RiskProfile {
	if x != nil {
		return x.RiskProfiles
	}
	return nil
}

func (x *ListRiskProfilesResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListRiskRulesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskRules     []*RiskRule            `protobuf:"bytes,1,rep,name=risk_rules,json=riskRules,proto3" json:"risk_rules,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRiskRulesResponse) Reset() {
	*x = ListRiskRulesResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[81]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskRulesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskRulesResponse) ProtoMessage() {}

func (x *ListRiskRulesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[81]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskRulesResponse.ProtoReflect.Descriptor instead.
func (*ListRiskRulesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{81}
}

func (x *ListRiskRulesResponse) GetRiskRules() []*RiskRule {
	if x != nil {
		return x.RiskRules
	}
	return nil
}

func (x *ListRiskRulesResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListGatePoliciesResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GatePolicies  []*GatePolicy          `protobuf:"bytes,1,rep,name=gate_policies,json=gatePolicies,proto3" json:"gate_policies,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListGatePoliciesResponse) Reset() {
	*x = ListGatePoliciesResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[82]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGatePoliciesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGatePoliciesResponse) ProtoMessage() {}

func (x *ListGatePoliciesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[82]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGatePoliciesResponse.ProtoReflect.Descriptor instead.
func (*ListGatePoliciesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{82}
}

func (x *ListGatePoliciesResponse) GetGatePolicies() []*GatePolicy {
	if x != nil {
		return x.GatePolicies
	}
	return nil
}

func (x *ListGatePoliciesResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type RiskAssessmentResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessment *RiskAssessment        `protobuf:"bytes,1,opt,name=risk_assessment,json=riskAssessment,proto3" json:"risk_assessment,omitempty"`
	RiskFactors    []*RiskFactor          `protobuf:"bytes,2,rep,name=risk_factors,json=riskFactors,proto3" json:"risk_factors,omitempty"`
	ReviewSignals  []*ReviewSignal        `protobuf:"bytes,3,rep,name=review_signals,json=reviewSignals,proto3" json:"review_signals,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *RiskAssessmentResponse) Reset() {
	*x = RiskAssessmentResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[83]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *RiskAssessmentResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*RiskAssessmentResponse) ProtoMessage() {}

func (x *RiskAssessmentResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[83]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use RiskAssessmentResponse.ProtoReflect.Descriptor instead.
func (*RiskAssessmentResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{83}
}

func (x *RiskAssessmentResponse) GetRiskAssessment() *RiskAssessment {
	if x != nil {
		return x.RiskAssessment
	}
	return nil
}

func (x *RiskAssessmentResponse) GetRiskFactors() []*RiskFactor {
	if x != nil {
		return x.RiskFactors
	}
	return nil
}

func (x *RiskAssessmentResponse) GetReviewSignals() []*ReviewSignal {
	if x != nil {
		return x.ReviewSignals
	}
	return nil
}

type ListRiskAssessmentsResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	RiskAssessments []*RiskAssessment      `protobuf:"bytes,1,rep,name=risk_assessments,json=riskAssessments,proto3" json:"risk_assessments,omitempty"`
	Page            *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListRiskAssessmentsResponse) Reset() {
	*x = ListRiskAssessmentsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[84]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskAssessmentsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskAssessmentsResponse) ProtoMessage() {}

func (x *ListRiskAssessmentsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[84]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskAssessmentsResponse.ProtoReflect.Descriptor instead.
func (*ListRiskAssessmentsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{84}
}

func (x *ListRiskAssessmentsResponse) GetRiskAssessments() []*RiskAssessment {
	if x != nil {
		return x.RiskAssessments
	}
	return nil
}

func (x *ListRiskAssessmentsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListRiskFactorsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	RiskFactors   []*RiskFactor          `protobuf:"bytes,1,rep,name=risk_factors,json=riskFactors,proto3" json:"risk_factors,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListRiskFactorsResponse) Reset() {
	*x = ListRiskFactorsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[85]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListRiskFactorsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListRiskFactorsResponse) ProtoMessage() {}

func (x *ListRiskFactorsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[85]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListRiskFactorsResponse.ProtoReflect.Descriptor instead.
func (*ListRiskFactorsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{85}
}

func (x *ListRiskFactorsResponse) GetRiskFactors() []*RiskFactor {
	if x != nil {
		return x.RiskFactors
	}
	return nil
}

func (x *ListRiskFactorsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ReviewSignalResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ReviewSignal  *ReviewSignal          `protobuf:"bytes,1,opt,name=review_signal,json=reviewSignal,proto3" json:"review_signal,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReviewSignalResponse) Reset() {
	*x = ReviewSignalResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[86]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReviewSignalResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReviewSignalResponse) ProtoMessage() {}

func (x *ReviewSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[86]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReviewSignalResponse.ProtoReflect.Descriptor instead.
func (*ReviewSignalResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{86}
}

func (x *ReviewSignalResponse) GetReviewSignal() *ReviewSignal {
	if x != nil {
		return x.ReviewSignal
	}
	return nil
}

type ListReviewSignalsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	ReviewSignals []*ReviewSignal        `protobuf:"bytes,1,rep,name=review_signals,json=reviewSignals,proto3" json:"review_signals,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListReviewSignalsResponse) Reset() {
	*x = ListReviewSignalsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[87]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReviewSignalsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReviewSignalsResponse) ProtoMessage() {}

func (x *ListReviewSignalsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[87]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReviewSignalsResponse.ProtoReflect.Descriptor instead.
func (*ListReviewSignalsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{87}
}

func (x *ListReviewSignalsResponse) GetReviewSignals() []*ReviewSignal {
	if x != nil {
		return x.ReviewSignals
	}
	return nil
}

func (x *ListReviewSignalsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type GateRequestResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateRequest   *GateRequest           `protobuf:"bytes,1,opt,name=gate_request,json=gateRequest,proto3" json:"gate_request,omitempty"`
	GateDecision  *GateDecision          `protobuf:"bytes,2,opt,name=gate_decision,json=gateDecision,proto3,oneof" json:"gate_decision,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GateRequestResponse) Reset() {
	*x = GateRequestResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[88]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GateRequestResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GateRequestResponse) ProtoMessage() {}

func (x *GateRequestResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[88]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GateRequestResponse.ProtoReflect.Descriptor instead.
func (*GateRequestResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{88}
}

func (x *GateRequestResponse) GetGateRequest() *GateRequest {
	if x != nil {
		return x.GateRequest
	}
	return nil
}

func (x *GateRequestResponse) GetGateDecision() *GateDecision {
	if x != nil {
		return x.GateDecision
	}
	return nil
}

type GateDecisionResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateDecision  *GateDecision          `protobuf:"bytes,1,opt,name=gate_decision,json=gateDecision,proto3" json:"gate_decision,omitempty"`
	GateRequest   *GateRequest           `protobuf:"bytes,2,opt,name=gate_request,json=gateRequest,proto3" json:"gate_request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GateDecisionResponse) Reset() {
	*x = GateDecisionResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[89]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GateDecisionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GateDecisionResponse) ProtoMessage() {}

func (x *GateDecisionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[89]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GateDecisionResponse.ProtoReflect.Descriptor instead.
func (*GateDecisionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{89}
}

func (x *GateDecisionResponse) GetGateDecision() *GateDecision {
	if x != nil {
		return x.GateDecision
	}
	return nil
}

func (x *GateDecisionResponse) GetGateRequest() *GateRequest {
	if x != nil {
		return x.GateRequest
	}
	return nil
}

type ListGateRequestsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateRequests  []*GateRequest         `protobuf:"bytes,1,rep,name=gate_requests,json=gateRequests,proto3" json:"gate_requests,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListGateRequestsResponse) Reset() {
	*x = ListGateRequestsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[90]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGateRequestsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGateRequestsResponse) ProtoMessage() {}

func (x *ListGateRequestsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[90]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGateRequestsResponse.ProtoReflect.Descriptor instead.
func (*ListGateRequestsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{90}
}

func (x *ListGateRequestsResponse) GetGateRequests() []*GateRequest {
	if x != nil {
		return x.GateRequests
	}
	return nil
}

func (x *ListGateRequestsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ListGateDecisionsResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	GateDecisions []*GateDecision        `protobuf:"bytes,1,rep,name=gate_decisions,json=gateDecisions,proto3" json:"gate_decisions,omitempty"`
	Page          *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListGateDecisionsResponse) Reset() {
	*x = ListGateDecisionsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[91]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListGateDecisionsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListGateDecisionsResponse) ProtoMessage() {}

func (x *ListGateDecisionsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[91]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListGateDecisionsResponse.ProtoReflect.Descriptor instead.
func (*ListGateDecisionsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{91}
}

func (x *ListGateDecisionsResponse) GetGateDecisions() []*GateDecision {
	if x != nil {
		return x.GateDecisions
	}
	return nil
}

func (x *ListGateDecisionsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type SelfDeployPlanGateResponse struct {
	state             protoimpl.MessageState   `protogen:"open.v1"`
	Status            SelfDeployPlanGateStatus `protobuf:"varint,1,opt,name=status,proto3,enum=kodex.governance.v1.SelfDeployPlanGateStatus" json:"status,omitempty"`
	RiskAssessment    *RiskAssessment          `protobuf:"bytes,2,opt,name=risk_assessment,json=riskAssessment,proto3" json:"risk_assessment,omitempty"`
	GateRequest       *GateRequest             `protobuf:"bytes,3,opt,name=gate_request,json=gateRequest,proto3" json:"gate_request,omitempty"`
	GateDecision      *GateDecision            `protobuf:"bytes,4,opt,name=gate_decision,json=gateDecision,proto3,oneof" json:"gate_decision,omitempty"`
	GovernanceSummary *GovernanceSummary       `protobuf:"bytes,5,opt,name=governance_summary,json=governanceSummary,proto3" json:"governance_summary,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

func (x *SelfDeployPlanGateResponse) Reset() {
	*x = SelfDeployPlanGateResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[92]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *SelfDeployPlanGateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*SelfDeployPlanGateResponse) ProtoMessage() {}

func (x *SelfDeployPlanGateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[92]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use SelfDeployPlanGateResponse.ProtoReflect.Descriptor instead.
func (*SelfDeployPlanGateResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{92}
}

func (x *SelfDeployPlanGateResponse) GetStatus() SelfDeployPlanGateStatus {
	if x != nil {
		return x.Status
	}
	return SelfDeployPlanGateStatus_SELF_DEPLOY_PLAN_GATE_STATUS_UNSPECIFIED
}

func (x *SelfDeployPlanGateResponse) GetRiskAssessment() *RiskAssessment {
	if x != nil {
		return x.RiskAssessment
	}
	return nil
}

func (x *SelfDeployPlanGateResponse) GetGateRequest() *GateRequest {
	if x != nil {
		return x.GateRequest
	}
	return nil
}

func (x *SelfDeployPlanGateResponse) GetGateDecision() *GateDecision {
	if x != nil {
		return x.GateDecision
	}
	return nil
}

func (x *SelfDeployPlanGateResponse) GetGovernanceSummary() *GovernanceSummary {
	if x != nil {
		return x.GovernanceSummary
	}
	return nil
}

type ReleaseDecisionPackageResponse struct {
	state                  protoimpl.MessageState  `protogen:"open.v1"`
	ReleaseDecisionPackage *ReleaseDecisionPackage `protobuf:"bytes,1,opt,name=release_decision_package,json=releaseDecisionPackage,proto3" json:"release_decision_package,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ReleaseDecisionPackageResponse) Reset() {
	*x = ReleaseDecisionPackageResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[93]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseDecisionPackageResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseDecisionPackageResponse) ProtoMessage() {}

func (x *ReleaseDecisionPackageResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[93]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseDecisionPackageResponse.ProtoReflect.Descriptor instead.
func (*ReleaseDecisionPackageResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{93}
}

func (x *ReleaseDecisionPackageResponse) GetReleaseDecisionPackage() *ReleaseDecisionPackage {
	if x != nil {
		return x.ReleaseDecisionPackage
	}
	return nil
}

type ListReleaseDecisionPackagesResponse struct {
	state                   protoimpl.MessageState    `protogen:"open.v1"`
	ReleaseDecisionPackages []*ReleaseDecisionPackage `protobuf:"bytes,1,rep,name=release_decision_packages,json=releaseDecisionPackages,proto3" json:"release_decision_packages,omitempty"`
	Page                    *PageResponse             `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields           protoimpl.UnknownFields
	sizeCache               protoimpl.SizeCache
}

func (x *ListReleaseDecisionPackagesResponse) Reset() {
	*x = ListReleaseDecisionPackagesResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[94]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReleaseDecisionPackagesResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReleaseDecisionPackagesResponse) ProtoMessage() {}

func (x *ListReleaseDecisionPackagesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[94]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReleaseDecisionPackagesResponse.ProtoReflect.Descriptor instead.
func (*ListReleaseDecisionPackagesResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{94}
}

func (x *ListReleaseDecisionPackagesResponse) GetReleaseDecisionPackages() []*ReleaseDecisionPackage {
	if x != nil {
		return x.ReleaseDecisionPackages
	}
	return nil
}

func (x *ListReleaseDecisionPackagesResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ReleaseDecisionResponse struct {
	state                  protoimpl.MessageState  `protogen:"open.v1"`
	ReleaseDecision        *ReleaseDecision        `protobuf:"bytes,1,opt,name=release_decision,json=releaseDecision,proto3" json:"release_decision,omitempty"`
	ReleaseDecisionPackage *ReleaseDecisionPackage `protobuf:"bytes,2,opt,name=release_decision_package,json=releaseDecisionPackage,proto3" json:"release_decision_package,omitempty"`
	unknownFields          protoimpl.UnknownFields
	sizeCache              protoimpl.SizeCache
}

func (x *ReleaseDecisionResponse) Reset() {
	*x = ReleaseDecisionResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[95]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseDecisionResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseDecisionResponse) ProtoMessage() {}

func (x *ReleaseDecisionResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[95]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseDecisionResponse.ProtoReflect.Descriptor instead.
func (*ReleaseDecisionResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{95}
}

func (x *ReleaseDecisionResponse) GetReleaseDecision() *ReleaseDecision {
	if x != nil {
		return x.ReleaseDecision
	}
	return nil
}

func (x *ReleaseDecisionResponse) GetReleaseDecisionPackage() *ReleaseDecisionPackage {
	if x != nil {
		return x.ReleaseDecisionPackage
	}
	return nil
}

type ListReleaseDecisionsResponse struct {
	state            protoimpl.MessageState `protogen:"open.v1"`
	ReleaseDecisions []*ReleaseDecision     `protobuf:"bytes,1,rep,name=release_decisions,json=releaseDecisions,proto3" json:"release_decisions,omitempty"`
	Page             *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

func (x *ListReleaseDecisionsResponse) Reset() {
	*x = ListReleaseDecisionsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[96]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListReleaseDecisionsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListReleaseDecisionsResponse) ProtoMessage() {}

func (x *ListReleaseDecisionsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[96]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListReleaseDecisionsResponse.ProtoReflect.Descriptor instead.
func (*ListReleaseDecisionsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{96}
}

func (x *ListReleaseDecisionsResponse) GetReleaseDecisions() []*ReleaseDecision {
	if x != nil {
		return x.ReleaseDecisions
	}
	return nil
}

func (x *ListReleaseDecisionsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type BlockingSignalResponse struct {
	state          protoimpl.MessageState `protogen:"open.v1"`
	BlockingSignal *BlockingSignal        `protobuf:"bytes,1,opt,name=blocking_signal,json=blockingSignal,proto3" json:"blocking_signal,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *BlockingSignalResponse) Reset() {
	*x = BlockingSignalResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[97]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *BlockingSignalResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*BlockingSignalResponse) ProtoMessage() {}

func (x *BlockingSignalResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[97]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use BlockingSignalResponse.ProtoReflect.Descriptor instead.
func (*BlockingSignalResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{97}
}

func (x *BlockingSignalResponse) GetBlockingSignal() *BlockingSignal {
	if x != nil {
		return x.BlockingSignal
	}
	return nil
}

type ListBlockingSignalsResponse struct {
	state           protoimpl.MessageState `protogen:"open.v1"`
	BlockingSignals []*BlockingSignal      `protobuf:"bytes,1,rep,name=blocking_signals,json=blockingSignals,proto3" json:"blocking_signals,omitempty"`
	Page            *PageResponse          `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	unknownFields   protoimpl.UnknownFields
	sizeCache       protoimpl.SizeCache
}

func (x *ListBlockingSignalsResponse) Reset() {
	*x = ListBlockingSignalsResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[98]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListBlockingSignalsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListBlockingSignalsResponse) ProtoMessage() {}

func (x *ListBlockingSignalsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[98]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListBlockingSignalsResponse.ProtoReflect.Descriptor instead.
func (*ListBlockingSignalsResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{98}
}

func (x *ListBlockingSignalsResponse) GetBlockingSignals() []*BlockingSignal {
	if x != nil {
		return x.BlockingSignals
	}
	return nil
}

func (x *ListBlockingSignalsResponse) GetPage() *PageResponse {
	if x != nil {
		return x.Page
	}
	return nil
}

type ReleaseSafetyStateResponse struct {
	state              protoimpl.MessageState `protogen:"open.v1"`
	ReleaseSafetyState *ReleaseSafetyState    `protobuf:"bytes,1,opt,name=release_safety_state,json=releaseSafetyState,proto3" json:"release_safety_state,omitempty"`
	unknownFields      protoimpl.UnknownFields
	sizeCache          protoimpl.SizeCache
}

func (x *ReleaseSafetyStateResponse) Reset() {
	*x = ReleaseSafetyStateResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[99]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseSafetyStateResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseSafetyStateResponse) ProtoMessage() {}

func (x *ReleaseSafetyStateResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[99]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseSafetyStateResponse.ProtoReflect.Descriptor instead.
func (*ReleaseSafetyStateResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{99}
}

func (x *ReleaseSafetyStateResponse) GetReleaseSafetyState() *ReleaseSafetyState {
	if x != nil {
		return x.ReleaseSafetyState
	}
	return nil
}

type GovernanceSummaryResponse struct {
	state         protoimpl.MessageState `protogen:"open.v1"`
	Summary       *GovernanceSummary     `protobuf:"bytes,1,opt,name=summary,proto3" json:"summary,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GovernanceSummaryResponse) Reset() {
	*x = GovernanceSummaryResponse{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[100]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceSummaryResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceSummaryResponse) ProtoMessage() {}

func (x *GovernanceSummaryResponse) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[100]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceSummaryResponse.ProtoReflect.Descriptor instead.
func (*GovernanceSummaryResponse) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{100}
}

func (x *GovernanceSummaryResponse) GetSummary() *GovernanceSummary {
	if x != nil {
		return x.Summary
	}
	return nil
}

// ReleaseIntegrationRef links release governance to a bounded fact owned by another domain.
type ReleaseIntegrationRef struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// domain identifies the owning boundary: project, provider, agent, runtime or governance.
	Domain string `protobuf:"bytes,1,opt,name=domain,proto3" json:"domain,omitempty"`
	// kind identifies the safe fact type within the owning boundary.
	Kind string `protobuf:"bytes,2,opt,name=kind,proto3" json:"kind,omitempty"`
	// ref points to the owner-domain object or digest, not an embedded payload.
	Ref string `protobuf:"bytes,3,opt,name=ref,proto3" json:"ref,omitempty"`
	// status is a bounded status snapshot when supplied by the owner domain.
	Status *string `protobuf:"bytes,4,opt,name=status,proto3,oneof" json:"status,omitempty"`
	// summary is a short safe summary without raw payload, diff, logs or secrets.
	Summary *string `protobuf:"bytes,5,opt,name=summary,proto3,oneof" json:"summary,omitempty"`
	// digest is an optional content/status digest supplied by the owner domain.
	Digest *string `protobuf:"bytes,6,opt,name=digest,proto3,oneof" json:"digest,omitempty"`
	// observed_at is an RFC3339 timestamp for the referenced fact.
	ObservedAt *string `protobuf:"bytes,7,opt,name=observed_at,json=observedAt,proto3,oneof" json:"observed_at,omitempty"`
	// version is an optional owner-domain version or etag.
	Version *string `protobuf:"bytes,8,opt,name=version,proto3,oneof" json:"version,omitempty"`
	// error_code is an optional bounded machine error code supplied by the owner domain.
	ErrorCode     *string `protobuf:"bytes,9,opt,name=error_code,json=errorCode,proto3,oneof" json:"error_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ReleaseIntegrationRef) Reset() {
	*x = ReleaseIntegrationRef{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[101]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ReleaseIntegrationRef) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ReleaseIntegrationRef) ProtoMessage() {}

func (x *ReleaseIntegrationRef) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[101]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ReleaseIntegrationRef.ProtoReflect.Descriptor instead.
func (*ReleaseIntegrationRef) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{101}
}

func (x *ReleaseIntegrationRef) GetDomain() string {
	if x != nil {
		return x.Domain
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetKind() string {
	if x != nil {
		return x.Kind
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetRef() string {
	if x != nil {
		return x.Ref
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetStatus() string {
	if x != nil && x.Status != nil {
		return *x.Status
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetSummary() string {
	if x != nil && x.Summary != nil {
		return *x.Summary
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetDigest() string {
	if x != nil && x.Digest != nil {
		return *x.Digest
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetObservedAt() string {
	if x != nil && x.ObservedAt != nil {
		return *x.ObservedAt
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetVersion() string {
	if x != nil && x.Version != nil {
		return *x.Version
	}
	return ""
}

func (x *ReleaseIntegrationRef) GetErrorCode() string {
	if x != nil && x.ErrorCode != nil {
		return *x.ErrorCode
	}
	return ""
}

// GovernanceSummaryStatus is an operator-ready rollup for live governance decisions.
type GovernanceSummaryStatus struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// attention is the highest attention level across decisions and diagnostics.
	Attention GovernanceDecisionAttention `protobuf:"varint,1,opt,name=attention,proto3,enum=kodex.governance.v1.GovernanceDecisionAttention" json:"attention,omitempty"`
	// max_risk_class is the highest risk class present in linked risk summaries.
	MaxRiskClass RiskClass `protobuf:"varint,2,opt,name=max_risk_class,json=maxRiskClass,proto3,enum=kodex.governance.v1.RiskClass" json:"max_risk_class,omitempty"`
	// pending_decision_count counts items still requiring action or observation.
	PendingDecisionCount int32 `protobuf:"varint,3,opt,name=pending_decision_count,json=pendingDecisionCount,proto3" json:"pending_decision_count,omitempty"`
	// blocked_decision_count counts items that currently block release or execution.
	BlockedDecisionCount int32 `protobuf:"varint,4,opt,name=blocked_decision_count,json=blockedDecisionCount,proto3" json:"blocked_decision_count,omitempty"`
	// completed_decision_count counts terminal or informational decision facts.
	CompletedDecisionCount int32 `protobuf:"varint,5,opt,name=completed_decision_count,json=completedDecisionCount,proto3" json:"completed_decision_count,omitempty"`
	// pending_gate_count counts open governance gate requests.
	PendingGateCount int32 `protobuf:"varint,6,opt,name=pending_gate_count,json=pendingGateCount,proto3" json:"pending_gate_count,omitempty"`
	// active_blocking_signal_count counts active blocking signals.
	ActiveBlockingSignalCount int32 `protobuf:"varint,7,opt,name=active_blocking_signal_count,json=activeBlockingSignalCount,proto3" json:"active_blocking_signal_count,omitempty"`
	// evidence_count counts bounded linked evidence summaries.
	EvidenceCount int32 `protobuf:"varint,8,opt,name=evidence_count,json=evidenceCount,proto3" json:"evidence_count,omitempty"`
	// diagnostic_count counts safe partial/missing-state diagnostics.
	DiagnosticCount int32 `protobuf:"varint,9,opt,name=diagnostic_count,json=diagnosticCount,proto3" json:"diagnostic_count,omitempty"`
	// summary_code is a bounded machine-readable status for UI and agents.
	SummaryCode string `protobuf:"bytes,10,opt,name=summary_code,json=summaryCode,proto3" json:"summary_code,omitempty"`
	// next_action_code is a bounded machine-readable hint for the next owner action.
	NextActionCode string `protobuf:"bytes,11,opt,name=next_action_code,json=nextActionCode,proto3" json:"next_action_code,omitempty"`
	// pending_required_gate_count counts policy gates that still need a gate request.
	PendingRequiredGateCount int32 `protobuf:"varint,12,opt,name=pending_required_gate_count,json=pendingRequiredGateCount,proto3" json:"pending_required_gate_count,omitempty"`
	unknownFields            protoimpl.UnknownFields
	sizeCache                protoimpl.SizeCache
}

func (x *GovernanceSummaryStatus) Reset() {
	*x = GovernanceSummaryStatus{}
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[102]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GovernanceSummaryStatus) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GovernanceSummaryStatus) ProtoMessage() {}

func (x *GovernanceSummaryStatus) ProtoReflect() protoreflect.Message {
	mi := &file_kodex_governance_v1_governance_manager_proto_msgTypes[102]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GovernanceSummaryStatus.ProtoReflect.Descriptor instead.
func (*GovernanceSummaryStatus) Descriptor() ([]byte, []int) {
	return file_kodex_governance_v1_governance_manager_proto_rawDescGZIP(), []int{102}
}

func (x *GovernanceSummaryStatus) GetAttention() GovernanceDecisionAttention {
	if x != nil {
		return x.Attention
	}
	return GovernanceDecisionAttention_GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED
}

func (x *GovernanceSummaryStatus) GetMaxRiskClass() RiskClass {
	if x != nil {
		return x.MaxRiskClass
	}
	return RiskClass_RISK_CLASS_UNSPECIFIED
}

func (x *GovernanceSummaryStatus) GetPendingDecisionCount() int32 {
	if x != nil {
		return x.PendingDecisionCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetBlockedDecisionCount() int32 {
	if x != nil {
		return x.BlockedDecisionCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetCompletedDecisionCount() int32 {
	if x != nil {
		return x.CompletedDecisionCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetPendingGateCount() int32 {
	if x != nil {
		return x.PendingGateCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetActiveBlockingSignalCount() int32 {
	if x != nil {
		return x.ActiveBlockingSignalCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetEvidenceCount() int32 {
	if x != nil {
		return x.EvidenceCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetDiagnosticCount() int32 {
	if x != nil {
		return x.DiagnosticCount
	}
	return 0
}

func (x *GovernanceSummaryStatus) GetSummaryCode() string {
	if x != nil {
		return x.SummaryCode
	}
	return ""
}

func (x *GovernanceSummaryStatus) GetNextActionCode() string {
	if x != nil {
		return x.NextActionCode
	}
	return ""
}

func (x *GovernanceSummaryStatus) GetPendingRequiredGateCount() int32 {
	if x != nil {
		return x.PendingRequiredGateCount
	}
	return 0
}

var File_kodex_governance_v1_governance_manager_proto protoreflect.FileDescriptor

const file_kodex_governance_v1_governance_manager_proto_rawDesc = "" +
	"\n" +
	",kodex/governance/v1/governance_manager.proto\x12\x13kodex.governance.v1\"\xfe\x02\n" +
	"\vCommandMeta\x12\"\n" +
	"\n" +
	"command_id\x18\x01 \x01(\tH\x00R\tcommandId\x88\x01\x01\x12,\n" +
	"\x0fidempotency_key\x18\x02 \x01(\tH\x01R\x0eidempotencyKey\x88\x01\x01\x12.\n" +
	"\x10expected_version\x18\x03 \x01(\x03H\x02R\x0fexpectedVersion\x88\x01\x01\x120\n" +
	"\x05actor\x18\x04 \x01(\v2\x1a.kodex.governance.v1.ActorR\x05actor\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x12\x1d\n" +
	"\n" +
	"request_id\x18\x06 \x01(\tR\trequestId\x12L\n" +
	"\x0frequest_context\x18\a \x01(\v2#.kodex.governance.v1.RequestContextR\x0erequestContextB\r\n" +
	"\v_command_idB\x12\n" +
	"\x10_idempotency_keyB\x13\n" +
	"\x11_expected_version\"\xaa\x01\n" +
	"\tQueryMeta\x120\n" +
	"\x05actor\x18\x01 \x01(\v2\x1a.kodex.governance.v1.ActorR\x05actor\x12\x1d\n" +
	"\n" +
	"request_id\x18\x02 \x01(\tR\trequestId\x12L\n" +
	"\x0frequest_context\x18\x03 \x01(\v2#.kodex.governance.v1.RequestContextR\x0erequestContext\"\xc6\x01\n" +
	"\x0eRequestContext\x12\x16\n" +
	"\x06source\x18\x01 \x01(\tR\x06source\x12\x1e\n" +
	"\btrace_id\x18\x02 \x01(\tH\x00R\atraceId\x88\x01\x01\x12\"\n" +
	"\n" +
	"session_id\x18\x03 \x01(\tH\x01R\tsessionId\x88\x01\x01\x12)\n" +
	"\x0eclient_ip_hash\x18\x04 \x01(\tH\x02R\fclientIpHash\x88\x01\x01B\v\n" +
	"\t_trace_idB\r\n" +
	"\v_session_idB\x11\n" +
	"\x0f_client_ip_hash\"+\n" +
	"\x05Actor\x12\x12\n" +
	"\x04type\x18\x01 \x01(\tR\x04type\x12\x0e\n" +
	"\x02id\x18\x02 \x01(\tR\x02id\"]\n" +
	"\vPageRequest\x12\x1b\n" +
	"\tpage_size\x18\x01 \x01(\x05R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x02 \x01(\tH\x00R\tpageToken\x88\x01\x01B\r\n" +
	"\v_page_token\"O\n" +
	"\fPageResponse\x12+\n" +
	"\x0fnext_page_token\x18\x01 \x01(\tH\x00R\rnextPageToken\x88\x01\x01B\x12\n" +
	"\x10_next_page_token\";\n" +
	"\rLocalizedText\x12\x16\n" +
	"\x06locale\x18\x01 \x01(\tR\x06locale\x12\x12\n" +
	"\x04text\x18\x02 \x01(\tR\x04text\"Z\n" +
	"\bScopeRef\x12<\n" +
	"\x04type\x18\x01 \x01(\x0e2(.kodex.governance.v1.GovernanceScopeTypeR\x04type\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"\\\n" +
	"\tTargetRef\x12=\n" +
	"\x04type\x18\x01 \x01(\x0e2).kodex.governance.v1.GovernanceTargetTypeR\x04type\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\"\x90\x03\n" +
	"\x11ProjectContextRef\x12$\n" +
	"\vproject_ref\x18\x01 \x01(\tH\x00R\n" +
	"projectRef\x88\x01\x01\x12*\n" +
	"\x0erepository_ref\x18\x02 \x01(\tH\x01R\rrepositoryRef\x88\x01\x01\x12$\n" +
	"\vservice_ref\x18\x03 \x01(\tH\x02R\n" +
	"serviceRef\x88\x01\x01\x12-\n" +
	"\x10branch_rules_ref\x18\x04 \x01(\tH\x03R\x0ebranchRulesRef\x88\x01\x01\x121\n" +
	"\x12release_policy_ref\x18\x05 \x01(\tH\x04R\x10releasePolicyRef\x88\x01\x01\x12-\n" +
	"\x10release_line_ref\x18\x06 \x01(\tH\x05R\x0ereleaseLineRef\x88\x01\x01B\x0e\n" +
	"\f_project_refB\x11\n" +
	"\x0f_repository_refB\x0e\n" +
	"\f_service_refB\x13\n" +
	"\x11_branch_rules_refB\x15\n" +
	"\x13_release_policy_refB\x13\n" +
	"\x11_release_line_ref\"\xc4\x03\n" +
	"\x12ProviderContextRef\x12'\n" +
	"\rwork_item_ref\x18\x01 \x01(\tH\x00R\vworkItemRef\x88\x01\x01\x12-\n" +
	"\x10pull_request_ref\x18\x02 \x01(\tH\x01R\x0epullRequestRef\x88\x01\x01\x12$\n" +
	"\vcomment_ref\x18\x03 \x01(\tH\x02R\n" +
	"commentRef\x88\x01\x01\x12/\n" +
	"\x11review_signal_ref\x18\x04 \x01(\tH\x03R\x0freviewSignalRef\x88\x01\x01\x129\n" +
	"\x16provider_operation_ref\x18\x05 \x01(\tH\x04R\x14providerOperationRef\x88\x01\x01\x12>\n" +
	"\x19changed_files_summary_ref\x18\x06 \x01(\tH\x05R\x16changedFilesSummaryRef\x88\x01\x01B\x10\n" +
	"\x0e_work_item_refB\x13\n" +
	"\x11_pull_request_refB\x0e\n" +
	"\f_comment_refB\x14\n" +
	"\x12_review_signal_refB\x19\n" +
	"\x17_provider_operation_refB\x1c\n" +
	"\x1a_changed_files_summary_ref\"\x8d\x02\n" +
	"\x0fAgentContextRef\x12$\n" +
	"\vsession_ref\x18\x01 \x01(\tH\x00R\n" +
	"sessionRef\x88\x01\x01\x12\x1c\n" +
	"\arun_ref\x18\x02 \x01(\tH\x01R\x06runRef\x88\x01\x01\x12 \n" +
	"\tstage_ref\x18\x03 \x01(\tH\x02R\bstageRef\x88\x01\x01\x12*\n" +
	"\x0eacceptance_ref\x18\x04 \x01(\tH\x03R\racceptanceRef\x88\x01\x01\x12\x1e\n" +
	"\brole_ref\x18\x05 \x01(\tH\x04R\aroleRef\x88\x01\x01B\x0e\n" +
	"\f_session_refB\n" +
	"\n" +
	"\b_run_refB\f\n" +
	"\n" +
	"_stage_refB\x11\n" +
	"\x0f_acceptance_refB\v\n" +
	"\t_role_ref\"\x9b\x02\n" +
	"\x11RuntimeContextRef\x12\x1e\n" +
	"\bslot_ref\x18\x01 \x01(\tH\x00R\aslotRef\x88\x01\x01\x12\x1c\n" +
	"\ajob_ref\x18\x02 \x01(\tH\x01R\x06jobRef\x88\x01\x01\x12,\n" +
	"\x0fenvironment_ref\x18\x03 \x01(\tH\x02R\x0eenvironmentRef\x88\x01\x01\x12&\n" +
	"\fartifact_ref\x18\x04 \x01(\tH\x03R\vartifactRef\x88\x01\x01\x12$\n" +
	"\vsummary_ref\x18\x05 \x01(\tH\x04R\n" +
	"summaryRef\x88\x01\x01B\v\n" +
	"\t_slot_refB\n" +
	"\n" +
	"\b_job_refB\x12\n" +
	"\x10_environment_refB\x0f\n" +
	"\r_artifact_refB\x0e\n" +
	"\f_summary_ref\"\xf9\x01\n" +
	"\x16InteractionDeliveryRef\x12$\n" +
	"\vrequest_ref\x18\x01 \x01(\tH\x00R\n" +
	"requestRef\x88\x01\x01\x12&\n" +
	"\fdelivery_ref\x18\x02 \x01(\tH\x01R\vdeliveryRef\x88\x01\x01\x12&\n" +
	"\fcallback_ref\x18\x03 \x01(\tH\x02R\vcallbackRef\x88\x01\x01\x12&\n" +
	"\fdecision_ref\x18\x04 \x01(\tH\x03R\vdecisionRef\x88\x01\x01B\x0e\n" +
	"\f_request_refB\x0f\n" +
	"\r_delivery_refB\x0f\n" +
	"\r_callback_refB\x0f\n" +
	"\r_decision_ref\"\xda\x01\n" +
	"\vEvidenceRef\x125\n" +
	"\x04kind\x18\x01 \x01(\x0e2!.kodex.governance.v1.EvidenceKindR\x04kind\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\x12\x18\n" +
	"\asummary\x18\x03 \x01(\tR\asummary\x12\x1b\n" +
	"\x06digest\x18\x04 \x01(\tH\x00R\x06digest\x88\x01\x01\x12,\n" +
	"\x0fretention_class\x18\x05 \x01(\tH\x01R\x0eretentionClass\x88\x01\x01B\t\n" +
	"\a_digestB\x12\n" +
	"\x10_retention_class\"\xd4\x01\n" +
	"\x15RiskEvaluationSummary\x12>\n" +
	"\x19changed_files_summary_ref\x18\x01 \x01(\tH\x00R\x16changedFilesSummaryRef\x88\x01\x01\x12\x18\n" +
	"\asummary\x18\x02 \x01(\tR\asummary\x12C\n" +
	"\afactors\x18\x03 \x03(\v2).kodex.governance.v1.RiskEvaluationFactorR\afactorsB\x1c\n" +
	"\x1a_changed_files_summary_ref\"\xa2\x01\n" +
	"\x14RiskEvaluationFactor\x12J\n" +
	"\vsource_type\x18\x01 \x01(\x0e2).kodex.governance.v1.RiskFactorSourceTypeR\n" +
	"sourceType\x12\x10\n" +
	"\x03ref\x18\x02 \x01(\tR\x03ref\x12\x18\n" +
	"\asummary\x18\x03 \x01(\tR\asummary\x12\x12\n" +
	"\x04tags\x18\x04 \x03(\tR\x04tags\"\xdd\a\n" +
	"\x17SelfDeployPlanGateInput\x12/\n" +
	"\x14self_deploy_plan_ref\x18\x01 \x01(\tR\x11selfDeployPlanRef\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x123\n" +
	"\x13provider_signal_ref\x18\x03 \x01(\tH\x00R\x11providerSignalRef\x88\x01\x01\x12\"\n" +
	"\n" +
	"source_ref\x18\x04 \x01(\tH\x01R\tsourceRef\x88\x01\x01\x12-\n" +
	"\x10merge_commit_sha\x18\x05 \x01(\tH\x02R\x0emergeCommitSha\x88\x01\x01\x12/\n" +
	"\x11services_yaml_ref\x18\x06 \x01(\tH\x03R\x0fservicesYamlRef\x88\x01\x01\x125\n" +
	"\x14services_yaml_digest\x18\a \x01(\tH\x04R\x12servicesYamlDigest\x88\x01\x01\x122\n" +
	"\x15affected_service_keys\x18\b \x03(\tR\x13affectedServiceKeys\x12'\n" +
	"\x0fpath_categories\x18\t \x03(\tR\x0epathCategories\x12;\n" +
	"\x1aexpected_runtime_job_types\x18\n" +
	" \x03(\tR\x17expectedRuntimeJobTypes\x12>\n" +
	"\x19changed_files_summary_ref\x18\v \x01(\tH\x05R\x16changedFilesSummaryRef\x88\x01\x01\x12&\n" +
	"\fsafe_summary\x18\f \x01(\tH\x06R\vsafeSummary\x88\x01\x01\x12)\n" +
	"\x10plan_fingerprint\x18\r \x01(\tR\x0fplanFingerprint\x12E\n" +
	"\revidence_refs\x18\x0e \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12-\n" +
	"\x10risk_profile_ref\x18\x0f \x01(\tH\aR\x0eriskProfileRef\x88\x01\x01B\x16\n" +
	"\x14_provider_signal_refB\r\n" +
	"\v_source_refB\x13\n" +
	"\x11_merge_commit_shaB\x14\n" +
	"\x12_services_yaml_refB\x17\n" +
	"\x15_services_yaml_digestB\x1c\n" +
	"\x1a_changed_files_summary_refB\x0f\n" +
	"\r_safe_summaryB\x13\n" +
	"\x11_risk_profile_ref\"\xce\x01\n" +
	"\fRequiredGate\x12$\n" +
	"\x0egate_policy_id\x18\x01 \x01(\tR\fgatePolicyId\x12:\n" +
	"\tgate_kind\x18\x02 \x01(\x0e2\x1d.kodex.governance.v1.GateKindR\bgateKind\x12D\n" +
	"\x0emin_risk_class\x18\x03 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fminRiskClass\x12\x16\n" +
	"\x06reason\x18\x04 \x01(\tR\x06reason\"\xca\x03\n" +
	"\vRiskProfile\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x123\n" +
	"\x05scope\x18\x02 \x01(\v2\x1d.kodex.governance.v1.ScopeRefR\x05scope\x12\x12\n" +
	"\x04slug\x18\x03 \x01(\tR\x04slug\x12E\n" +
	"\fdisplay_name\x18\x04 \x03(\v2\".kodex.governance.v1.LocalizedTextR\vdisplayName\x12D\n" +
	"\vdescription\x18\x05 \x03(\v2\".kodex.governance.v1.LocalizedTextR\vdescription\x12>\n" +
	"\x06status\x18\x06 \x01(\x0e2&.kodex.governance.v1.RiskProfileStatusR\x06status\x12*\n" +
	"\x0eactive_version\x18\a \x01(\x03H\x00R\ractiveVersion\x88\x01\x01\x12\x18\n" +
	"\aversion\x18\b \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\t \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\n" +
	" \x01(\tR\tupdatedAtB\x11\n" +
	"\x0f_active_version\"\xa6\x03\n" +
	"\x12RiskProfileVersion\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x02 \x01(\x03R\x0eprofileVersion\x12E\n" +
	"\x06status\x18\x03 \x01(\x0e2-.kodex.governance.v1.RiskProfileVersionStatusR\x06status\x123\n" +
	"\x05rules\x18\x04 \x03(\v2\x1d.kodex.governance.v1.RiskRuleR\x05rules\x12D\n" +
	"\rgate_policies\x18\x05 \x03(\v2\x1f.kodex.governance.v1.GatePolicyR\fgatePolicies\x12%\n" +
	"\x0econtent_digest\x18\x06 \x01(\tR\rcontentDigest\x12\x1d\n" +
	"\n" +
	"created_at\x18\a \x01(\tR\tcreatedAt\x12&\n" +
	"\factivated_at\x18\b \x01(\tH\x00R\vactivatedAt\x88\x01\x01B\x0f\n" +
	"\r_activated_at\"\xb0\x04\n" +
	"\bRiskRule\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12&\n" +
	"\x0frisk_profile_id\x18\x02 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x03 \x01(\x03R\x0eprofileVersion\x12>\n" +
	"\trule_kind\x18\x04 \x01(\x0e2!.kodex.governance.v1.RiskRuleKindR\bruleKind\x12!\n" +
	"\fmatcher_json\x18\x05 \x01(\tR\vmatcherJson\x12D\n" +
	"\x0emin_risk_class\x18\x06 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fminRiskClass\x12:\n" +
	"\x17required_gate_policy_id\x18\a \x01(\tH\x00R\x14requiredGatePolicyId\x88\x01\x01\x12K\n" +
	"\x0freason_template\x18\b \x03(\v2\".kodex.governance.v1.LocalizedTextR\x0ereasonTemplate\x127\n" +
	"\x06status\x18\t \x01(\x0e2\x1f.kodex.governance.v1.RuleStatusR\x06status\x12\x1d\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\v \x01(\tR\tupdatedAtB\x1a\n" +
	"\x18_required_gate_policy_id\"\xfa\x03\n" +
	"\n" +
	"GatePolicy\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12+\n" +
	"\x0frisk_profile_id\x18\x02 \x01(\tH\x00R\rriskProfileId\x88\x01\x01\x12'\n" +
	"\x0fprofile_version\x18\x03 \x01(\x03R\x0eprofileVersion\x12:\n" +
	"\tgate_kind\x18\x04 \x01(\x0e2\x1d.kodex.governance.v1.GateKindR\bgateKind\x12D\n" +
	"\x0emin_risk_class\x18\x05 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fminRiskClass\x129\n" +
	"\x19required_actor_policy_ref\x18\x06 \x01(\tR\x16requiredActorPolicyRef\x122\n" +
	"\x15required_signal_kinds\x18\a \x03(\tR\x13requiredSignalKinds\x121\n" +
	"\x12timeout_policy_ref\x18\b \x01(\tH\x01R\x10timeoutPolicyRef\x88\x01\x01\x127\n" +
	"\x06status\x18\t \x01(\x0e2\x1f.kodex.governance.v1.RuleStatusR\x06statusB\x12\n" +
	"\x10_risk_profile_idB\x15\n" +
	"\x13_timeout_policy_ref\"\xf3\b\n" +
	"\x0eRiskAssessment\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12O\n" +
	"\x0fproject_context\x18\x03 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12R\n" +
	"\x10provider_context\x18\x04 \x01(\v2'.kodex.governance.v1.ProviderContextRefR\x0fproviderContext\x12I\n" +
	"\ragent_context\x18\x05 \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12O\n" +
	"\x0fruntime_context\x18\x06 \x01(\v2&.kodex.governance.v1.RuntimeContextRefR\x0eruntimeContext\x12L\n" +
	"\x12initial_risk_class\x18\a \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\x10initialRiskClass\x12P\n" +
	"\x14effective_risk_class\x18\b \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\x12effectiveRiskClass\x12A\n" +
	"\x06status\x18\t \x01(\x0e2).kodex.governance.v1.RiskAssessmentStatusR\x06status\x12 \n" +
	"\vexplanation\x18\n" +
	" \x01(\tR\vexplanation\x12H\n" +
	"\x0erequired_gates\x18\v \x03(\v2!.kodex.governance.v1.RequiredGateR\rrequiredGates\x12\x18\n" +
	"\aversion\x18\f \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\r \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x0e \x01(\tR\tupdatedAt\x12+\n" +
	"\x0frisk_profile_id\x18\x0f \x01(\tH\x00R\rriskProfileId\x88\x01\x01\x125\n" +
	"\x14risk_profile_version\x18\x10 \x01(\x03H\x01R\x12riskProfileVersion\x88\x01\x01\x12Y\n" +
	"\x12evaluation_summary\x18\x11 \x01(\v2*.kodex.governance.v1.RiskEvaluationSummaryR\x11evaluationSummary\x12E\n" +
	"\revidence_refs\x18\x12 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefsB\x12\n" +
	"\x10_risk_profile_idB\x17\n" +
	"\x15_risk_profile_version\"\xc1\x02\n" +
	"\n" +
	"RiskFactor\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12,\n" +
	"\x12risk_assessment_id\x18\x02 \x01(\tR\x10riskAssessmentId\x12J\n" +
	"\vsource_type\x18\x03 \x01(\x0e2).kodex.governance.v1.RiskFactorSourceTypeR\n" +
	"sourceType\x12\"\n" +
	"\n" +
	"source_ref\x18\x04 \x01(\tH\x00R\tsourceRef\x88\x01\x01\x12=\n" +
	"\n" +
	"risk_class\x18\x05 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\triskClass\x12\x18\n" +
	"\asummary\x18\x06 \x01(\tR\asummary\x12\x1d\n" +
	"\n" +
	"created_at\x18\a \x01(\tR\tcreatedAtB\r\n" +
	"\v_source_ref\"\xdb\x04\n" +
	"\fReviewSignal\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x121\n" +
	"\x12risk_assessment_id\x18\x02 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x126\n" +
	"\x06target\x18\x03 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12@\n" +
	"\trole_kind\x18\x04 \x01(\x0e2#.kodex.governance.v1.ReviewRoleKindR\broleKind\x12\x1d\n" +
	"\n" +
	"author_ref\x18\x05 \x01(\tR\tauthorRef\x12B\n" +
	"\aoutcome\x18\x06 \x01(\x0e2(.kodex.governance.v1.ReviewSignalOutcomeR\aoutcome\x12?\n" +
	"\bseverity\x18\a \x01(\x0e2#.kodex.governance.v1.SignalSeverityR\bseverity\x12D\n" +
	"\n" +
	"confidence\x18\b \x01(\x0e2\x1f.kodex.governance.v1.ConfidenceH\x01R\n" +
	"confidence\x88\x01\x01\x12E\n" +
	"\revidence_refs\x18\t \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12\x18\n" +
	"\asummary\x18\n" +
	" \x01(\tR\asummary\x12\x1d\n" +
	"\n" +
	"created_at\x18\v \x01(\tR\tcreatedAtB\x15\n" +
	"\x13_risk_assessment_idB\r\n" +
	"\v_confidence\"\x90\x06\n" +
	"\vGateRequest\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x121\n" +
	"\x12risk_assessment_id\x18\x02 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x12)\n" +
	"\x0egate_policy_id\x18\x03 \x01(\tH\x01R\fgatePolicyId\x88\x01\x01\x126\n" +
	"\x06target\x18\x04 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12e\n" +
	"\x18interaction_delivery_ref\x18\x05 \x01(\v2+.kodex.governance.v1.InteractionDeliveryRefR\x16interactionDeliveryRef\x12E\n" +
	"\revidence_refs\x18\x06 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12)\n" +
	"\x10evidence_summary\x18\a \x01(\tR\x0fevidenceSummary\x12>\n" +
	"\x06status\x18\b \x01(\x0e2&.kodex.governance.v1.GateRequestStatusR\x06status\x12\x18\n" +
	"\aversion\x18\t \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\n" +
	" \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\v \x01(\tR\tupdatedAt\x121\n" +
	"\x12terminal_actor_ref\x18\f \x01(\tH\x02R\x10terminalActorRef\x88\x01\x01\x12,\n" +
	"\x0fterminal_reason\x18\r \x01(\tH\x03R\x0eterminalReason\x88\x01\x01\x12$\n" +
	"\vterminal_at\x18\x0e \x01(\tH\x04R\n" +
	"terminalAt\x88\x01\x01B\x15\n" +
	"\x13_risk_assessment_idB\x11\n" +
	"\x0f_gate_policy_idB\x15\n" +
	"\x13_terminal_actor_refB\x12\n" +
	"\x10_terminal_reasonB\x0e\n" +
	"\f_terminal_at\"\x95\x03\n" +
	"\fGateDecision\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12&\n" +
	"\x0fgate_request_id\x18\x02 \x01(\tR\rgateRequestId\x12,\n" +
	"\x12decision_actor_ref\x18\x03 \x01(\tR\x10decisionActorRef\x12.\n" +
	"\x13decision_policy_ref\x18\x04 \x01(\tR\x11decisionPolicyRef\x12:\n" +
	"\aoutcome\x18\x05 \x01(\x0e2 .kodex.governance.v1.GateOutcomeR\aoutcome\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\x122\n" +
	"\x12conditions_summary\x18\a \x01(\tH\x00R\x11conditionsSummary\x88\x01\x01\x12\"\n" +
	"\n" +
	"source_ref\x18\b \x01(\tH\x01R\tsourceRef\x88\x01\x01\x12\x1d\n" +
	"\n" +
	"decided_at\x18\t \x01(\tR\tdecidedAtB\x15\n" +
	"\x13_conditions_summaryB\r\n" +
	"\v_source_ref\"\xad\a\n" +
	"\x16ReleaseDecisionPackage\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x122\n" +
	"\x15release_candidate_ref\x18\x02 \x01(\tR\x13releaseCandidateRef\x12O\n" +
	"\x0fproject_context\x18\x03 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12'\n" +
	"\x0frepository_refs\x18\x04 \x03(\tR\x0erepositoryRefs\x121\n" +
	"\x12risk_assessment_id\x18\x05 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x12L\n" +
	"\rprovider_refs\x18\x06 \x03(\v2'.kodex.governance.v1.ProviderContextRefR\fproviderRefs\x12I\n" +
	"\fruntime_refs\x18\a \x03(\v2&.kodex.governance.v1.RuntimeContextRefR\vruntimeRefs\x12I\n" +
	"\ragent_context\x18\b \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12*\n" +
	"\x11review_signal_ids\x18\t \x03(\tR\x0freviewSignalIds\x12E\n" +
	"\revidence_refs\x18\n" +
	" \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12:\n" +
	"\x19known_limitations_summary\x18\v \x01(\tR\x17knownLimitationsSummary\x12I\n" +
	"\x06status\x18\f \x01(\x0e21.kodex.governance.v1.ReleaseDecisionPackageStatusR\x06status\x12\x18\n" +
	"\aversion\x18\r \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\x0e \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x0f \x01(\tR\tupdatedAt\x12U\n" +
	"\x10integration_refs\x18\x10 \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefsB\x15\n" +
	"\x13_risk_assessment_id\"\xa9\x04\n" +
	"\x0fReleaseDecision\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12=\n" +
	"\x1brelease_decision_package_id\x18\x02 \x01(\tR\x18releaseDecisionPackageId\x12-\n" +
	"\x10gate_decision_id\x18\x03 \x01(\tH\x00R\x0egateDecisionId\x88\x01\x01\x12E\n" +
	"\aoutcome\x18\x04 \x01(\x0e2+.kodex.governance.v1.ReleaseDecisionOutcomeR\aoutcome\x12,\n" +
	"\x12decision_actor_ref\x18\x05 \x01(\tR\x10decisionActorRef\x12.\n" +
	"\x13decision_policy_ref\x18\x06 \x01(\tR\x11decisionPolicyRef\x12\x16\n" +
	"\x06reason\x18\a \x01(\tR\x06reason\x122\n" +
	"\x12conditions_summary\x18\b \x01(\tH\x01R\x11conditionsSummary\x88\x01\x01\x12B\n" +
	"\x06status\x18\t \x01(\x0e2*.kodex.governance.v1.ReleaseDecisionStatusR\x06status\x12\x18\n" +
	"\aversion\x18\n" +
	" \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"decided_at\x18\v \x01(\tR\tdecidedAtB\x13\n" +
	"\x11_gate_decision_idB\x15\n" +
	"\x13_conditions_summary\"\xae\x03\n" +
	"\x12ReleaseSafetyState\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x12=\n" +
	"\x1brelease_decision_package_id\x18\x02 \x01(\tR\x18releaseDecisionPackageId\x12P\n" +
	"\rcurrent_state\x18\x03 \x01(\x0e2+.kodex.governance.v1.ReleaseSafetyStateKindR\fcurrentState\x12+\n" +
	"\x0fruntime_job_ref\x18\x04 \x01(\tH\x00R\rruntimeJobRef\x88\x01\x01\x122\n" +
	"\x15blocking_signal_count\x18\x05 \x01(\x05R\x13blockingSignalCount\x12*\n" +
	"\x11last_state_reason\x18\x06 \x01(\tR\x0flastStateReason\x12\x18\n" +
	"\aversion\x18\a \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\b \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\t \x01(\tR\tupdatedAtB\x12\n" +
	"\x10_runtime_job_ref\"\xe8\x03\n" +
	"\x0eBlockingSignal\x12\x0e\n" +
	"\x02id\x18\x01 \x01(\tR\x02id\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12N\n" +
	"\vsource_type\x18\x03 \x01(\x0e2-.kodex.governance.v1.BlockingSignalSourceTypeR\n" +
	"sourceType\x12\"\n" +
	"\n" +
	"source_ref\x18\x04 \x01(\tH\x00R\tsourceRef\x88\x01\x01\x12?\n" +
	"\bseverity\x18\x05 \x01(\x0e2#.kodex.governance.v1.SignalSeverityR\bseverity\x12\x18\n" +
	"\asummary\x18\x06 \x01(\tR\asummary\x12A\n" +
	"\x06status\x18\a \x01(\x0e2).kodex.governance.v1.BlockingSignalStatusR\x06status\x12\x18\n" +
	"\aversion\x18\b \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\t \x01(\tR\tcreatedAt\x12$\n" +
	"\vresolved_at\x18\n" +
	" \x01(\tH\x01R\n" +
	"resolvedAt\x88\x01\x01B\r\n" +
	"\v_source_refB\x0e\n" +
	"\f_resolved_at\"\xc6\x03\n" +
	"\x16GovernanceSummaryScope\x126\n" +
	"\x06target\x18\x01 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x127\n" +
	"\x15release_candidate_ref\x18\x03 \x01(\tH\x00R\x13releaseCandidateRef\x88\x01\x01\x12B\n" +
	"\x1brelease_decision_package_id\x18\x04 \x01(\tH\x01R\x18releaseDecisionPackageId\x88\x01\x01\x12X\n" +
	"\x0fintegration_ref\x18\x05 \x01(\v2*.kodex.governance.v1.ReleaseIntegrationRefH\x02R\x0eintegrationRef\x88\x01\x01B\x18\n" +
	"\x16_release_candidate_refB\x1e\n" +
	"\x1c_release_decision_package_idB\x12\n" +
	"\x10_integration_ref\"\x99\x0f\n" +
	"\x19GovernanceDecisionSummary\x12F\n" +
	"\x04kind\x18\x01 \x01(\x0e22.kodex.governance.v1.GovernanceDecisionSummaryKindR\x04kind\x12N\n" +
	"\tattention\x18\x02 \x01(\x0e20.kodex.governance.v1.GovernanceDecisionAttentionR\tattention\x12\x0e\n" +
	"\x02id\x18\x03 \x01(\tR\x02id\x12 \n" +
	"\tparent_id\x18\x04 \x01(\tH\x00R\bparentId\x88\x01\x01\x126\n" +
	"\x06target\x18\x05 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12O\n" +
	"\x0fproject_context\x18\x06 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x127\n" +
	"\x15release_candidate_ref\x18\a \x01(\tH\x01R\x13releaseCandidateRef\x88\x01\x01\x12B\n" +
	"\x1brelease_decision_package_id\x18\b \x01(\tH\x02R\x18releaseDecisionPackageId\x88\x01\x01\x12=\n" +
	"\n" +
	"risk_class\x18\t \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\triskClass\x12O\n" +
	"\x0ereview_outcome\x18\n" +
	" \x01(\x0e2(.kodex.governance.v1.ReviewSignalOutcomeR\rreviewOutcome\x12V\n" +
	"\x13gate_request_status\x18\v \x01(\x0e2&.kodex.governance.v1.GateRequestStatusR\x11gateRequestStatus\x12C\n" +
	"\fgate_outcome\x18\f \x01(\x0e2 .kodex.governance.v1.GateOutcomeR\vgateOutcome\x12g\n" +
	"\x16release_package_status\x18\r \x01(\x0e21.kodex.governance.v1.ReleaseDecisionPackageStatusR\x14releasePackageStatus\x12b\n" +
	"\x17release_decision_status\x18\x0e \x01(\x0e2*.kodex.governance.v1.ReleaseDecisionStatusR\x15releaseDecisionStatus\x12e\n" +
	"\x18release_decision_outcome\x18\x0f \x01(\x0e2+.kodex.governance.v1.ReleaseDecisionOutcomeR\x16releaseDecisionOutcome\x12_\n" +
	"\x16blocking_signal_status\x18\x10 \x01(\x0e2).kodex.governance.v1.BlockingSignalStatusR\x14blockingSignalStatus\x12?\n" +
	"\bseverity\x18\x11 \x01(\x0e2#.kodex.governance.v1.SignalSeverityR\bseverity\x12!\n" +
	"\fsafe_summary\x18\x12 \x01(\tR\vsafeSummary\x12E\n" +
	"\revidence_refs\x18\x13 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12U\n" +
	"\x10integration_refs\x18\x14 \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefs\x12L\n" +
	"\rprovider_refs\x18\x15 \x03(\v2'.kodex.governance.v1.ProviderContextRefR\fproviderRefs\x12I\n" +
	"\fruntime_refs\x18\x16 \x03(\v2&.kodex.governance.v1.RuntimeContextRefR\vruntimeRefs\x12I\n" +
	"\ragent_context\x18\x17 \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12\x18\n" +
	"\aversion\x18\x18 \x01(\x03R\aversion\x12\x1d\n" +
	"\n" +
	"created_at\x18\x19 \x01(\tR\tcreatedAt\x12\x1d\n" +
	"\n" +
	"updated_at\x18\x1a \x01(\tR\tupdatedAt\x12$\n" +
	"\vobserved_at\x18\x1b \x01(\tH\x03R\n" +
	"observedAt\x88\x01\x01\x12.\n" +
	"\x13required_gate_count\x18\x1c \x01(\x05R\x11requiredGateCountB\f\n" +
	"\n" +
	"_parent_idB\x18\n" +
	"\x16_release_candidate_refB\x1e\n" +
	"\x1c_release_decision_package_idB\x0e\n" +
	"\f_observed_at\"\xab\x04\n" +
	"\x19GovernanceEvidenceSummary\x12\x1f\n" +
	"\vsource_kind\x18\x01 \x01(\tR\n" +
	"sourceKind\x12\x1d\n" +
	"\n" +
	"source_ref\x18\x02 \x01(\tR\tsourceRef\x12\x1b\n" +
	"\x06status\x18\x03 \x01(\tH\x00R\x06status\x88\x01\x01\x12\x1d\n" +
	"\aoutcome\x18\x04 \x01(\tH\x01R\aoutcome\x88\x01\x01\x12!\n" +
	"\fsafe_summary\x18\x05 \x01(\tR\vsafeSummary\x12\"\n" +
	"\n" +
	"error_code\x18\x06 \x01(\tH\x02R\terrorCode\x88\x01\x01\x12\x1b\n" +
	"\x06digest\x18\a \x01(\tH\x03R\x06digest\x88\x01\x01\x12$\n" +
	"\vobserved_at\x18\b \x01(\tH\x04R\n" +
	"observedAt\x88\x01\x01\x12\x1d\n" +
	"\aversion\x18\t \x01(\tH\x05R\aversion\x88\x01\x01\x12E\n" +
	"\revidence_refs\x18\n" +
	" \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12U\n" +
	"\x10integration_refs\x18\v \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefsB\t\n" +
	"\a_statusB\n" +
	"\n" +
	"\b_outcomeB\r\n" +
	"\v_error_codeB\t\n" +
	"\a_digestB\x0e\n" +
	"\f_observed_atB\n" +
	"\n" +
	"\b_version\"\xdb\x03\n" +
	"\x11GovernanceSummary\x12A\n" +
	"\x05scope\x18\x01 \x01(\v2+.kodex.governance.v1.GovernanceSummaryScopeR\x05scope\x12[\n" +
	"\x11pending_decisions\x18\x02 \x03(\v2..kodex.governance.v1.GovernanceDecisionSummaryR\x10pendingDecisions\x12_\n" +
	"\x13completed_decisions\x18\x03 \x03(\v2..kodex.governance.v1.GovernanceDecisionSummaryR\x12completedDecisions\x12]\n" +
	"\x12evidence_summaries\x18\x04 \x03(\v2..kodex.governance.v1.GovernanceEvidenceSummaryR\x11evidenceSummaries\x12 \n" +
	"\vdiagnostics\x18\x05 \x03(\tR\vdiagnostics\x12D\n" +
	"\x06status\x18\x06 \x01(\v2,.kodex.governance.v1.GovernanceSummaryStatusR\x06status\"\xdd\x02\n" +
	"\rRiskRuleDraft\x12>\n" +
	"\trule_kind\x18\x01 \x01(\x0e2!.kodex.governance.v1.RiskRuleKindR\bruleKind\x12!\n" +
	"\fmatcher_json\x18\x02 \x01(\tR\vmatcherJson\x12D\n" +
	"\x0emin_risk_class\x18\x03 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fminRiskClass\x12:\n" +
	"\x17required_gate_policy_id\x18\x04 \x01(\tH\x00R\x14requiredGatePolicyId\x88\x01\x01\x12K\n" +
	"\x0freason_template\x18\x05 \x03(\v2\".kodex.governance.v1.LocalizedTextR\x0ereasonTemplateB\x1a\n" +
	"\x18_required_gate_policy_id\"\xcc\x02\n" +
	"\x0fGatePolicyDraft\x12:\n" +
	"\tgate_kind\x18\x01 \x01(\x0e2\x1d.kodex.governance.v1.GateKindR\bgateKind\x12D\n" +
	"\x0emin_risk_class\x18\x02 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fminRiskClass\x129\n" +
	"\x19required_actor_policy_ref\x18\x03 \x01(\tR\x16requiredActorPolicyRef\x122\n" +
	"\x15required_signal_kinds\x18\x04 \x03(\tR\x13requiredSignalKinds\x121\n" +
	"\x12timeout_policy_ref\x18\x05 \x01(\tH\x00R\x10timeoutPolicyRef\x88\x01\x01B\x15\n" +
	"\x13_timeout_policy_ref\"\xa6\x02\n" +
	"\x18CreateRiskProfileRequest\x123\n" +
	"\x05scope\x18\x01 \x01(\v2\x1d.kodex.governance.v1.ScopeRefR\x05scope\x12\x12\n" +
	"\x04slug\x18\x02 \x01(\tR\x04slug\x12E\n" +
	"\fdisplay_name\x18\x03 \x03(\v2\".kodex.governance.v1.LocalizedTextR\vdisplayName\x12D\n" +
	"\vdescription\x18\x04 \x03(\v2\".kodex.governance.v1.LocalizedTextR\vdescription\x124\n" +
	"\x04meta\x18\x05 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xab\x02\n" +
	"\x1fCreateRiskProfileVersionRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x128\n" +
	"\x05rules\x18\x02 \x03(\v2\".kodex.governance.v1.RiskRuleDraftR\x05rules\x12I\n" +
	"\rgate_policies\x18\x03 \x03(\v2$.kodex.governance.v1.GatePolicyDraftR\fgatePolicies\x12%\n" +
	"\x0echange_summary\x18\x04 \x01(\tR\rchangeSummary\x124\n" +
	"\x04meta\x18\x05 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xaa\x01\n" +
	"!ActivateRiskProfileVersionRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x02 \x01(\x03R\x0eprofileVersion\x124\n" +
	"\x04meta\x18\x03 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"y\n" +
	"\x19ArchiveRiskProfileRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x124\n" +
	"\x04meta\x18\x02 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"s\n" +
	"\x15GetRiskProfileRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\xa3\x01\n" +
	"\x1cGetRiskProfileVersionRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x02 \x01(\x03R\x0eprofileVersion\x122\n" +
	"\x04meta\x18\x03 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\x88\x02\n" +
	"\x17ListRiskProfilesRequest\x123\n" +
	"\x05scope\x18\x01 \x01(\v2\x1d.kodex.governance.v1.ScopeRefR\x05scope\x12C\n" +
	"\x06status\x18\x02 \x01(\x0e2&.kodex.governance.v1.RiskProfileStatusH\x00R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x03 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x04 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\t\n" +
	"\a_status\"\xed\x02\n" +
	"\x14ListRiskRulesRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x02 \x01(\x03R\x0eprofileVersion\x12C\n" +
	"\trule_kind\x18\x03 \x01(\x0e2!.kodex.governance.v1.RiskRuleKindH\x00R\bruleKind\x88\x01\x01\x12<\n" +
	"\x06status\x18\x04 \x01(\x0e2\x1f.kodex.governance.v1.RuleStatusH\x01R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x05 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x06 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\f\n" +
	"\n" +
	"_rule_kindB\t\n" +
	"\a_status\"\xec\x02\n" +
	"\x17ListGatePoliciesRequest\x12&\n" +
	"\x0frisk_profile_id\x18\x01 \x01(\tR\rriskProfileId\x12'\n" +
	"\x0fprofile_version\x18\x02 \x01(\x03R\x0eprofileVersion\x12?\n" +
	"\tgate_kind\x18\x03 \x01(\x0e2\x1d.kodex.governance.v1.GateKindH\x00R\bgateKind\x88\x01\x01\x12<\n" +
	"\x06status\x18\x04 \x01(\x0e2\x1f.kodex.governance.v1.RuleStatusH\x01R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x05 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x06 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\f\n" +
	"\n" +
	"_gate_kindB\t\n" +
	"\a_status\"\xaa\x05\n" +
	"\x13EvaluateRiskRequest\x126\n" +
	"\x06target\x18\x01 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12R\n" +
	"\x10provider_context\x18\x03 \x01(\v2'.kodex.governance.v1.ProviderContextRefR\x0fproviderContext\x12I\n" +
	"\ragent_context\x18\x04 \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12O\n" +
	"\x0fruntime_context\x18\x05 \x01(\v2&.kodex.governance.v1.RuntimeContextRefR\x0eruntimeContext\x12E\n" +
	"\revidence_refs\x18\x06 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12-\n" +
	"\x10risk_profile_ref\x18\a \x01(\tH\x00R\x0eriskProfileRef\x88\x01\x01\x124\n" +
	"\x04meta\x18\b \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\x12Y\n" +
	"\x12evaluation_summary\x18\t \x01(\v2*.kodex.governance.v1.RiskEvaluationSummaryR\x11evaluationSummaryB\x13\n" +
	"\x11_risk_profile_ref\"\x99\x03\n" +
	"\x15ReevaluateRiskRequest\x12,\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tR\x10riskAssessmentId\x12L\n" +
	"\x11new_evidence_refs\x18\x02 \x03(\v2 .kodex.governance.v1.EvidenceRefR\x0fnewEvidenceRefs\x12/\n" +
	"\x13reevaluation_reason\x18\x03 \x01(\tR\x12reevaluationReason\x124\n" +
	"\x04meta\x18\x04 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\x12Y\n" +
	"\x12evaluation_summary\x18\x05 \x01(\v2*.kodex.governance.v1.RiskEvaluationSummaryR\x11evaluationSummary\x12-\n" +
	"\x10risk_profile_ref\x18\x06 \x01(\tH\x00R\x0eriskProfileRef\x88\x01\x01B\x13\n" +
	"\x11_risk_profile_ref\"\xdb\x01\n" +
	"\x18GetRiskAssessmentRequest\x12,\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tR\x10riskAssessmentId\x12'\n" +
	"\x0finclude_factors\x18\x02 \x01(\bR\x0eincludeFactors\x124\n" +
	"\x16include_review_signals\x18\x03 \x01(\bR\x14includeReviewSignals\x122\n" +
	"\x04meta\x18\x04 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\xd2\x03\n" +
	"\x1aListRiskAssessmentsRequest\x126\n" +
	"\x06target\x18\x01 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12U\n" +
	"\x14effective_risk_class\x18\x03 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassH\x00R\x12effectiveRiskClass\x88\x01\x01\x12F\n" +
	"\x06status\x18\x04 \x01(\x0e2).kodex.governance.v1.RiskAssessmentStatusH\x01R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x05 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x06 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x17\n" +
	"\x15_effective_risk_classB\t\n" +
	"\a_status\"\x91\x02\n" +
	"\x16ListRiskFactorsRequest\x12,\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tR\x10riskAssessmentId\x12O\n" +
	"\vsource_type\x18\x02 \x01(\x0e2).kodex.governance.v1.RiskFactorSourceTypeH\x00R\n" +
	"sourceType\x88\x01\x01\x124\n" +
	"\x04page\x18\x03 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x04 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x0e\n" +
	"\f_source_type\"\xef\x04\n" +
	"\x19RecordReviewSignalRequest\x121\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12@\n" +
	"\trole_kind\x18\x03 \x01(\x0e2#.kodex.governance.v1.ReviewRoleKindR\broleKind\x12\x1d\n" +
	"\n" +
	"author_ref\x18\x04 \x01(\tR\tauthorRef\x12B\n" +
	"\aoutcome\x18\x05 \x01(\x0e2(.kodex.governance.v1.ReviewSignalOutcomeR\aoutcome\x12?\n" +
	"\bseverity\x18\x06 \x01(\x0e2#.kodex.governance.v1.SignalSeverityR\bseverity\x12D\n" +
	"\n" +
	"confidence\x18\a \x01(\x0e2\x1f.kodex.governance.v1.ConfidenceH\x01R\n" +
	"confidence\x88\x01\x01\x12E\n" +
	"\revidence_refs\x18\b \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12\x18\n" +
	"\asummary\x18\t \x01(\tR\asummary\x124\n" +
	"\x04meta\x18\n" +
	" \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\x15\n" +
	"\x13_risk_assessment_idB\r\n" +
	"\v_confidence\"\xb0\x03\n" +
	"\x18ListReviewSignalsRequest\x121\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12E\n" +
	"\trole_kind\x18\x03 \x01(\x0e2#.kodex.governance.v1.ReviewRoleKindH\x01R\broleKind\x88\x01\x01\x12G\n" +
	"\aoutcome\x18\x04 \x01(\x0e2(.kodex.governance.v1.ReviewSignalOutcomeH\x02R\aoutcome\x88\x01\x01\x124\n" +
	"\x04page\x18\x05 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x06 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x15\n" +
	"\x13_risk_assessment_idB\f\n" +
	"\n" +
	"_role_kindB\n" +
	"\n" +
	"\b_outcome\"\x99\x04\n" +
	"\x12RequestGateRequest\x121\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x12)\n" +
	"\x0egate_policy_id\x18\x02 \x01(\tH\x01R\fgatePolicyId\x88\x01\x01\x126\n" +
	"\x06target\x18\x03 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12e\n" +
	"\x18interaction_delivery_ref\x18\x04 \x01(\v2+.kodex.governance.v1.InteractionDeliveryRefR\x16interactionDeliveryRef\x12E\n" +
	"\revidence_refs\x18\x05 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12)\n" +
	"\x10evidence_summary\x18\x06 \x01(\tR\x0fevidenceSummary\x12$\n" +
	"\vdeadline_at\x18\a \x01(\tH\x02R\n" +
	"deadlineAt\x88\x01\x01\x124\n" +
	"\x04meta\x18\b \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\x15\n" +
	"\x13_risk_assessment_idB\x11\n" +
	"\x0f_gate_policy_idB\x0e\n" +
	"\f_deadline_at\"\xdd\x03\n" +
	"\x19SubmitGateDecisionRequest\x12&\n" +
	"\x0fgate_request_id\x18\x01 \x01(\tR\rgateRequestId\x12,\n" +
	"\x12decision_actor_ref\x18\x02 \x01(\tR\x10decisionActorRef\x12.\n" +
	"\x13decision_policy_ref\x18\x03 \x01(\tR\x11decisionPolicyRef\x12:\n" +
	"\aoutcome\x18\x04 \x01(\x0e2 .kodex.governance.v1.GateOutcomeR\aoutcome\x12\x16\n" +
	"\x06reason\x18\x05 \x01(\tR\x06reason\x122\n" +
	"\x12conditions_summary\x18\x06 \x01(\tH\x00R\x11conditionsSummary\x88\x01\x01\x12e\n" +
	"\x18interaction_delivery_ref\x18\a \x01(\v2+.kodex.governance.v1.InteractionDeliveryRefR\x16interactionDeliveryRef\x124\n" +
	"\x04meta\x18\b \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\x15\n" +
	"\x13_conditions_summary\"\xf0\x01\n" +
	"\x11CancelGateRequest\x12&\n" +
	"\x0fgate_request_id\x18\x01 \x01(\tR\rgateRequestId\x12\x16\n" +
	"\x06reason\x18\x02 \x01(\tR\x06reason\x12e\n" +
	"\x18interaction_delivery_ref\x18\x03 \x01(\v2+.kodex.governance.v1.InteractionDeliveryRefR\x16interactionDeliveryRef\x124\n" +
	"\x04meta\x18\x04 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xf0\x01\n" +
	"\x11ExpireGateRequest\x12&\n" +
	"\x0fgate_request_id\x18\x01 \x01(\tR\rgateRequestId\x12\x16\n" +
	"\x06reason\x18\x02 \x01(\tR\x06reason\x12e\n" +
	"\x18interaction_delivery_ref\x18\x03 \x01(\v2+.kodex.governance.v1.InteractionDeliveryRefR\x16interactionDeliveryRef\x124\n" +
	"\x04meta\x18\x04 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\x9e\x01\n" +
	"\x16GetGateDecisionRequest\x12(\n" +
	"\x10gate_decision_id\x18\x01 \x01(\tR\x0egateDecisionId\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\x12&\n" +
	"\x0fgate_request_id\x18\x03 \x01(\tR\rgateRequestId\"\xca\x02\n" +
	"\x18ListGateDecisionsRequest\x12+\n" +
	"\x0fgate_request_id\x18\x01 \x01(\tH\x00R\rgateRequestId\x88\x01\x01\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12?\n" +
	"\aoutcome\x18\x03 \x01(\x0e2 .kodex.governance.v1.GateOutcomeH\x01R\aoutcome\x88\x01\x01\x124\n" +
	"\x04page\x18\x04 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x05 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x12\n" +
	"\x10_gate_request_idB\n" +
	"\n" +
	"\b_outcome\"\x9e\x01\n" +
	"\x15GetGateRequestRequest\x12&\n" +
	"\x0fgate_request_id\x18\x01 \x01(\tR\rgateRequestId\x12)\n" +
	"\x10include_decision\x18\x02 \x01(\bR\x0fincludeDecision\x122\n" +
	"\x04meta\x18\x03 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\xd5\x02\n" +
	"\x17ListGateRequestsRequest\x121\n" +
	"\x12risk_assessment_id\x18\x01 \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x126\n" +
	"\x06target\x18\x02 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12C\n" +
	"\x06status\x18\x03 \x01(\x0e2&.kodex.governance.v1.GateRequestStatusH\x01R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x04 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x05 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x15\n" +
	"\x13_risk_assessment_idB\t\n" +
	"\a_status\"\x9a\x01\n" +
	" PrepareSelfDeployPlanGateRequest\x12@\n" +
	"\x04plan\x18\x01 \x01(\v2,.kodex.governance.v1.SelfDeployPlanGateInputR\x04plan\x124\n" +
	"\x04meta\x18\x02 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xbc\x06\n" +
	"\"BuildReleaseDecisionPackageRequest\x122\n" +
	"\x15release_candidate_ref\x18\x01 \x01(\tR\x13releaseCandidateRef\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12'\n" +
	"\x0frepository_refs\x18\x03 \x03(\tR\x0erepositoryRefs\x12L\n" +
	"\rprovider_refs\x18\x04 \x03(\v2'.kodex.governance.v1.ProviderContextRefR\fproviderRefs\x12I\n" +
	"\fruntime_refs\x18\x05 \x03(\v2&.kodex.governance.v1.RuntimeContextRefR\vruntimeRefs\x12I\n" +
	"\ragent_context\x18\x06 \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12*\n" +
	"\x11review_signal_ids\x18\a \x03(\tR\x0freviewSignalIds\x12E\n" +
	"\revidence_refs\x18\b \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12:\n" +
	"\x19known_limitations_summary\x18\t \x01(\tR\x17knownLimitationsSummary\x124\n" +
	"\x04meta\x18\n" +
	" \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\x121\n" +
	"\x12risk_assessment_id\x18\v \x01(\tH\x00R\x10riskAssessmentId\x88\x01\x01\x12U\n" +
	"\x10integration_refs\x18\f \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefsB\x15\n" +
	"\x13_risk_assessment_id\"\x83\x03\n" +
	"#RecordReleaseRuntimeEvidenceRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x12I\n" +
	"\fruntime_refs\x18\x02 \x03(\v2&.kodex.governance.v1.RuntimeContextRefR\vruntimeRefs\x12E\n" +
	"\revidence_refs\x18\x03 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12U\n" +
	"\x10integration_refs\x18\x04 \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefs\x124\n" +
	"\x04meta\x18\x05 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\x81\x03\n" +
	"!RecordReleaseAgentEvidenceRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x12I\n" +
	"\ragent_context\x18\x02 \x01(\v2$.kodex.governance.v1.AgentContextRefR\fagentContext\x12E\n" +
	"\revidence_refs\x18\x03 \x03(\v2 .kodex.governance.v1.EvidenceRefR\fevidenceRefs\x12U\n" +
	"\x10integration_refs\x18\x04 \x03(\v2*.kodex.governance.v1.ReleaseIntegrationRefR\x0fintegrationRefs\x124\n" +
	"\x04meta\x18\x05 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\x95\x01\n" +
	" GetReleaseDecisionPackageRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\x8d\x03\n" +
	"\"ListReleaseDecisionPackagesRequest\x12O\n" +
	"\x0fproject_context\x18\x01 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x127\n" +
	"\x15release_candidate_ref\x18\x02 \x01(\tH\x00R\x13releaseCandidateRef\x88\x01\x01\x12N\n" +
	"\x06status\x18\x03 \x01(\x0e21.kodex.governance.v1.ReleaseDecisionPackageStatusH\x01R\x06status\x88\x01\x01\x124\n" +
	"\x04page\x18\x04 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x05 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x18\n" +
	"\x16_release_candidate_refB\t\n" +
	"\a_status\"\xcd\x01\n" +
	"\x1dRequestReleaseDecisionRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x127\n" +
	"\x18request_gate_if_required\x18\x02 \x01(\bR\x15requestGateIfRequired\x124\n" +
	"\x04meta\x18\x03 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xdf\x03\n" +
	"\x1cSubmitReleaseDecisionRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x12-\n" +
	"\x10gate_decision_id\x18\x02 \x01(\tH\x00R\x0egateDecisionId\x88\x01\x01\x12E\n" +
	"\aoutcome\x18\x03 \x01(\x0e2+.kodex.governance.v1.ReleaseDecisionOutcomeR\aoutcome\x12,\n" +
	"\x12decision_actor_ref\x18\x04 \x01(\tR\x10decisionActorRef\x12.\n" +
	"\x13decision_policy_ref\x18\x05 \x01(\tR\x11decisionPolicyRef\x12\x16\n" +
	"\x06reason\x18\x06 \x01(\tR\x06reason\x122\n" +
	"\x12conditions_summary\x18\a \x01(\tH\x01R\x11conditionsSummary\x88\x01\x01\x124\n" +
	"\x04meta\x18\b \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\x13\n" +
	"\x11_gate_decision_idB\x15\n" +
	"\x13_conditions_summary\"\x7f\n" +
	"\x19GetReleaseDecisionRequest\x12.\n" +
	"\x13release_decision_id\x18\x01 \x01(\tR\x11releaseDecisionId\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\xe8\x03\n" +
	"\x1bListReleaseDecisionsRequest\x12B\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tH\x00R\x18releaseDecisionPackageId\x88\x01\x01\x12O\n" +
	"\x0fproject_context\x18\x02 \x01(\v2&.kodex.governance.v1.ProjectContextRefR\x0eprojectContext\x12G\n" +
	"\x06status\x18\x03 \x01(\x0e2*.kodex.governance.v1.ReleaseDecisionStatusH\x01R\x06status\x88\x01\x01\x12J\n" +
	"\aoutcome\x18\x04 \x01(\x0e2+.kodex.governance.v1.ReleaseDecisionOutcomeH\x02R\aoutcome\x88\x01\x01\x124\n" +
	"\x04page\x18\x05 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x06 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\x1e\n" +
	"\x1c_release_decision_package_idB\t\n" +
	"\a_statusB\n" +
	"\n" +
	"\b_outcome\"\xe9\x02\n" +
	"\x1bRecordBlockingSignalRequest\x126\n" +
	"\x06target\x18\x01 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12N\n" +
	"\vsource_type\x18\x02 \x01(\x0e2-.kodex.governance.v1.BlockingSignalSourceTypeR\n" +
	"sourceType\x12\"\n" +
	"\n" +
	"source_ref\x18\x03 \x01(\tH\x00R\tsourceRef\x88\x01\x01\x12?\n" +
	"\bseverity\x18\x04 \x01(\x0e2#.kodex.governance.v1.SignalSeverityR\bseverity\x12\x18\n" +
	"\asummary\x18\x05 \x01(\tR\asummary\x124\n" +
	"\x04meta\x18\x06 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\r\n" +
	"\v_source_ref\"\x85\x02\n" +
	"\x1cResolveBlockingSignalRequest\x12,\n" +
	"\x12blocking_signal_id\x18\x01 \x01(\tR\x10blockingSignalId\x12R\n" +
	"\x0fterminal_status\x18\x02 \x01(\x0e2).kodex.governance.v1.BlockingSignalStatusR\x0eterminalStatus\x12-\n" +
	"\x12resolution_summary\x18\x03 \x01(\tR\x11resolutionSummary\x124\n" +
	"\x04meta\x18\x04 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04meta\"\xe4\x02\n" +
	"\x1aListBlockingSignalsRequest\x126\n" +
	"\x06target\x18\x01 \x01(\v2\x1e.kodex.governance.v1.TargetRefR\x06target\x12F\n" +
	"\x06status\x18\x02 \x01(\x0e2).kodex.governance.v1.BlockingSignalStatusH\x00R\x06status\x88\x01\x01\x12D\n" +
	"\bseverity\x18\x03 \x01(\x0e2#.kodex.governance.v1.SignalSeverityH\x01R\bseverity\x88\x01\x01\x124\n" +
	"\x04page\x18\x04 \x01(\v2 .kodex.governance.v1.PageRequestR\x04page\x122\n" +
	"\x04meta\x18\x05 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04metaB\t\n" +
	"\a_statusB\v\n" +
	"\t_severity\"\xd5\x02\n" +
	"\x1fRecordReleaseSafetyStateRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x12P\n" +
	"\rcurrent_state\x18\x02 \x01(\x0e2+.kodex.governance.v1.ReleaseSafetyStateKindR\fcurrentState\x12+\n" +
	"\x0fruntime_job_ref\x18\x03 \x01(\tH\x00R\rruntimeJobRef\x88\x01\x01\x12*\n" +
	"\x11last_state_reason\x18\x04 \x01(\tR\x0flastStateReason\x124\n" +
	"\x04meta\x18\x05 \x01(\v2 .kodex.governance.v1.CommandMetaR\x04metaB\x12\n" +
	"\x10_runtime_job_ref\"\x91\x01\n" +
	"\x1cGetReleaseSafetyStateRequest\x12=\n" +
	"\x1brelease_decision_package_id\x18\x01 \x01(\tR\x18releaseDecisionPackageId\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"\x94\x01\n" +
	"\x1bGetGovernanceSummaryRequest\x12A\n" +
	"\x05scope\x18\x01 \x01(\v2+.kodex.governance.v1.GovernanceSummaryScopeR\x05scope\x122\n" +
	"\x04meta\x18\x02 \x01(\v2\x1e.kodex.governance.v1.QueryMetaR\x04meta\"Z\n" +
	"\x13RiskProfileResponse\x12C\n" +
	"\frisk_profile\x18\x01 \x01(\v2 .kodex.governance.v1.RiskProfileR\vriskProfile\"w\n" +
	"\x1aRiskProfileVersionResponse\x12Y\n" +
	"\x14risk_profile_version\x18\x01 \x01(\v2'.kodex.governance.v1.RiskProfileVersionR\x12riskProfileVersion\"\x98\x01\n" +
	"\x18ListRiskProfilesResponse\x12E\n" +
	"\rrisk_profiles\x18\x01 \x03(\v2 .kodex.governance.v1.RiskProfileR\friskProfiles\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\x8c\x01\n" +
	"\x15ListRiskRulesResponse\x12<\n" +
	"\n" +
	"risk_rules\x18\x01 \x03(\v2\x1d.kodex.governance.v1.RiskRuleR\triskRules\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\x97\x01\n" +
	"\x18ListGatePoliciesResponse\x12D\n" +
	"\rgate_policies\x18\x01 \x03(\v2\x1f.kodex.governance.v1.GatePolicyR\fgatePolicies\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\xf4\x01\n" +
	"\x16RiskAssessmentResponse\x12L\n" +
	"\x0frisk_assessment\x18\x01 \x01(\v2#.kodex.governance.v1.RiskAssessmentR\x0eriskAssessment\x12B\n" +
	"\frisk_factors\x18\x02 \x03(\v2\x1f.kodex.governance.v1.RiskFactorR\vriskFactors\x12H\n" +
	"\x0ereview_signals\x18\x03 \x03(\v2!.kodex.governance.v1.ReviewSignalR\rreviewSignals\"\xa4\x01\n" +
	"\x1bListRiskAssessmentsResponse\x12N\n" +
	"\x10risk_assessments\x18\x01 \x03(\v2#.kodex.governance.v1.RiskAssessmentR\x0friskAssessments\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\x94\x01\n" +
	"\x17ListRiskFactorsResponse\x12B\n" +
	"\frisk_factors\x18\x01 \x03(\v2\x1f.kodex.governance.v1.RiskFactorR\vriskFactors\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"^\n" +
	"\x14ReviewSignalResponse\x12F\n" +
	"\rreview_signal\x18\x01 \x01(\v2!.kodex.governance.v1.ReviewSignalR\freviewSignal\"\x9c\x01\n" +
	"\x19ListReviewSignalsResponse\x12H\n" +
	"\x0ereview_signals\x18\x01 \x03(\v2!.kodex.governance.v1.ReviewSignalR\rreviewSignals\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\xb9\x01\n" +
	"\x13GateRequestResponse\x12C\n" +
	"\fgate_request\x18\x01 \x01(\v2 .kodex.governance.v1.GateRequestR\vgateRequest\x12K\n" +
	"\rgate_decision\x18\x02 \x01(\v2!.kodex.governance.v1.GateDecisionH\x00R\fgateDecision\x88\x01\x01B\x10\n" +
	"\x0e_gate_decision\"\xa3\x01\n" +
	"\x14GateDecisionResponse\x12F\n" +
	"\rgate_decision\x18\x01 \x01(\v2!.kodex.governance.v1.GateDecisionR\fgateDecision\x12C\n" +
	"\fgate_request\x18\x02 \x01(\v2 .kodex.governance.v1.GateRequestR\vgateRequest\"\x98\x01\n" +
	"\x18ListGateRequestsResponse\x12E\n" +
	"\rgate_requests\x18\x01 \x03(\v2 .kodex.governance.v1.GateRequestR\fgateRequests\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\x9c\x01\n" +
	"\x19ListGateDecisionsResponse\x12H\n" +
	"\x0egate_decisions\x18\x01 \x03(\v2!.kodex.governance.v1.GateDecisionR\rgateDecisions\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\xac\x03\n" +
	"\x1aSelfDeployPlanGateResponse\x12E\n" +
	"\x06status\x18\x01 \x01(\x0e2-.kodex.governance.v1.SelfDeployPlanGateStatusR\x06status\x12L\n" +
	"\x0frisk_assessment\x18\x02 \x01(\v2#.kodex.governance.v1.RiskAssessmentR\x0eriskAssessment\x12C\n" +
	"\fgate_request\x18\x03 \x01(\v2 .kodex.governance.v1.GateRequestR\vgateRequest\x12K\n" +
	"\rgate_decision\x18\x04 \x01(\v2!.kodex.governance.v1.GateDecisionH\x00R\fgateDecision\x88\x01\x01\x12U\n" +
	"\x12governance_summary\x18\x05 \x01(\v2&.kodex.governance.v1.GovernanceSummaryR\x11governanceSummaryB\x10\n" +
	"\x0e_gate_decision\"\x87\x01\n" +
	"\x1eReleaseDecisionPackageResponse\x12e\n" +
	"\x18release_decision_package\x18\x01 \x01(\v2+.kodex.governance.v1.ReleaseDecisionPackageR\x16releaseDecisionPackage\"\xc5\x01\n" +
	"#ListReleaseDecisionPackagesResponse\x12g\n" +
	"\x19release_decision_packages\x18\x01 \x03(\v2+.kodex.governance.v1.ReleaseDecisionPackageR\x17releaseDecisionPackages\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"\xd1\x01\n" +
	"\x17ReleaseDecisionResponse\x12O\n" +
	"\x10release_decision\x18\x01 \x01(\v2$.kodex.governance.v1.ReleaseDecisionR\x0freleaseDecision\x12e\n" +
	"\x18release_decision_package\x18\x02 \x01(\v2+.kodex.governance.v1.ReleaseDecisionPackageR\x16releaseDecisionPackage\"\xa8\x01\n" +
	"\x1cListReleaseDecisionsResponse\x12Q\n" +
	"\x11release_decisions\x18\x01 \x03(\v2$.kodex.governance.v1.ReleaseDecisionR\x10releaseDecisions\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"f\n" +
	"\x16BlockingSignalResponse\x12L\n" +
	"\x0fblocking_signal\x18\x01 \x01(\v2#.kodex.governance.v1.BlockingSignalR\x0eblockingSignal\"\xa4\x01\n" +
	"\x1bListBlockingSignalsResponse\x12N\n" +
	"\x10blocking_signals\x18\x01 \x03(\v2#.kodex.governance.v1.BlockingSignalR\x0fblockingSignals\x125\n" +
	"\x04page\x18\x02 \x01(\v2!.kodex.governance.v1.PageResponseR\x04page\"w\n" +
	"\x1aReleaseSafetyStateResponse\x12Y\n" +
	"\x14release_safety_state\x18\x01 \x01(\v2'.kodex.governance.v1.ReleaseSafetyStateR\x12releaseSafetyState\"]\n" +
	"\x19GovernanceSummaryResponse\x12@\n" +
	"\asummary\x18\x01 \x01(\v2&.kodex.governance.v1.GovernanceSummaryR\asummary\"\xe4\x02\n" +
	"\x15ReleaseIntegrationRef\x12\x16\n" +
	"\x06domain\x18\x01 \x01(\tR\x06domain\x12\x12\n" +
	"\x04kind\x18\x02 \x01(\tR\x04kind\x12\x10\n" +
	"\x03ref\x18\x03 \x01(\tR\x03ref\x12\x1b\n" +
	"\x06status\x18\x04 \x01(\tH\x00R\x06status\x88\x01\x01\x12\x1d\n" +
	"\asummary\x18\x05 \x01(\tH\x01R\asummary\x88\x01\x01\x12\x1b\n" +
	"\x06digest\x18\x06 \x01(\tH\x02R\x06digest\x88\x01\x01\x12$\n" +
	"\vobserved_at\x18\a \x01(\tH\x03R\n" +
	"observedAt\x88\x01\x01\x12\x1d\n" +
	"\aversion\x18\b \x01(\tH\x04R\aversion\x88\x01\x01\x12\"\n" +
	"\n" +
	"error_code\x18\t \x01(\tH\x05R\terrorCode\x88\x01\x01B\t\n" +
	"\a_statusB\n" +
	"\n" +
	"\b_summaryB\t\n" +
	"\a_digestB\x0e\n" +
	"\f_observed_atB\n" +
	"\n" +
	"\b_versionB\r\n" +
	"\v_error_code\"\xa2\x05\n" +
	"\x17GovernanceSummaryStatus\x12N\n" +
	"\tattention\x18\x01 \x01(\x0e20.kodex.governance.v1.GovernanceDecisionAttentionR\tattention\x12D\n" +
	"\x0emax_risk_class\x18\x02 \x01(\x0e2\x1e.kodex.governance.v1.RiskClassR\fmaxRiskClass\x124\n" +
	"\x16pending_decision_count\x18\x03 \x01(\x05R\x14pendingDecisionCount\x124\n" +
	"\x16blocked_decision_count\x18\x04 \x01(\x05R\x14blockedDecisionCount\x128\n" +
	"\x18completed_decision_count\x18\x05 \x01(\x05R\x16completedDecisionCount\x12,\n" +
	"\x12pending_gate_count\x18\x06 \x01(\x05R\x10pendingGateCount\x12?\n" +
	"\x1cactive_blocking_signal_count\x18\a \x01(\x05R\x19activeBlockingSignalCount\x12%\n" +
	"\x0eevidence_count\x18\b \x01(\x05R\revidenceCount\x12)\n" +
	"\x10diagnostic_count\x18\t \x01(\x05R\x0fdiagnosticCount\x12!\n" +
	"\fsummary_code\x18\n" +
	" \x01(\tR\vsummaryCode\x12(\n" +
	"\x10next_action_code\x18\v \x01(\tR\x0enextActionCode\x12=\n" +
	"\x1bpending_required_gate_count\x18\f \x01(\x05R\x18pendingRequiredGateCount*\x92\x04\n" +
	"\x13GovernanceScopeType\x12%\n" +
	"!GOVERNANCE_SCOPE_TYPE_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eGOVERNANCE_SCOPE_TYPE_PLATFORM\x10\x01\x12&\n" +
	"\"GOVERNANCE_SCOPE_TYPE_ORGANIZATION\x10\x02\x12!\n" +
	"\x1dGOVERNANCE_SCOPE_TYPE_PROJECT\x10\x03\x12$\n" +
	" GOVERNANCE_SCOPE_TYPE_REPOSITORY\x10\x04\x12!\n" +
	"\x1dGOVERNANCE_SCOPE_TYPE_SERVICE\x10\x05\x12\x1e\n" +
	"\x1aGOVERNANCE_SCOPE_TYPE_PATH\x10\x06\x12&\n" +
	"\"GOVERNANCE_SCOPE_TYPE_API_ENDPOINT\x10\a\x12)\n" +
	"%GOVERNANCE_SCOPE_TYPE_DATABASE_OBJECT\x10\b\x12%\n" +
	"!GOVERNANCE_SCOPE_TYPE_SECRET_AREA\x10\t\x12+\n" +
	"'GOVERNANCE_SCOPE_TYPE_RUNTIME_OPERATION\x10\n" +
	"\x12&\n" +
	"\"GOVERNANCE_SCOPE_TYPE_RELEASE_LINE\x10\v\x12-\n" +
	")GOVERNANCE_SCOPE_TYPE_RUNTIME_ENVIRONMENT\x10\f*\xce\x03\n" +
	"\x14GovernanceTargetType\x12&\n" +
	"\"GOVERNANCE_TARGET_TYPE_UNSPECIFIED\x10\x00\x12%\n" +
	"!GOVERNANCE_TARGET_TYPE_TRANSITION\x10\x01\x12'\n" +
	"#GOVERNANCE_TARGET_TYPE_PULL_REQUEST\x10\x02\x12,\n" +
	"(GOVERNANCE_TARGET_TYPE_RELEASE_CANDIDATE\x10\x03\x12&\n" +
	"\"GOVERNANCE_TARGET_TYPE_RUNTIME_JOB\x10\x04\x12(\n" +
	"$GOVERNANCE_TARGET_TYPE_POLICY_CHANGE\x10\x05\x12#\n" +
	"\x1fGOVERNANCE_TARGET_TYPE_DOCUMENT\x10\x06\x12 \n" +
	"\x1cGOVERNANCE_TARGET_TYPE_MERGE\x10\a\x12%\n" +
	"!GOVERNANCE_TARGET_TYPE_POSTDEPLOY\x10\b\x12#\n" +
	"\x1fGOVERNANCE_TARGET_TYPE_ROLLBACK\x10\t\x12+\n" +
	"'GOVERNANCE_TARGET_TYPE_SELF_DEPLOY_PLAN\x10\n" +
	"*s\n" +
	"\tRiskClass\x12\x1a\n" +
	"\x16RISK_CLASS_UNSPECIFIED\x10\x00\x12\x11\n" +
	"\rRISK_CLASS_R0\x10\x01\x12\x11\n" +
	"\rRISK_CLASS_R1\x10\x02\x12\x11\n" +
	"\rRISK_CLASS_R2\x10\x03\x12\x11\n" +
	"\rRISK_CLASS_R3\x10\x04*\xbb\x01\n" +
	"\x11RiskProfileStatus\x12#\n" +
	"\x1fRISK_PROFILE_STATUS_UNSPECIFIED\x10\x00\x12\x1d\n" +
	"\x19RISK_PROFILE_STATUS_DRAFT\x10\x01\x12\x1e\n" +
	"\x1aRISK_PROFILE_STATUS_ACTIVE\x10\x02\x12 \n" +
	"\x1cRISK_PROFILE_STATUS_DISABLED\x10\x03\x12 \n" +
	"\x1cRISK_PROFILE_STATUS_ARCHIVED\x10\x04*\xec\x01\n" +
	"\x18RiskProfileVersionStatus\x12+\n" +
	"'RISK_PROFILE_VERSION_STATUS_UNSPECIFIED\x10\x00\x12%\n" +
	"!RISK_PROFILE_VERSION_STATUS_DRAFT\x10\x01\x12&\n" +
	"\"RISK_PROFILE_VERSION_STATUS_ACTIVE\x10\x02\x12*\n" +
	"&RISK_PROFILE_VERSION_STATUS_SUPERSEDED\x10\x03\x12(\n" +
	"$RISK_PROFILE_VERSION_STATUS_ARCHIVED\x10\x04*\xe2\x02\n" +
	"\fRiskRuleKind\x12\x1e\n" +
	"\x1aRISK_RULE_KIND_UNSPECIFIED\x10\x00\x12\x17\n" +
	"\x13RISK_RULE_KIND_PATH\x10\x01\x12\x1a\n" +
	"\x16RISK_RULE_KIND_SERVICE\x10\x02\x12\x16\n" +
	"\x12RISK_RULE_KIND_API\x10\x03\x12\x1b\n" +
	"\x17RISK_RULE_KIND_DATABASE\x10\x04\x12\x19\n" +
	"\x15RISK_RULE_KIND_SECRET\x10\x05\x12\x17\n" +
	"\x13RISK_RULE_KIND_AUTH\x10\x06\x12!\n" +
	"\x1dRISK_RULE_KIND_RUNTIME_ACTION\x10\a\x12\x1a\n" +
	"\x16RISK_RULE_KIND_RELEASE\x10\b\x12\x1d\n" +
	"\x19RISK_RULE_KIND_AUTOMATION\x10\t\x12\x1b\n" +
	"\x17RISK_RULE_KIND_DOCUMENT\x10\n" +
	"\x12\x19\n" +
	"\x15RISK_RULE_KIND_CUSTOM\x10\v*[\n" +
	"\n" +
	"RuleStatus\x12\x1b\n" +
	"\x17RULE_STATUS_UNSPECIFIED\x10\x00\x12\x16\n" +
	"\x12RULE_STATUS_ACTIVE\x10\x01\x12\x18\n" +
	"\x14RULE_STATUS_DISABLED\x10\x02*\xe3\x01\n" +
	"\bGateKind\x12\x19\n" +
	"\x15GATE_KIND_UNSPECIFIED\x10\x00\x12\x15\n" +
	"\x11GATE_KIND_PRODUCT\x10\x01\x12\x1a\n" +
	"\x16GATE_KIND_ARCHITECTURE\x10\x02\x12\x17\n" +
	"\x13GATE_KIND_TECHNICAL\x10\x03\x12\x10\n" +
	"\fGATE_KIND_QA\x10\x04\x12\x15\n" +
	"\x11GATE_KIND_RELEASE\x10\x05\x12\x18\n" +
	"\x14GATE_KIND_POSTDEPLOY\x10\x06\x12\x17\n" +
	"\x13GATE_KIND_EMERGENCY\x10\a\x12\x14\n" +
	"\x10GATE_KIND_CUSTOM\x10\b*\xcd\x01\n" +
	"\x14RiskAssessmentStatus\x12&\n" +
	"\"RISK_ASSESSMENT_STATUS_UNSPECIFIED\x10\x00\x12 \n" +
	"\x1cRISK_ASSESSMENT_STATUS_DRAFT\x10\x01\x12!\n" +
	"\x1dRISK_ASSESSMENT_STATUS_ACTIVE\x10\x02\x12%\n" +
	"!RISK_ASSESSMENT_STATUS_SUPERSEDED\x10\x03\x12!\n" +
	"\x1dRISK_ASSESSMENT_STATUS_CLOSED\x10\x04*\xbe\x03\n" +
	"\x14RiskFactorSourceType\x12'\n" +
	"#RISK_FACTOR_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eRISK_FACTOR_SOURCE_TYPE_POLICY\x10\x01\x12(\n" +
	"$RISK_FACTOR_SOURCE_TYPE_CHANGED_FILE\x10\x02\x12#\n" +
	"\x1fRISK_FACTOR_SOURCE_TYPE_SERVICE\x10\x03\x12\x1f\n" +
	"\x1bRISK_FACTOR_SOURCE_TYPE_API\x10\x04\x12$\n" +
	" RISK_FACTOR_SOURCE_TYPE_DATABASE\x10\x05\x12\"\n" +
	"\x1eRISK_FACTOR_SOURCE_TYPE_SECRET\x10\x06\x12#\n" +
	"\x1fRISK_FACTOR_SOURCE_TYPE_RELEASE\x10\a\x12#\n" +
	"\x1fRISK_FACTOR_SOURCE_TYPE_RUNTIME\x10\b\x12)\n" +
	"%RISK_FACTOR_SOURCE_TYPE_REVIEW_SIGNAL\x10\t\x12*\n" +
	"&RISK_FACTOR_SOURCE_TYPE_HUMAN_DECISION\x10\n" +
	"*\xab\x02\n" +
	"\x0eReviewRoleKind\x12 \n" +
	"\x1cREVIEW_ROLE_KIND_UNSPECIFIED\x10\x00\x12\x1d\n" +
	"\x19REVIEW_ROLE_KIND_REVIEWER\x10\x01\x12\x17\n" +
	"\x13REVIEW_ROLE_KIND_QA\x10\x02\x12'\n" +
	"#REVIEW_ROLE_KIND_LEXICAL_GATEKEEPER\x10\x03\x12$\n" +
	" REVIEW_ROLE_KIND_RISK_GATEKEEPER\x10\x04\x12\x18\n" +
	"\x14REVIEW_ROLE_KIND_SRE\x10\x05\x12\x1d\n" +
	"\x19REVIEW_ROLE_KIND_SECURITY\x10\x06\x12\x1a\n" +
	"\x16REVIEW_ROLE_KIND_OWNER\x10\a\x12\x1b\n" +
	"\x17REVIEW_ROLE_KIND_CUSTOM\x10\b*\xa2\x02\n" +
	"\x13ReviewSignalOutcome\x12%\n" +
	"!REVIEW_SIGNAL_OUTCOME_UNSPECIFIED\x10\x00\x12\x1e\n" +
	"\x1aREVIEW_SIGNAL_OUTCOME_PASS\x10\x01\x12)\n" +
	"%REVIEW_SIGNAL_OUTCOME_PASS_WITH_NOTES\x10\x02\x12\x1f\n" +
	"\x1bREVIEW_SIGNAL_OUTCOME_BLOCK\x10\x03\x12)\n" +
	"%REVIEW_SIGNAL_OUTCOME_REQUEST_CHANGES\x10\x04\x12$\n" +
	" REVIEW_SIGNAL_OUTCOME_RAISE_RISK\x10\x05\x12'\n" +
	"#REVIEW_SIGNAL_OUTCOME_INFORMATIONAL\x10\x06*\xa4\x01\n" +
	"\x0eSignalSeverity\x12\x1f\n" +
	"\x1bSIGNAL_SEVERITY_UNSPECIFIED\x10\x00\x12\x18\n" +
	"\x14SIGNAL_SEVERITY_INFO\x10\x01\x12\x1b\n" +
	"\x17SIGNAL_SEVERITY_WARNING\x10\x02\x12\x1c\n" +
	"\x18SIGNAL_SEVERITY_BLOCKING\x10\x03\x12\x1c\n" +
	"\x18SIGNAL_SEVERITY_CRITICAL\x10\x04*h\n" +
	"\n" +
	"Confidence\x12\x1a\n" +
	"\x16CONFIDENCE_UNSPECIFIED\x10\x00\x12\x12\n" +
	"\x0eCONFIDENCE_LOW\x10\x01\x12\x15\n" +
	"\x11CONFIDENCE_MEDIUM\x10\x02\x12\x13\n" +
	"\x0fCONFIDENCE_HIGH\x10\x03*\xfe\x03\n" +
	"\fEvidenceKind\x12\x1d\n" +
	"\x19EVIDENCE_KIND_UNSPECIFIED\x10\x00\x12\"\n" +
	"\x1eEVIDENCE_KIND_PROVIDER_COMMENT\x10\x01\x12!\n" +
	"\x1dEVIDENCE_KIND_PROVIDER_REVIEW\x10\x02\x12 \n" +
	"\x1cEVIDENCE_KIND_PROVIDER_CHECK\x10\x03\x12!\n" +
	"\x1dEVIDENCE_KIND_RUNTIME_SUMMARY\x10\x04\x12\x1a\n" +
	"\x16EVIDENCE_KIND_DOCUMENT\x10\x05\x12\x1d\n" +
	"\x19EVIDENCE_KIND_RISK_FACTOR\x10\x06\x12\x1f\n" +
	"\x1bEVIDENCE_KIND_REVIEW_SIGNAL\x10\a\x12&\n" +
	"\"EVIDENCE_KIND_INTERACTION_CALLBACK\x10\b\x12\x1c\n" +
	"\x18EVIDENCE_KIND_OBJECT_REF\x10\t\x12\x18\n" +
	"\x14EVIDENCE_KIND_CUSTOM\x10\n" +
	"\x12\"\n" +
	"\x1eEVIDENCE_KIND_AGENT_ACCEPTANCE\x10\v\x12\x1b\n" +
	"\x17EVIDENCE_KIND_AGENT_RUN\x10\f\x12\"\n" +
	"\x1eEVIDENCE_KIND_AGENT_HUMAN_GATE\x10\r\x12\"\n" +
	"\x1eEVIDENCE_KIND_SELF_DEPLOY_PLAN\x10\x0e*\x90\x02\n" +
	"\x11GateRequestStatus\x12#\n" +
	"\x1fGATE_REQUEST_STATUS_UNSPECIFIED\x10\x00\x12!\n" +
	"\x1dGATE_REQUEST_STATUS_REQUESTED\x10\x01\x12\"\n" +
	"\x1eGATE_REQUEST_STATUS_DELIVERING\x10\x02\x12)\n" +
	"%GATE_REQUEST_STATUS_AWAITING_DECISION\x10\x03\x12 \n" +
	"\x1cGATE_REQUEST_STATUS_RESOLVED\x10\x04\x12\x1f\n" +
	"\x1bGATE_REQUEST_STATUS_EXPIRED\x10\x05\x12!\n" +
	"\x1dGATE_REQUEST_STATUS_CANCELLED\x10\x06*\xee\x01\n" +
	"\vGateOutcome\x12\x1c\n" +
	"\x18GATE_OUTCOME_UNSPECIFIED\x10\x00\x12\x18\n" +
	"\x14GATE_OUTCOME_APPROVE\x10\x01\x12(\n" +
	"$GATE_OUTCOME_APPROVE_WITH_CONDITIONS\x10\x02\x12\x17\n" +
	"\x13GATE_OUTCOME_REVISE\x10\x03\x12\x17\n" +
	"\x13GATE_OUTCOME_REJECT\x10\x04\x12\x15\n" +
	"\x11GATE_OUTCOME_HOLD\x10\x05\x12\x19\n" +
	"\x15GATE_OUTCOME_ROLLBACK\x10\x06\x12\x19\n" +
	"\x15GATE_OUTCOME_ESCALATE\x10\a*\xa4\x02\n" +
	"\x18SelfDeployPlanGateStatus\x12,\n" +
	"(SELF_DEPLOY_PLAN_GATE_STATUS_UNSPECIFIED\x10\x00\x12(\n" +
	"$SELF_DEPLOY_PLAN_GATE_STATUS_PENDING\x10\x01\x12)\n" +
	"%SELF_DEPLOY_PLAN_GATE_STATUS_APPROVED\x10\x02\x12)\n" +
	"%SELF_DEPLOY_PLAN_GATE_STATUS_REJECTED\x10\x03\x12(\n" +
	"$SELF_DEPLOY_PLAN_GATE_STATUS_BLOCKED\x10\x04\x120\n" +
	",SELF_DEPLOY_PLAN_GATE_STATUS_REQUEST_CHANGES\x10\x05*\x89\x02\n" +
	"\x1cReleaseDecisionPackageStatus\x12/\n" +
	"+RELEASE_DECISION_PACKAGE_STATUS_UNSPECIFIED\x10\x00\x12)\n" +
	"%RELEASE_DECISION_PACKAGE_STATUS_DRAFT\x10\x01\x12)\n" +
	"%RELEASE_DECISION_PACKAGE_STATUS_READY\x10\x02\x126\n" +
	"2RELEASE_DECISION_PACKAGE_STATUS_DECISION_REQUESTED\x10\x03\x12*\n" +
	"&RELEASE_DECISION_PACKAGE_STATUS_CLOSED\x10\x04*\xb4\x01\n" +
	"\x15ReleaseDecisionStatus\x12'\n" +
	"#RELEASE_DECISION_STATUS_UNSPECIFIED\x10\x00\x12%\n" +
	"!RELEASE_DECISION_STATUS_REQUESTED\x10\x01\x12$\n" +
	" RELEASE_DECISION_STATUS_RESOLVED\x10\x02\x12%\n" +
	"!RELEASE_DECISION_STATUS_CANCELLED\x10\x03*\xb3\x02\n" +
	"\x16ReleaseDecisionOutcome\x12(\n" +
	"$RELEASE_DECISION_OUTCOME_UNSPECIFIED\x10\x00\x12\x1f\n" +
	"\x1bRELEASE_DECISION_OUTCOME_GO\x10\x01\x12/\n" +
	"+RELEASE_DECISION_OUTCOME_GO_WITH_CONDITIONS\x10\x02\x12\"\n" +
	"\x1eRELEASE_DECISION_OUTCOME_NO_GO\x10\x03\x12!\n" +
	"\x1dRELEASE_DECISION_OUTCOME_HOLD\x10\x04\x12%\n" +
	"!RELEASE_DECISION_OUTCOME_ROLLBACK\x10\x05\x12/\n" +
	"+RELEASE_DECISION_OUTCOME_FOLLOW_UP_REQUIRED\x10\x06*\xac\x03\n" +
	"\x16ReleaseSafetyStateKind\x12)\n" +
	"%RELEASE_SAFETY_STATE_KIND_UNSPECIFIED\x10\x00\x12/\n" +
	"+RELEASE_SAFETY_STATE_KIND_RELEASE_CANDIDATE\x10\x01\x123\n" +
	"/RELEASE_SAFETY_STATE_KIND_AWAITING_RELEASE_GATE\x10\x02\x12'\n" +
	"#RELEASE_SAFETY_STATE_KIND_DEPLOYING\x10\x03\x124\n" +
	"0RELEASE_SAFETY_STATE_KIND_POSTDEPLOY_OBSERVATION\x10\x04\x12$\n" +
	" RELEASE_SAFETY_STATE_KIND_STABLE\x10\x05\x12\"\n" +
	"\x1eRELEASE_SAFETY_STATE_KIND_HOLD\x10\x06\x12&\n" +
	"\"RELEASE_SAFETY_STATE_KIND_ROLLBACK\x10\a\x120\n" +
	",RELEASE_SAFETY_STATE_KIND_FOLLOW_UP_REQUIRED\x10\b*\xf5\x02\n" +
	"\x18BlockingSignalSourceType\x12+\n" +
	"'BLOCKING_SIGNAL_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12*\n" +
	"&BLOCKING_SIGNAL_SOURCE_TYPE_ACCEPTANCE\x10\x01\x12-\n" +
	")BLOCKING_SIGNAL_SOURCE_TYPE_REVIEW_SIGNAL\x10\x02\x12'\n" +
	"#BLOCKING_SIGNAL_SOURCE_TYPE_RUNTIME\x10\x03\x12(\n" +
	"$BLOCKING_SIGNAL_SOURCE_TYPE_PROVIDER\x10\x04\x12+\n" +
	"'BLOCKING_SIGNAL_SOURCE_TYPE_INTERACTION\x10\x05\x12%\n" +
	"!BLOCKING_SIGNAL_SOURCE_TYPE_HUMAN\x10\x06\x12*\n" +
	"&BLOCKING_SIGNAL_SOURCE_TYPE_MONITORING\x10\a*\xac\x01\n" +
	"\x14BlockingSignalStatus\x12&\n" +
	"\"BLOCKING_SIGNAL_STATUS_UNSPECIFIED\x10\x00\x12!\n" +
	"\x1dBLOCKING_SIGNAL_STATUS_ACTIVE\x10\x01\x12#\n" +
	"\x1fBLOCKING_SIGNAL_STATUS_RESOLVED\x10\x02\x12$\n" +
	" BLOCKING_SIGNAL_STATUS_DISMISSED\x10\x03*\x89\x04\n" +
	"\x1dGovernanceDecisionSummaryKind\x120\n" +
	",GOVERNANCE_DECISION_SUMMARY_KIND_UNSPECIFIED\x10\x00\x124\n" +
	"0GOVERNANCE_DECISION_SUMMARY_KIND_RISK_ASSESSMENT\x10\x01\x122\n" +
	".GOVERNANCE_DECISION_SUMMARY_KIND_REVIEW_SIGNAL\x10\x02\x121\n" +
	"-GOVERNANCE_DECISION_SUMMARY_KIND_GATE_REQUEST\x10\x03\x122\n" +
	".GOVERNANCE_DECISION_SUMMARY_KIND_GATE_DECISION\x10\x04\x12=\n" +
	"9GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION_PACKAGE\x10\x05\x125\n" +
	"1GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_DECISION\x10\x06\x124\n" +
	"0GOVERNANCE_DECISION_SUMMARY_KIND_BLOCKING_SIGNAL\x10\a\x129\n" +
	"5GOVERNANCE_DECISION_SUMMARY_KIND_RELEASE_SAFETY_STATE\x10\b*\x80\x02\n" +
	"\x1bGovernanceDecisionAttention\x12-\n" +
	")GOVERNANCE_DECISION_ATTENTION_UNSPECIFIED\x10\x00\x12)\n" +
	"%GOVERNANCE_DECISION_ATTENTION_PENDING\x10\x01\x12+\n" +
	"'GOVERNANCE_DECISION_ATTENTION_COMPLETED\x10\x02\x12)\n" +
	"%GOVERNANCE_DECISION_ATTENTION_BLOCKED\x10\x03\x12/\n" +
	"+GOVERNANCE_DECISION_ATTENTION_INFORMATIONAL\x10\x042\xa7%\n" +
	"\x18GovernanceManagerService\x12l\n" +
	"\x11CreateRiskProfile\x12-.kodex.governance.v1.CreateRiskProfileRequest\x1a(.kodex.governance.v1.RiskProfileResponse\x12\x81\x01\n" +
	"\x18CreateRiskProfileVersion\x124.kodex.governance.v1.CreateRiskProfileVersionRequest\x1a/.kodex.governance.v1.RiskProfileVersionResponse\x12\x85\x01\n" +
	"\x1aActivateRiskProfileVersion\x126.kodex.governance.v1.ActivateRiskProfileVersionRequest\x1a/.kodex.governance.v1.RiskProfileVersionResponse\x12n\n" +
	"\x12ArchiveRiskProfile\x12..kodex.governance.v1.ArchiveRiskProfileRequest\x1a(.kodex.governance.v1.RiskProfileResponse\x12f\n" +
	"\x0eGetRiskProfile\x12*.kodex.governance.v1.GetRiskProfileRequest\x1a(.kodex.governance.v1.RiskProfileResponse\x12{\n" +
	"\x15GetRiskProfileVersion\x121.kodex.governance.v1.GetRiskProfileVersionRequest\x1a/.kodex.governance.v1.RiskProfileVersionResponse\x12o\n" +
	"\x10ListRiskProfiles\x12,.kodex.governance.v1.ListRiskProfilesRequest\x1a-.kodex.governance.v1.ListRiskProfilesResponse\x12f\n" +
	"\rListRiskRules\x12).kodex.governance.v1.ListRiskRulesRequest\x1a*.kodex.governance.v1.ListRiskRulesResponse\x12o\n" +
	"\x10ListGatePolicies\x12,.kodex.governance.v1.ListGatePoliciesRequest\x1a-.kodex.governance.v1.ListGatePoliciesResponse\x12e\n" +
	"\fEvaluateRisk\x12(.kodex.governance.v1.EvaluateRiskRequest\x1a+.kodex.governance.v1.RiskAssessmentResponse\x12i\n" +
	"\x0eReevaluateRisk\x12*.kodex.governance.v1.ReevaluateRiskRequest\x1a+.kodex.governance.v1.RiskAssessmentResponse\x12o\n" +
	"\x11GetRiskAssessment\x12-.kodex.governance.v1.GetRiskAssessmentRequest\x1a+.kodex.governance.v1.RiskAssessmentResponse\x12x\n" +
	"\x13ListRiskAssessments\x12/.kodex.governance.v1.ListRiskAssessmentsRequest\x1a0.kodex.governance.v1.ListRiskAssessmentsResponse\x12l\n" +
	"\x0fListRiskFactors\x12+.kodex.governance.v1.ListRiskFactorsRequest\x1a,.kodex.governance.v1.ListRiskFactorsResponse\x12o\n" +
	"\x12RecordReviewSignal\x12..kodex.governance.v1.RecordReviewSignalRequest\x1a).kodex.governance.v1.ReviewSignalResponse\x12r\n" +
	"\x11ListReviewSignals\x12-.kodex.governance.v1.ListReviewSignalsRequest\x1a..kodex.governance.v1.ListReviewSignalsResponse\x12`\n" +
	"\vRequestGate\x12'.kodex.governance.v1.RequestGateRequest\x1a(.kodex.governance.v1.GateRequestResponse\x12o\n" +
	"\x12SubmitGateDecision\x12..kodex.governance.v1.SubmitGateDecisionRequest\x1a).kodex.governance.v1.GateDecisionResponse\x12^\n" +
	"\n" +
	"CancelGate\x12&.kodex.governance.v1.CancelGateRequest\x1a(.kodex.governance.v1.GateRequestResponse\x12^\n" +
	"\n" +
	"ExpireGate\x12&.kodex.governance.v1.ExpireGateRequest\x1a(.kodex.governance.v1.GateRequestResponse\x12i\n" +
	"\x0fGetGateDecision\x12+.kodex.governance.v1.GetGateDecisionRequest\x1a).kodex.governance.v1.GateDecisionResponse\x12r\n" +
	"\x11ListGateDecisions\x12-.kodex.governance.v1.ListGateDecisionsRequest\x1a..kodex.governance.v1.ListGateDecisionsResponse\x12f\n" +
	"\x0eGetGateRequest\x12*.kodex.governance.v1.GetGateRequestRequest\x1a(.kodex.governance.v1.GateRequestResponse\x12o\n" +
	"\x10ListGateRequests\x12,.kodex.governance.v1.ListGateRequestsRequest\x1a-.kodex.governance.v1.ListGateRequestsResponse\x12\x83\x01\n" +
	"\x19PrepareSelfDeployPlanGate\x125.kodex.governance.v1.PrepareSelfDeployPlanGateRequest\x1a/.kodex.governance.v1.SelfDeployPlanGateResponse\x12\x8b\x01\n" +
	"\x1bBuildReleaseDecisionPackage\x127.kodex.governance.v1.BuildReleaseDecisionPackageRequest\x1a3.kodex.governance.v1.ReleaseDecisionPackageResponse\x12\x8d\x01\n" +
	"\x1cRecordReleaseRuntimeEvidence\x128.kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest\x1a3.kodex.governance.v1.ReleaseDecisionPackageResponse\x12\x89\x01\n" +
	"\x1aRecordReleaseAgentEvidence\x126.kodex.governance.v1.RecordReleaseAgentEvidenceRequest\x1a3.kodex.governance.v1.ReleaseDecisionPackageResponse\x12\x87\x01\n" +
	"\x19GetReleaseDecisionPackage\x125.kodex.governance.v1.GetReleaseDecisionPackageRequest\x1a3.kodex.governance.v1.ReleaseDecisionPackageResponse\x12\x90\x01\n" +
	"\x1bListReleaseDecisionPackages\x127.kodex.governance.v1.ListReleaseDecisionPackagesRequest\x1a8.kodex.governance.v1.ListReleaseDecisionPackagesResponse\x12z\n" +
	"\x16RequestReleaseDecision\x122.kodex.governance.v1.RequestReleaseDecisionRequest\x1a,.kodex.governance.v1.ReleaseDecisionResponse\x12x\n" +
	"\x15SubmitReleaseDecision\x121.kodex.governance.v1.SubmitReleaseDecisionRequest\x1a,.kodex.governance.v1.ReleaseDecisionResponse\x12r\n" +
	"\x12GetReleaseDecision\x12..kodex.governance.v1.GetReleaseDecisionRequest\x1a,.kodex.governance.v1.ReleaseDecisionResponse\x12{\n" +
	"\x14ListReleaseDecisions\x120.kodex.governance.v1.ListReleaseDecisionsRequest\x1a1.kodex.governance.v1.ListReleaseDecisionsResponse\x12u\n" +
	"\x14RecordBlockingSignal\x120.kodex.governance.v1.RecordBlockingSignalRequest\x1a+.kodex.governance.v1.BlockingSignalResponse\x12w\n" +
	"\x15ResolveBlockingSignal\x121.kodex.governance.v1.ResolveBlockingSignalRequest\x1a+.kodex.governance.v1.BlockingSignalResponse\x12x\n" +
	"\x13ListBlockingSignals\x12/.kodex.governance.v1.ListBlockingSignalsRequest\x1a0.kodex.governance.v1.ListBlockingSignalsResponse\x12\x81\x01\n" +
	"\x18RecordReleaseSafetyState\x124.kodex.governance.v1.RecordReleaseSafetyStateRequest\x1a/.kodex.governance.v1.ReleaseSafetyStateResponse\x12{\n" +
	"\x15GetReleaseSafetyState\x121.kodex.governance.v1.GetReleaseSafetyStateRequest\x1a/.kodex.governance.v1.ReleaseSafetyStateResponse\x12x\n" +
	"\x14GetGovernanceSummary\x120.kodex.governance.v1.GetGovernanceSummaryRequest\x1a..kodex.governance.v1.GovernanceSummaryResponseBJZHgithub.com/codex-k8s/kodex/proto/gen/go/kodex/governance/v1;governancev1b\x06proto3"

var (
	file_kodex_governance_v1_governance_manager_proto_rawDescOnce sync.Once
	file_kodex_governance_v1_governance_manager_proto_rawDescData []byte
)

func file_kodex_governance_v1_governance_manager_proto_rawDescGZIP() []byte {
	file_kodex_governance_v1_governance_manager_proto_rawDescOnce.Do(func() {
		file_kodex_governance_v1_governance_manager_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_kodex_governance_v1_governance_manager_proto_rawDesc), len(file_kodex_governance_v1_governance_manager_proto_rawDesc)))
	})
	return file_kodex_governance_v1_governance_manager_proto_rawDescData
}

var file_kodex_governance_v1_governance_manager_proto_enumTypes = make([]protoimpl.EnumInfo, 26)
var file_kodex_governance_v1_governance_manager_proto_msgTypes = make([]protoimpl.MessageInfo, 103)
var file_kodex_governance_v1_governance_manager_proto_goTypes = []any{
	(GovernanceScopeType)(0),                    // 0: kodex.governance.v1.GovernanceScopeType
	(GovernanceTargetType)(0),                   // 1: kodex.governance.v1.GovernanceTargetType
	(RiskClass)(0),                              // 2: kodex.governance.v1.RiskClass
	(RiskProfileStatus)(0),                      // 3: kodex.governance.v1.RiskProfileStatus
	(RiskProfileVersionStatus)(0),               // 4: kodex.governance.v1.RiskProfileVersionStatus
	(RiskRuleKind)(0),                           // 5: kodex.governance.v1.RiskRuleKind
	(RuleStatus)(0),                             // 6: kodex.governance.v1.RuleStatus
	(GateKind)(0),                               // 7: kodex.governance.v1.GateKind
	(RiskAssessmentStatus)(0),                   // 8: kodex.governance.v1.RiskAssessmentStatus
	(RiskFactorSourceType)(0),                   // 9: kodex.governance.v1.RiskFactorSourceType
	(ReviewRoleKind)(0),                         // 10: kodex.governance.v1.ReviewRoleKind
	(ReviewSignalOutcome)(0),                    // 11: kodex.governance.v1.ReviewSignalOutcome
	(SignalSeverity)(0),                         // 12: kodex.governance.v1.SignalSeverity
	(Confidence)(0),                             // 13: kodex.governance.v1.Confidence
	(EvidenceKind)(0),                           // 14: kodex.governance.v1.EvidenceKind
	(GateRequestStatus)(0),                      // 15: kodex.governance.v1.GateRequestStatus
	(GateOutcome)(0),                            // 16: kodex.governance.v1.GateOutcome
	(SelfDeployPlanGateStatus)(0),               // 17: kodex.governance.v1.SelfDeployPlanGateStatus
	(ReleaseDecisionPackageStatus)(0),           // 18: kodex.governance.v1.ReleaseDecisionPackageStatus
	(ReleaseDecisionStatus)(0),                  // 19: kodex.governance.v1.ReleaseDecisionStatus
	(ReleaseDecisionOutcome)(0),                 // 20: kodex.governance.v1.ReleaseDecisionOutcome
	(ReleaseSafetyStateKind)(0),                 // 21: kodex.governance.v1.ReleaseSafetyStateKind
	(BlockingSignalSourceType)(0),               // 22: kodex.governance.v1.BlockingSignalSourceType
	(BlockingSignalStatus)(0),                   // 23: kodex.governance.v1.BlockingSignalStatus
	(GovernanceDecisionSummaryKind)(0),          // 24: kodex.governance.v1.GovernanceDecisionSummaryKind
	(GovernanceDecisionAttention)(0),            // 25: kodex.governance.v1.GovernanceDecisionAttention
	(*CommandMeta)(nil),                         // 26: kodex.governance.v1.CommandMeta
	(*QueryMeta)(nil),                           // 27: kodex.governance.v1.QueryMeta
	(*RequestContext)(nil),                      // 28: kodex.governance.v1.RequestContext
	(*Actor)(nil),                               // 29: kodex.governance.v1.Actor
	(*PageRequest)(nil),                         // 30: kodex.governance.v1.PageRequest
	(*PageResponse)(nil),                        // 31: kodex.governance.v1.PageResponse
	(*LocalizedText)(nil),                       // 32: kodex.governance.v1.LocalizedText
	(*ScopeRef)(nil),                            // 33: kodex.governance.v1.ScopeRef
	(*TargetRef)(nil),                           // 34: kodex.governance.v1.TargetRef
	(*ProjectContextRef)(nil),                   // 35: kodex.governance.v1.ProjectContextRef
	(*ProviderContextRef)(nil),                  // 36: kodex.governance.v1.ProviderContextRef
	(*AgentContextRef)(nil),                     // 37: kodex.governance.v1.AgentContextRef
	(*RuntimeContextRef)(nil),                   // 38: kodex.governance.v1.RuntimeContextRef
	(*InteractionDeliveryRef)(nil),              // 39: kodex.governance.v1.InteractionDeliveryRef
	(*EvidenceRef)(nil),                         // 40: kodex.governance.v1.EvidenceRef
	(*RiskEvaluationSummary)(nil),               // 41: kodex.governance.v1.RiskEvaluationSummary
	(*RiskEvaluationFactor)(nil),                // 42: kodex.governance.v1.RiskEvaluationFactor
	(*SelfDeployPlanGateInput)(nil),             // 43: kodex.governance.v1.SelfDeployPlanGateInput
	(*RequiredGate)(nil),                        // 44: kodex.governance.v1.RequiredGate
	(*RiskProfile)(nil),                         // 45: kodex.governance.v1.RiskProfile
	(*RiskProfileVersion)(nil),                  // 46: kodex.governance.v1.RiskProfileVersion
	(*RiskRule)(nil),                            // 47: kodex.governance.v1.RiskRule
	(*GatePolicy)(nil),                          // 48: kodex.governance.v1.GatePolicy
	(*RiskAssessment)(nil),                      // 49: kodex.governance.v1.RiskAssessment
	(*RiskFactor)(nil),                          // 50: kodex.governance.v1.RiskFactor
	(*ReviewSignal)(nil),                        // 51: kodex.governance.v1.ReviewSignal
	(*GateRequest)(nil),                         // 52: kodex.governance.v1.GateRequest
	(*GateDecision)(nil),                        // 53: kodex.governance.v1.GateDecision
	(*ReleaseDecisionPackage)(nil),              // 54: kodex.governance.v1.ReleaseDecisionPackage
	(*ReleaseDecision)(nil),                     // 55: kodex.governance.v1.ReleaseDecision
	(*ReleaseSafetyState)(nil),                  // 56: kodex.governance.v1.ReleaseSafetyState
	(*BlockingSignal)(nil),                      // 57: kodex.governance.v1.BlockingSignal
	(*GovernanceSummaryScope)(nil),              // 58: kodex.governance.v1.GovernanceSummaryScope
	(*GovernanceDecisionSummary)(nil),           // 59: kodex.governance.v1.GovernanceDecisionSummary
	(*GovernanceEvidenceSummary)(nil),           // 60: kodex.governance.v1.GovernanceEvidenceSummary
	(*GovernanceSummary)(nil),                   // 61: kodex.governance.v1.GovernanceSummary
	(*RiskRuleDraft)(nil),                       // 62: kodex.governance.v1.RiskRuleDraft
	(*GatePolicyDraft)(nil),                     // 63: kodex.governance.v1.GatePolicyDraft
	(*CreateRiskProfileRequest)(nil),            // 64: kodex.governance.v1.CreateRiskProfileRequest
	(*CreateRiskProfileVersionRequest)(nil),     // 65: kodex.governance.v1.CreateRiskProfileVersionRequest
	(*ActivateRiskProfileVersionRequest)(nil),   // 66: kodex.governance.v1.ActivateRiskProfileVersionRequest
	(*ArchiveRiskProfileRequest)(nil),           // 67: kodex.governance.v1.ArchiveRiskProfileRequest
	(*GetRiskProfileRequest)(nil),               // 68: kodex.governance.v1.GetRiskProfileRequest
	(*GetRiskProfileVersionRequest)(nil),        // 69: kodex.governance.v1.GetRiskProfileVersionRequest
	(*ListRiskProfilesRequest)(nil),             // 70: kodex.governance.v1.ListRiskProfilesRequest
	(*ListRiskRulesRequest)(nil),                // 71: kodex.governance.v1.ListRiskRulesRequest
	(*ListGatePoliciesRequest)(nil),             // 72: kodex.governance.v1.ListGatePoliciesRequest
	(*EvaluateRiskRequest)(nil),                 // 73: kodex.governance.v1.EvaluateRiskRequest
	(*ReevaluateRiskRequest)(nil),               // 74: kodex.governance.v1.ReevaluateRiskRequest
	(*GetRiskAssessmentRequest)(nil),            // 75: kodex.governance.v1.GetRiskAssessmentRequest
	(*ListRiskAssessmentsRequest)(nil),          // 76: kodex.governance.v1.ListRiskAssessmentsRequest
	(*ListRiskFactorsRequest)(nil),              // 77: kodex.governance.v1.ListRiskFactorsRequest
	(*RecordReviewSignalRequest)(nil),           // 78: kodex.governance.v1.RecordReviewSignalRequest
	(*ListReviewSignalsRequest)(nil),            // 79: kodex.governance.v1.ListReviewSignalsRequest
	(*RequestGateRequest)(nil),                  // 80: kodex.governance.v1.RequestGateRequest
	(*SubmitGateDecisionRequest)(nil),           // 81: kodex.governance.v1.SubmitGateDecisionRequest
	(*CancelGateRequest)(nil),                   // 82: kodex.governance.v1.CancelGateRequest
	(*ExpireGateRequest)(nil),                   // 83: kodex.governance.v1.ExpireGateRequest
	(*GetGateDecisionRequest)(nil),              // 84: kodex.governance.v1.GetGateDecisionRequest
	(*ListGateDecisionsRequest)(nil),            // 85: kodex.governance.v1.ListGateDecisionsRequest
	(*GetGateRequestRequest)(nil),               // 86: kodex.governance.v1.GetGateRequestRequest
	(*ListGateRequestsRequest)(nil),             // 87: kodex.governance.v1.ListGateRequestsRequest
	(*PrepareSelfDeployPlanGateRequest)(nil),    // 88: kodex.governance.v1.PrepareSelfDeployPlanGateRequest
	(*BuildReleaseDecisionPackageRequest)(nil),  // 89: kodex.governance.v1.BuildReleaseDecisionPackageRequest
	(*RecordReleaseRuntimeEvidenceRequest)(nil), // 90: kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest
	(*RecordReleaseAgentEvidenceRequest)(nil),   // 91: kodex.governance.v1.RecordReleaseAgentEvidenceRequest
	(*GetReleaseDecisionPackageRequest)(nil),    // 92: kodex.governance.v1.GetReleaseDecisionPackageRequest
	(*ListReleaseDecisionPackagesRequest)(nil),  // 93: kodex.governance.v1.ListReleaseDecisionPackagesRequest
	(*RequestReleaseDecisionRequest)(nil),       // 94: kodex.governance.v1.RequestReleaseDecisionRequest
	(*SubmitReleaseDecisionRequest)(nil),        // 95: kodex.governance.v1.SubmitReleaseDecisionRequest
	(*GetReleaseDecisionRequest)(nil),           // 96: kodex.governance.v1.GetReleaseDecisionRequest
	(*ListReleaseDecisionsRequest)(nil),         // 97: kodex.governance.v1.ListReleaseDecisionsRequest
	(*RecordBlockingSignalRequest)(nil),         // 98: kodex.governance.v1.RecordBlockingSignalRequest
	(*ResolveBlockingSignalRequest)(nil),        // 99: kodex.governance.v1.ResolveBlockingSignalRequest
	(*ListBlockingSignalsRequest)(nil),          // 100: kodex.governance.v1.ListBlockingSignalsRequest
	(*RecordReleaseSafetyStateRequest)(nil),     // 101: kodex.governance.v1.RecordReleaseSafetyStateRequest
	(*GetReleaseSafetyStateRequest)(nil),        // 102: kodex.governance.v1.GetReleaseSafetyStateRequest
	(*GetGovernanceSummaryRequest)(nil),         // 103: kodex.governance.v1.GetGovernanceSummaryRequest
	(*RiskProfileResponse)(nil),                 // 104: kodex.governance.v1.RiskProfileResponse
	(*RiskProfileVersionResponse)(nil),          // 105: kodex.governance.v1.RiskProfileVersionResponse
	(*ListRiskProfilesResponse)(nil),            // 106: kodex.governance.v1.ListRiskProfilesResponse
	(*ListRiskRulesResponse)(nil),               // 107: kodex.governance.v1.ListRiskRulesResponse
	(*ListGatePoliciesResponse)(nil),            // 108: kodex.governance.v1.ListGatePoliciesResponse
	(*RiskAssessmentResponse)(nil),              // 109: kodex.governance.v1.RiskAssessmentResponse
	(*ListRiskAssessmentsResponse)(nil),         // 110: kodex.governance.v1.ListRiskAssessmentsResponse
	(*ListRiskFactorsResponse)(nil),             // 111: kodex.governance.v1.ListRiskFactorsResponse
	(*ReviewSignalResponse)(nil),                // 112: kodex.governance.v1.ReviewSignalResponse
	(*ListReviewSignalsResponse)(nil),           // 113: kodex.governance.v1.ListReviewSignalsResponse
	(*GateRequestResponse)(nil),                 // 114: kodex.governance.v1.GateRequestResponse
	(*GateDecisionResponse)(nil),                // 115: kodex.governance.v1.GateDecisionResponse
	(*ListGateRequestsResponse)(nil),            // 116: kodex.governance.v1.ListGateRequestsResponse
	(*ListGateDecisionsResponse)(nil),           // 117: kodex.governance.v1.ListGateDecisionsResponse
	(*SelfDeployPlanGateResponse)(nil),          // 118: kodex.governance.v1.SelfDeployPlanGateResponse
	(*ReleaseDecisionPackageResponse)(nil),      // 119: kodex.governance.v1.ReleaseDecisionPackageResponse
	(*ListReleaseDecisionPackagesResponse)(nil), // 120: kodex.governance.v1.ListReleaseDecisionPackagesResponse
	(*ReleaseDecisionResponse)(nil),             // 121: kodex.governance.v1.ReleaseDecisionResponse
	(*ListReleaseDecisionsResponse)(nil),        // 122: kodex.governance.v1.ListReleaseDecisionsResponse
	(*BlockingSignalResponse)(nil),              // 123: kodex.governance.v1.BlockingSignalResponse
	(*ListBlockingSignalsResponse)(nil),         // 124: kodex.governance.v1.ListBlockingSignalsResponse
	(*ReleaseSafetyStateResponse)(nil),          // 125: kodex.governance.v1.ReleaseSafetyStateResponse
	(*GovernanceSummaryResponse)(nil),           // 126: kodex.governance.v1.GovernanceSummaryResponse
	(*ReleaseIntegrationRef)(nil),               // 127: kodex.governance.v1.ReleaseIntegrationRef
	(*GovernanceSummaryStatus)(nil),             // 128: kodex.governance.v1.GovernanceSummaryStatus
}
var file_kodex_governance_v1_governance_manager_proto_depIdxs = []int32{
	29,  // 0: kodex.governance.v1.CommandMeta.actor:type_name -> kodex.governance.v1.Actor
	28,  // 1: kodex.governance.v1.CommandMeta.request_context:type_name -> kodex.governance.v1.RequestContext
	29,  // 2: kodex.governance.v1.QueryMeta.actor:type_name -> kodex.governance.v1.Actor
	28,  // 3: kodex.governance.v1.QueryMeta.request_context:type_name -> kodex.governance.v1.RequestContext
	0,   // 4: kodex.governance.v1.ScopeRef.type:type_name -> kodex.governance.v1.GovernanceScopeType
	1,   // 5: kodex.governance.v1.TargetRef.type:type_name -> kodex.governance.v1.GovernanceTargetType
	14,  // 6: kodex.governance.v1.EvidenceRef.kind:type_name -> kodex.governance.v1.EvidenceKind
	42,  // 7: kodex.governance.v1.RiskEvaluationSummary.factors:type_name -> kodex.governance.v1.RiskEvaluationFactor
	9,   // 8: kodex.governance.v1.RiskEvaluationFactor.source_type:type_name -> kodex.governance.v1.RiskFactorSourceType
	35,  // 9: kodex.governance.v1.SelfDeployPlanGateInput.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	40,  // 10: kodex.governance.v1.SelfDeployPlanGateInput.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	7,   // 11: kodex.governance.v1.RequiredGate.gate_kind:type_name -> kodex.governance.v1.GateKind
	2,   // 12: kodex.governance.v1.RequiredGate.min_risk_class:type_name -> kodex.governance.v1.RiskClass
	33,  // 13: kodex.governance.v1.RiskProfile.scope:type_name -> kodex.governance.v1.ScopeRef
	32,  // 14: kodex.governance.v1.RiskProfile.display_name:type_name -> kodex.governance.v1.LocalizedText
	32,  // 15: kodex.governance.v1.RiskProfile.description:type_name -> kodex.governance.v1.LocalizedText
	3,   // 16: kodex.governance.v1.RiskProfile.status:type_name -> kodex.governance.v1.RiskProfileStatus
	4,   // 17: kodex.governance.v1.RiskProfileVersion.status:type_name -> kodex.governance.v1.RiskProfileVersionStatus
	47,  // 18: kodex.governance.v1.RiskProfileVersion.rules:type_name -> kodex.governance.v1.RiskRule
	48,  // 19: kodex.governance.v1.RiskProfileVersion.gate_policies:type_name -> kodex.governance.v1.GatePolicy
	5,   // 20: kodex.governance.v1.RiskRule.rule_kind:type_name -> kodex.governance.v1.RiskRuleKind
	2,   // 21: kodex.governance.v1.RiskRule.min_risk_class:type_name -> kodex.governance.v1.RiskClass
	32,  // 22: kodex.governance.v1.RiskRule.reason_template:type_name -> kodex.governance.v1.LocalizedText
	6,   // 23: kodex.governance.v1.RiskRule.status:type_name -> kodex.governance.v1.RuleStatus
	7,   // 24: kodex.governance.v1.GatePolicy.gate_kind:type_name -> kodex.governance.v1.GateKind
	2,   // 25: kodex.governance.v1.GatePolicy.min_risk_class:type_name -> kodex.governance.v1.RiskClass
	6,   // 26: kodex.governance.v1.GatePolicy.status:type_name -> kodex.governance.v1.RuleStatus
	34,  // 27: kodex.governance.v1.RiskAssessment.target:type_name -> kodex.governance.v1.TargetRef
	35,  // 28: kodex.governance.v1.RiskAssessment.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	36,  // 29: kodex.governance.v1.RiskAssessment.provider_context:type_name -> kodex.governance.v1.ProviderContextRef
	37,  // 30: kodex.governance.v1.RiskAssessment.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	38,  // 31: kodex.governance.v1.RiskAssessment.runtime_context:type_name -> kodex.governance.v1.RuntimeContextRef
	2,   // 32: kodex.governance.v1.RiskAssessment.initial_risk_class:type_name -> kodex.governance.v1.RiskClass
	2,   // 33: kodex.governance.v1.RiskAssessment.effective_risk_class:type_name -> kodex.governance.v1.RiskClass
	8,   // 34: kodex.governance.v1.RiskAssessment.status:type_name -> kodex.governance.v1.RiskAssessmentStatus
	44,  // 35: kodex.governance.v1.RiskAssessment.required_gates:type_name -> kodex.governance.v1.RequiredGate
	41,  // 36: kodex.governance.v1.RiskAssessment.evaluation_summary:type_name -> kodex.governance.v1.RiskEvaluationSummary
	40,  // 37: kodex.governance.v1.RiskAssessment.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	9,   // 38: kodex.governance.v1.RiskFactor.source_type:type_name -> kodex.governance.v1.RiskFactorSourceType
	2,   // 39: kodex.governance.v1.RiskFactor.risk_class:type_name -> kodex.governance.v1.RiskClass
	34,  // 40: kodex.governance.v1.ReviewSignal.target:type_name -> kodex.governance.v1.TargetRef
	10,  // 41: kodex.governance.v1.ReviewSignal.role_kind:type_name -> kodex.governance.v1.ReviewRoleKind
	11,  // 42: kodex.governance.v1.ReviewSignal.outcome:type_name -> kodex.governance.v1.ReviewSignalOutcome
	12,  // 43: kodex.governance.v1.ReviewSignal.severity:type_name -> kodex.governance.v1.SignalSeverity
	13,  // 44: kodex.governance.v1.ReviewSignal.confidence:type_name -> kodex.governance.v1.Confidence
	40,  // 45: kodex.governance.v1.ReviewSignal.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	34,  // 46: kodex.governance.v1.GateRequest.target:type_name -> kodex.governance.v1.TargetRef
	39,  // 47: kodex.governance.v1.GateRequest.interaction_delivery_ref:type_name -> kodex.governance.v1.InteractionDeliveryRef
	40,  // 48: kodex.governance.v1.GateRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	15,  // 49: kodex.governance.v1.GateRequest.status:type_name -> kodex.governance.v1.GateRequestStatus
	16,  // 50: kodex.governance.v1.GateDecision.outcome:type_name -> kodex.governance.v1.GateOutcome
	35,  // 51: kodex.governance.v1.ReleaseDecisionPackage.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	36,  // 52: kodex.governance.v1.ReleaseDecisionPackage.provider_refs:type_name -> kodex.governance.v1.ProviderContextRef
	38,  // 53: kodex.governance.v1.ReleaseDecisionPackage.runtime_refs:type_name -> kodex.governance.v1.RuntimeContextRef
	37,  // 54: kodex.governance.v1.ReleaseDecisionPackage.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	40,  // 55: kodex.governance.v1.ReleaseDecisionPackage.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	18,  // 56: kodex.governance.v1.ReleaseDecisionPackage.status:type_name -> kodex.governance.v1.ReleaseDecisionPackageStatus
	127, // 57: kodex.governance.v1.ReleaseDecisionPackage.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	20,  // 58: kodex.governance.v1.ReleaseDecision.outcome:type_name -> kodex.governance.v1.ReleaseDecisionOutcome
	19,  // 59: kodex.governance.v1.ReleaseDecision.status:type_name -> kodex.governance.v1.ReleaseDecisionStatus
	21,  // 60: kodex.governance.v1.ReleaseSafetyState.current_state:type_name -> kodex.governance.v1.ReleaseSafetyStateKind
	34,  // 61: kodex.governance.v1.BlockingSignal.target:type_name -> kodex.governance.v1.TargetRef
	22,  // 62: kodex.governance.v1.BlockingSignal.source_type:type_name -> kodex.governance.v1.BlockingSignalSourceType
	12,  // 63: kodex.governance.v1.BlockingSignal.severity:type_name -> kodex.governance.v1.SignalSeverity
	23,  // 64: kodex.governance.v1.BlockingSignal.status:type_name -> kodex.governance.v1.BlockingSignalStatus
	34,  // 65: kodex.governance.v1.GovernanceSummaryScope.target:type_name -> kodex.governance.v1.TargetRef
	35,  // 66: kodex.governance.v1.GovernanceSummaryScope.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	127, // 67: kodex.governance.v1.GovernanceSummaryScope.integration_ref:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	24,  // 68: kodex.governance.v1.GovernanceDecisionSummary.kind:type_name -> kodex.governance.v1.GovernanceDecisionSummaryKind
	25,  // 69: kodex.governance.v1.GovernanceDecisionSummary.attention:type_name -> kodex.governance.v1.GovernanceDecisionAttention
	34,  // 70: kodex.governance.v1.GovernanceDecisionSummary.target:type_name -> kodex.governance.v1.TargetRef
	35,  // 71: kodex.governance.v1.GovernanceDecisionSummary.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	2,   // 72: kodex.governance.v1.GovernanceDecisionSummary.risk_class:type_name -> kodex.governance.v1.RiskClass
	11,  // 73: kodex.governance.v1.GovernanceDecisionSummary.review_outcome:type_name -> kodex.governance.v1.ReviewSignalOutcome
	15,  // 74: kodex.governance.v1.GovernanceDecisionSummary.gate_request_status:type_name -> kodex.governance.v1.GateRequestStatus
	16,  // 75: kodex.governance.v1.GovernanceDecisionSummary.gate_outcome:type_name -> kodex.governance.v1.GateOutcome
	18,  // 76: kodex.governance.v1.GovernanceDecisionSummary.release_package_status:type_name -> kodex.governance.v1.ReleaseDecisionPackageStatus
	19,  // 77: kodex.governance.v1.GovernanceDecisionSummary.release_decision_status:type_name -> kodex.governance.v1.ReleaseDecisionStatus
	20,  // 78: kodex.governance.v1.GovernanceDecisionSummary.release_decision_outcome:type_name -> kodex.governance.v1.ReleaseDecisionOutcome
	23,  // 79: kodex.governance.v1.GovernanceDecisionSummary.blocking_signal_status:type_name -> kodex.governance.v1.BlockingSignalStatus
	12,  // 80: kodex.governance.v1.GovernanceDecisionSummary.severity:type_name -> kodex.governance.v1.SignalSeverity
	40,  // 81: kodex.governance.v1.GovernanceDecisionSummary.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	127, // 82: kodex.governance.v1.GovernanceDecisionSummary.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	36,  // 83: kodex.governance.v1.GovernanceDecisionSummary.provider_refs:type_name -> kodex.governance.v1.ProviderContextRef
	38,  // 84: kodex.governance.v1.GovernanceDecisionSummary.runtime_refs:type_name -> kodex.governance.v1.RuntimeContextRef
	37,  // 85: kodex.governance.v1.GovernanceDecisionSummary.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	40,  // 86: kodex.governance.v1.GovernanceEvidenceSummary.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	127, // 87: kodex.governance.v1.GovernanceEvidenceSummary.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	58,  // 88: kodex.governance.v1.GovernanceSummary.scope:type_name -> kodex.governance.v1.GovernanceSummaryScope
	59,  // 89: kodex.governance.v1.GovernanceSummary.pending_decisions:type_name -> kodex.governance.v1.GovernanceDecisionSummary
	59,  // 90: kodex.governance.v1.GovernanceSummary.completed_decisions:type_name -> kodex.governance.v1.GovernanceDecisionSummary
	60,  // 91: kodex.governance.v1.GovernanceSummary.evidence_summaries:type_name -> kodex.governance.v1.GovernanceEvidenceSummary
	128, // 92: kodex.governance.v1.GovernanceSummary.status:type_name -> kodex.governance.v1.GovernanceSummaryStatus
	5,   // 93: kodex.governance.v1.RiskRuleDraft.rule_kind:type_name -> kodex.governance.v1.RiskRuleKind
	2,   // 94: kodex.governance.v1.RiskRuleDraft.min_risk_class:type_name -> kodex.governance.v1.RiskClass
	32,  // 95: kodex.governance.v1.RiskRuleDraft.reason_template:type_name -> kodex.governance.v1.LocalizedText
	7,   // 96: kodex.governance.v1.GatePolicyDraft.gate_kind:type_name -> kodex.governance.v1.GateKind
	2,   // 97: kodex.governance.v1.GatePolicyDraft.min_risk_class:type_name -> kodex.governance.v1.RiskClass
	33,  // 98: kodex.governance.v1.CreateRiskProfileRequest.scope:type_name -> kodex.governance.v1.ScopeRef
	32,  // 99: kodex.governance.v1.CreateRiskProfileRequest.display_name:type_name -> kodex.governance.v1.LocalizedText
	32,  // 100: kodex.governance.v1.CreateRiskProfileRequest.description:type_name -> kodex.governance.v1.LocalizedText
	26,  // 101: kodex.governance.v1.CreateRiskProfileRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	62,  // 102: kodex.governance.v1.CreateRiskProfileVersionRequest.rules:type_name -> kodex.governance.v1.RiskRuleDraft
	63,  // 103: kodex.governance.v1.CreateRiskProfileVersionRequest.gate_policies:type_name -> kodex.governance.v1.GatePolicyDraft
	26,  // 104: kodex.governance.v1.CreateRiskProfileVersionRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	26,  // 105: kodex.governance.v1.ActivateRiskProfileVersionRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	26,  // 106: kodex.governance.v1.ArchiveRiskProfileRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	27,  // 107: kodex.governance.v1.GetRiskProfileRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	27,  // 108: kodex.governance.v1.GetRiskProfileVersionRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	33,  // 109: kodex.governance.v1.ListRiskProfilesRequest.scope:type_name -> kodex.governance.v1.ScopeRef
	3,   // 110: kodex.governance.v1.ListRiskProfilesRequest.status:type_name -> kodex.governance.v1.RiskProfileStatus
	30,  // 111: kodex.governance.v1.ListRiskProfilesRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 112: kodex.governance.v1.ListRiskProfilesRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	5,   // 113: kodex.governance.v1.ListRiskRulesRequest.rule_kind:type_name -> kodex.governance.v1.RiskRuleKind
	6,   // 114: kodex.governance.v1.ListRiskRulesRequest.status:type_name -> kodex.governance.v1.RuleStatus
	30,  // 115: kodex.governance.v1.ListRiskRulesRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 116: kodex.governance.v1.ListRiskRulesRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	7,   // 117: kodex.governance.v1.ListGatePoliciesRequest.gate_kind:type_name -> kodex.governance.v1.GateKind
	6,   // 118: kodex.governance.v1.ListGatePoliciesRequest.status:type_name -> kodex.governance.v1.RuleStatus
	30,  // 119: kodex.governance.v1.ListGatePoliciesRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 120: kodex.governance.v1.ListGatePoliciesRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 121: kodex.governance.v1.EvaluateRiskRequest.target:type_name -> kodex.governance.v1.TargetRef
	35,  // 122: kodex.governance.v1.EvaluateRiskRequest.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	36,  // 123: kodex.governance.v1.EvaluateRiskRequest.provider_context:type_name -> kodex.governance.v1.ProviderContextRef
	37,  // 124: kodex.governance.v1.EvaluateRiskRequest.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	38,  // 125: kodex.governance.v1.EvaluateRiskRequest.runtime_context:type_name -> kodex.governance.v1.RuntimeContextRef
	40,  // 126: kodex.governance.v1.EvaluateRiskRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	26,  // 127: kodex.governance.v1.EvaluateRiskRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	41,  // 128: kodex.governance.v1.EvaluateRiskRequest.evaluation_summary:type_name -> kodex.governance.v1.RiskEvaluationSummary
	40,  // 129: kodex.governance.v1.ReevaluateRiskRequest.new_evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	26,  // 130: kodex.governance.v1.ReevaluateRiskRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	41,  // 131: kodex.governance.v1.ReevaluateRiskRequest.evaluation_summary:type_name -> kodex.governance.v1.RiskEvaluationSummary
	27,  // 132: kodex.governance.v1.GetRiskAssessmentRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 133: kodex.governance.v1.ListRiskAssessmentsRequest.target:type_name -> kodex.governance.v1.TargetRef
	35,  // 134: kodex.governance.v1.ListRiskAssessmentsRequest.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	2,   // 135: kodex.governance.v1.ListRiskAssessmentsRequest.effective_risk_class:type_name -> kodex.governance.v1.RiskClass
	8,   // 136: kodex.governance.v1.ListRiskAssessmentsRequest.status:type_name -> kodex.governance.v1.RiskAssessmentStatus
	30,  // 137: kodex.governance.v1.ListRiskAssessmentsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 138: kodex.governance.v1.ListRiskAssessmentsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	9,   // 139: kodex.governance.v1.ListRiskFactorsRequest.source_type:type_name -> kodex.governance.v1.RiskFactorSourceType
	30,  // 140: kodex.governance.v1.ListRiskFactorsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 141: kodex.governance.v1.ListRiskFactorsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 142: kodex.governance.v1.RecordReviewSignalRequest.target:type_name -> kodex.governance.v1.TargetRef
	10,  // 143: kodex.governance.v1.RecordReviewSignalRequest.role_kind:type_name -> kodex.governance.v1.ReviewRoleKind
	11,  // 144: kodex.governance.v1.RecordReviewSignalRequest.outcome:type_name -> kodex.governance.v1.ReviewSignalOutcome
	12,  // 145: kodex.governance.v1.RecordReviewSignalRequest.severity:type_name -> kodex.governance.v1.SignalSeverity
	13,  // 146: kodex.governance.v1.RecordReviewSignalRequest.confidence:type_name -> kodex.governance.v1.Confidence
	40,  // 147: kodex.governance.v1.RecordReviewSignalRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	26,  // 148: kodex.governance.v1.RecordReviewSignalRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	34,  // 149: kodex.governance.v1.ListReviewSignalsRequest.target:type_name -> kodex.governance.v1.TargetRef
	10,  // 150: kodex.governance.v1.ListReviewSignalsRequest.role_kind:type_name -> kodex.governance.v1.ReviewRoleKind
	11,  // 151: kodex.governance.v1.ListReviewSignalsRequest.outcome:type_name -> kodex.governance.v1.ReviewSignalOutcome
	30,  // 152: kodex.governance.v1.ListReviewSignalsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 153: kodex.governance.v1.ListReviewSignalsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 154: kodex.governance.v1.RequestGateRequest.target:type_name -> kodex.governance.v1.TargetRef
	39,  // 155: kodex.governance.v1.RequestGateRequest.interaction_delivery_ref:type_name -> kodex.governance.v1.InteractionDeliveryRef
	40,  // 156: kodex.governance.v1.RequestGateRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	26,  // 157: kodex.governance.v1.RequestGateRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	16,  // 158: kodex.governance.v1.SubmitGateDecisionRequest.outcome:type_name -> kodex.governance.v1.GateOutcome
	39,  // 159: kodex.governance.v1.SubmitGateDecisionRequest.interaction_delivery_ref:type_name -> kodex.governance.v1.InteractionDeliveryRef
	26,  // 160: kodex.governance.v1.SubmitGateDecisionRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	39,  // 161: kodex.governance.v1.CancelGateRequest.interaction_delivery_ref:type_name -> kodex.governance.v1.InteractionDeliveryRef
	26,  // 162: kodex.governance.v1.CancelGateRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	39,  // 163: kodex.governance.v1.ExpireGateRequest.interaction_delivery_ref:type_name -> kodex.governance.v1.InteractionDeliveryRef
	26,  // 164: kodex.governance.v1.ExpireGateRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	27,  // 165: kodex.governance.v1.GetGateDecisionRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 166: kodex.governance.v1.ListGateDecisionsRequest.target:type_name -> kodex.governance.v1.TargetRef
	16,  // 167: kodex.governance.v1.ListGateDecisionsRequest.outcome:type_name -> kodex.governance.v1.GateOutcome
	30,  // 168: kodex.governance.v1.ListGateDecisionsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 169: kodex.governance.v1.ListGateDecisionsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	27,  // 170: kodex.governance.v1.GetGateRequestRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 171: kodex.governance.v1.ListGateRequestsRequest.target:type_name -> kodex.governance.v1.TargetRef
	15,  // 172: kodex.governance.v1.ListGateRequestsRequest.status:type_name -> kodex.governance.v1.GateRequestStatus
	30,  // 173: kodex.governance.v1.ListGateRequestsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 174: kodex.governance.v1.ListGateRequestsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	43,  // 175: kodex.governance.v1.PrepareSelfDeployPlanGateRequest.plan:type_name -> kodex.governance.v1.SelfDeployPlanGateInput
	26,  // 176: kodex.governance.v1.PrepareSelfDeployPlanGateRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	35,  // 177: kodex.governance.v1.BuildReleaseDecisionPackageRequest.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	36,  // 178: kodex.governance.v1.BuildReleaseDecisionPackageRequest.provider_refs:type_name -> kodex.governance.v1.ProviderContextRef
	38,  // 179: kodex.governance.v1.BuildReleaseDecisionPackageRequest.runtime_refs:type_name -> kodex.governance.v1.RuntimeContextRef
	37,  // 180: kodex.governance.v1.BuildReleaseDecisionPackageRequest.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	40,  // 181: kodex.governance.v1.BuildReleaseDecisionPackageRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	26,  // 182: kodex.governance.v1.BuildReleaseDecisionPackageRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	127, // 183: kodex.governance.v1.BuildReleaseDecisionPackageRequest.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	38,  // 184: kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest.runtime_refs:type_name -> kodex.governance.v1.RuntimeContextRef
	40,  // 185: kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	127, // 186: kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	26,  // 187: kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	37,  // 188: kodex.governance.v1.RecordReleaseAgentEvidenceRequest.agent_context:type_name -> kodex.governance.v1.AgentContextRef
	40,  // 189: kodex.governance.v1.RecordReleaseAgentEvidenceRequest.evidence_refs:type_name -> kodex.governance.v1.EvidenceRef
	127, // 190: kodex.governance.v1.RecordReleaseAgentEvidenceRequest.integration_refs:type_name -> kodex.governance.v1.ReleaseIntegrationRef
	26,  // 191: kodex.governance.v1.RecordReleaseAgentEvidenceRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	27,  // 192: kodex.governance.v1.GetReleaseDecisionPackageRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	35,  // 193: kodex.governance.v1.ListReleaseDecisionPackagesRequest.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	18,  // 194: kodex.governance.v1.ListReleaseDecisionPackagesRequest.status:type_name -> kodex.governance.v1.ReleaseDecisionPackageStatus
	30,  // 195: kodex.governance.v1.ListReleaseDecisionPackagesRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 196: kodex.governance.v1.ListReleaseDecisionPackagesRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	26,  // 197: kodex.governance.v1.RequestReleaseDecisionRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	20,  // 198: kodex.governance.v1.SubmitReleaseDecisionRequest.outcome:type_name -> kodex.governance.v1.ReleaseDecisionOutcome
	26,  // 199: kodex.governance.v1.SubmitReleaseDecisionRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	27,  // 200: kodex.governance.v1.GetReleaseDecisionRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	35,  // 201: kodex.governance.v1.ListReleaseDecisionsRequest.project_context:type_name -> kodex.governance.v1.ProjectContextRef
	19,  // 202: kodex.governance.v1.ListReleaseDecisionsRequest.status:type_name -> kodex.governance.v1.ReleaseDecisionStatus
	20,  // 203: kodex.governance.v1.ListReleaseDecisionsRequest.outcome:type_name -> kodex.governance.v1.ReleaseDecisionOutcome
	30,  // 204: kodex.governance.v1.ListReleaseDecisionsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 205: kodex.governance.v1.ListReleaseDecisionsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	34,  // 206: kodex.governance.v1.RecordBlockingSignalRequest.target:type_name -> kodex.governance.v1.TargetRef
	22,  // 207: kodex.governance.v1.RecordBlockingSignalRequest.source_type:type_name -> kodex.governance.v1.BlockingSignalSourceType
	12,  // 208: kodex.governance.v1.RecordBlockingSignalRequest.severity:type_name -> kodex.governance.v1.SignalSeverity
	26,  // 209: kodex.governance.v1.RecordBlockingSignalRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	23,  // 210: kodex.governance.v1.ResolveBlockingSignalRequest.terminal_status:type_name -> kodex.governance.v1.BlockingSignalStatus
	26,  // 211: kodex.governance.v1.ResolveBlockingSignalRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	34,  // 212: kodex.governance.v1.ListBlockingSignalsRequest.target:type_name -> kodex.governance.v1.TargetRef
	23,  // 213: kodex.governance.v1.ListBlockingSignalsRequest.status:type_name -> kodex.governance.v1.BlockingSignalStatus
	12,  // 214: kodex.governance.v1.ListBlockingSignalsRequest.severity:type_name -> kodex.governance.v1.SignalSeverity
	30,  // 215: kodex.governance.v1.ListBlockingSignalsRequest.page:type_name -> kodex.governance.v1.PageRequest
	27,  // 216: kodex.governance.v1.ListBlockingSignalsRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	21,  // 217: kodex.governance.v1.RecordReleaseSafetyStateRequest.current_state:type_name -> kodex.governance.v1.ReleaseSafetyStateKind
	26,  // 218: kodex.governance.v1.RecordReleaseSafetyStateRequest.meta:type_name -> kodex.governance.v1.CommandMeta
	27,  // 219: kodex.governance.v1.GetReleaseSafetyStateRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	58,  // 220: kodex.governance.v1.GetGovernanceSummaryRequest.scope:type_name -> kodex.governance.v1.GovernanceSummaryScope
	27,  // 221: kodex.governance.v1.GetGovernanceSummaryRequest.meta:type_name -> kodex.governance.v1.QueryMeta
	45,  // 222: kodex.governance.v1.RiskProfileResponse.risk_profile:type_name -> kodex.governance.v1.RiskProfile
	46,  // 223: kodex.governance.v1.RiskProfileVersionResponse.risk_profile_version:type_name -> kodex.governance.v1.RiskProfileVersion
	45,  // 224: kodex.governance.v1.ListRiskProfilesResponse.risk_profiles:type_name -> kodex.governance.v1.RiskProfile
	31,  // 225: kodex.governance.v1.ListRiskProfilesResponse.page:type_name -> kodex.governance.v1.PageResponse
	47,  // 226: kodex.governance.v1.ListRiskRulesResponse.risk_rules:type_name -> kodex.governance.v1.RiskRule
	31,  // 227: kodex.governance.v1.ListRiskRulesResponse.page:type_name -> kodex.governance.v1.PageResponse
	48,  // 228: kodex.governance.v1.ListGatePoliciesResponse.gate_policies:type_name -> kodex.governance.v1.GatePolicy
	31,  // 229: kodex.governance.v1.ListGatePoliciesResponse.page:type_name -> kodex.governance.v1.PageResponse
	49,  // 230: kodex.governance.v1.RiskAssessmentResponse.risk_assessment:type_name -> kodex.governance.v1.RiskAssessment
	50,  // 231: kodex.governance.v1.RiskAssessmentResponse.risk_factors:type_name -> kodex.governance.v1.RiskFactor
	51,  // 232: kodex.governance.v1.RiskAssessmentResponse.review_signals:type_name -> kodex.governance.v1.ReviewSignal
	49,  // 233: kodex.governance.v1.ListRiskAssessmentsResponse.risk_assessments:type_name -> kodex.governance.v1.RiskAssessment
	31,  // 234: kodex.governance.v1.ListRiskAssessmentsResponse.page:type_name -> kodex.governance.v1.PageResponse
	50,  // 235: kodex.governance.v1.ListRiskFactorsResponse.risk_factors:type_name -> kodex.governance.v1.RiskFactor
	31,  // 236: kodex.governance.v1.ListRiskFactorsResponse.page:type_name -> kodex.governance.v1.PageResponse
	51,  // 237: kodex.governance.v1.ReviewSignalResponse.review_signal:type_name -> kodex.governance.v1.ReviewSignal
	51,  // 238: kodex.governance.v1.ListReviewSignalsResponse.review_signals:type_name -> kodex.governance.v1.ReviewSignal
	31,  // 239: kodex.governance.v1.ListReviewSignalsResponse.page:type_name -> kodex.governance.v1.PageResponse
	52,  // 240: kodex.governance.v1.GateRequestResponse.gate_request:type_name -> kodex.governance.v1.GateRequest
	53,  // 241: kodex.governance.v1.GateRequestResponse.gate_decision:type_name -> kodex.governance.v1.GateDecision
	53,  // 242: kodex.governance.v1.GateDecisionResponse.gate_decision:type_name -> kodex.governance.v1.GateDecision
	52,  // 243: kodex.governance.v1.GateDecisionResponse.gate_request:type_name -> kodex.governance.v1.GateRequest
	52,  // 244: kodex.governance.v1.ListGateRequestsResponse.gate_requests:type_name -> kodex.governance.v1.GateRequest
	31,  // 245: kodex.governance.v1.ListGateRequestsResponse.page:type_name -> kodex.governance.v1.PageResponse
	53,  // 246: kodex.governance.v1.ListGateDecisionsResponse.gate_decisions:type_name -> kodex.governance.v1.GateDecision
	31,  // 247: kodex.governance.v1.ListGateDecisionsResponse.page:type_name -> kodex.governance.v1.PageResponse
	17,  // 248: kodex.governance.v1.SelfDeployPlanGateResponse.status:type_name -> kodex.governance.v1.SelfDeployPlanGateStatus
	49,  // 249: kodex.governance.v1.SelfDeployPlanGateResponse.risk_assessment:type_name -> kodex.governance.v1.RiskAssessment
	52,  // 250: kodex.governance.v1.SelfDeployPlanGateResponse.gate_request:type_name -> kodex.governance.v1.GateRequest
	53,  // 251: kodex.governance.v1.SelfDeployPlanGateResponse.gate_decision:type_name -> kodex.governance.v1.GateDecision
	61,  // 252: kodex.governance.v1.SelfDeployPlanGateResponse.governance_summary:type_name -> kodex.governance.v1.GovernanceSummary
	54,  // 253: kodex.governance.v1.ReleaseDecisionPackageResponse.release_decision_package:type_name -> kodex.governance.v1.ReleaseDecisionPackage
	54,  // 254: kodex.governance.v1.ListReleaseDecisionPackagesResponse.release_decision_packages:type_name -> kodex.governance.v1.ReleaseDecisionPackage
	31,  // 255: kodex.governance.v1.ListReleaseDecisionPackagesResponse.page:type_name -> kodex.governance.v1.PageResponse
	55,  // 256: kodex.governance.v1.ReleaseDecisionResponse.release_decision:type_name -> kodex.governance.v1.ReleaseDecision
	54,  // 257: kodex.governance.v1.ReleaseDecisionResponse.release_decision_package:type_name -> kodex.governance.v1.ReleaseDecisionPackage
	55,  // 258: kodex.governance.v1.ListReleaseDecisionsResponse.release_decisions:type_name -> kodex.governance.v1.ReleaseDecision
	31,  // 259: kodex.governance.v1.ListReleaseDecisionsResponse.page:type_name -> kodex.governance.v1.PageResponse
	57,  // 260: kodex.governance.v1.BlockingSignalResponse.blocking_signal:type_name -> kodex.governance.v1.BlockingSignal
	57,  // 261: kodex.governance.v1.ListBlockingSignalsResponse.blocking_signals:type_name -> kodex.governance.v1.BlockingSignal
	31,  // 262: kodex.governance.v1.ListBlockingSignalsResponse.page:type_name -> kodex.governance.v1.PageResponse
	56,  // 263: kodex.governance.v1.ReleaseSafetyStateResponse.release_safety_state:type_name -> kodex.governance.v1.ReleaseSafetyState
	61,  // 264: kodex.governance.v1.GovernanceSummaryResponse.summary:type_name -> kodex.governance.v1.GovernanceSummary
	25,  // 265: kodex.governance.v1.GovernanceSummaryStatus.attention:type_name -> kodex.governance.v1.GovernanceDecisionAttention
	2,   // 266: kodex.governance.v1.GovernanceSummaryStatus.max_risk_class:type_name -> kodex.governance.v1.RiskClass
	64,  // 267: kodex.governance.v1.GovernanceManagerService.CreateRiskProfile:input_type -> kodex.governance.v1.CreateRiskProfileRequest
	65,  // 268: kodex.governance.v1.GovernanceManagerService.CreateRiskProfileVersion:input_type -> kodex.governance.v1.CreateRiskProfileVersionRequest
	66,  // 269: kodex.governance.v1.GovernanceManagerService.ActivateRiskProfileVersion:input_type -> kodex.governance.v1.ActivateRiskProfileVersionRequest
	67,  // 270: kodex.governance.v1.GovernanceManagerService.ArchiveRiskProfile:input_type -> kodex.governance.v1.ArchiveRiskProfileRequest
	68,  // 271: kodex.governance.v1.GovernanceManagerService.GetRiskProfile:input_type -> kodex.governance.v1.GetRiskProfileRequest
	69,  // 272: kodex.governance.v1.GovernanceManagerService.GetRiskProfileVersion:input_type -> kodex.governance.v1.GetRiskProfileVersionRequest
	70,  // 273: kodex.governance.v1.GovernanceManagerService.ListRiskProfiles:input_type -> kodex.governance.v1.ListRiskProfilesRequest
	71,  // 274: kodex.governance.v1.GovernanceManagerService.ListRiskRules:input_type -> kodex.governance.v1.ListRiskRulesRequest
	72,  // 275: kodex.governance.v1.GovernanceManagerService.ListGatePolicies:input_type -> kodex.governance.v1.ListGatePoliciesRequest
	73,  // 276: kodex.governance.v1.GovernanceManagerService.EvaluateRisk:input_type -> kodex.governance.v1.EvaluateRiskRequest
	74,  // 277: kodex.governance.v1.GovernanceManagerService.ReevaluateRisk:input_type -> kodex.governance.v1.ReevaluateRiskRequest
	75,  // 278: kodex.governance.v1.GovernanceManagerService.GetRiskAssessment:input_type -> kodex.governance.v1.GetRiskAssessmentRequest
	76,  // 279: kodex.governance.v1.GovernanceManagerService.ListRiskAssessments:input_type -> kodex.governance.v1.ListRiskAssessmentsRequest
	77,  // 280: kodex.governance.v1.GovernanceManagerService.ListRiskFactors:input_type -> kodex.governance.v1.ListRiskFactorsRequest
	78,  // 281: kodex.governance.v1.GovernanceManagerService.RecordReviewSignal:input_type -> kodex.governance.v1.RecordReviewSignalRequest
	79,  // 282: kodex.governance.v1.GovernanceManagerService.ListReviewSignals:input_type -> kodex.governance.v1.ListReviewSignalsRequest
	80,  // 283: kodex.governance.v1.GovernanceManagerService.RequestGate:input_type -> kodex.governance.v1.RequestGateRequest
	81,  // 284: kodex.governance.v1.GovernanceManagerService.SubmitGateDecision:input_type -> kodex.governance.v1.SubmitGateDecisionRequest
	82,  // 285: kodex.governance.v1.GovernanceManagerService.CancelGate:input_type -> kodex.governance.v1.CancelGateRequest
	83,  // 286: kodex.governance.v1.GovernanceManagerService.ExpireGate:input_type -> kodex.governance.v1.ExpireGateRequest
	84,  // 287: kodex.governance.v1.GovernanceManagerService.GetGateDecision:input_type -> kodex.governance.v1.GetGateDecisionRequest
	85,  // 288: kodex.governance.v1.GovernanceManagerService.ListGateDecisions:input_type -> kodex.governance.v1.ListGateDecisionsRequest
	86,  // 289: kodex.governance.v1.GovernanceManagerService.GetGateRequest:input_type -> kodex.governance.v1.GetGateRequestRequest
	87,  // 290: kodex.governance.v1.GovernanceManagerService.ListGateRequests:input_type -> kodex.governance.v1.ListGateRequestsRequest
	88,  // 291: kodex.governance.v1.GovernanceManagerService.PrepareSelfDeployPlanGate:input_type -> kodex.governance.v1.PrepareSelfDeployPlanGateRequest
	89,  // 292: kodex.governance.v1.GovernanceManagerService.BuildReleaseDecisionPackage:input_type -> kodex.governance.v1.BuildReleaseDecisionPackageRequest
	90,  // 293: kodex.governance.v1.GovernanceManagerService.RecordReleaseRuntimeEvidence:input_type -> kodex.governance.v1.RecordReleaseRuntimeEvidenceRequest
	91,  // 294: kodex.governance.v1.GovernanceManagerService.RecordReleaseAgentEvidence:input_type -> kodex.governance.v1.RecordReleaseAgentEvidenceRequest
	92,  // 295: kodex.governance.v1.GovernanceManagerService.GetReleaseDecisionPackage:input_type -> kodex.governance.v1.GetReleaseDecisionPackageRequest
	93,  // 296: kodex.governance.v1.GovernanceManagerService.ListReleaseDecisionPackages:input_type -> kodex.governance.v1.ListReleaseDecisionPackagesRequest
	94,  // 297: kodex.governance.v1.GovernanceManagerService.RequestReleaseDecision:input_type -> kodex.governance.v1.RequestReleaseDecisionRequest
	95,  // 298: kodex.governance.v1.GovernanceManagerService.SubmitReleaseDecision:input_type -> kodex.governance.v1.SubmitReleaseDecisionRequest
	96,  // 299: kodex.governance.v1.GovernanceManagerService.GetReleaseDecision:input_type -> kodex.governance.v1.GetReleaseDecisionRequest
	97,  // 300: kodex.governance.v1.GovernanceManagerService.ListReleaseDecisions:input_type -> kodex.governance.v1.ListReleaseDecisionsRequest
	98,  // 301: kodex.governance.v1.GovernanceManagerService.RecordBlockingSignal:input_type -> kodex.governance.v1.RecordBlockingSignalRequest
	99,  // 302: kodex.governance.v1.GovernanceManagerService.ResolveBlockingSignal:input_type -> kodex.governance.v1.ResolveBlockingSignalRequest
	100, // 303: kodex.governance.v1.GovernanceManagerService.ListBlockingSignals:input_type -> kodex.governance.v1.ListBlockingSignalsRequest
	101, // 304: kodex.governance.v1.GovernanceManagerService.RecordReleaseSafetyState:input_type -> kodex.governance.v1.RecordReleaseSafetyStateRequest
	102, // 305: kodex.governance.v1.GovernanceManagerService.GetReleaseSafetyState:input_type -> kodex.governance.v1.GetReleaseSafetyStateRequest
	103, // 306: kodex.governance.v1.GovernanceManagerService.GetGovernanceSummary:input_type -> kodex.governance.v1.GetGovernanceSummaryRequest
	104, // 307: kodex.governance.v1.GovernanceManagerService.CreateRiskProfile:output_type -> kodex.governance.v1.RiskProfileResponse
	105, // 308: kodex.governance.v1.GovernanceManagerService.CreateRiskProfileVersion:output_type -> kodex.governance.v1.RiskProfileVersionResponse
	105, // 309: kodex.governance.v1.GovernanceManagerService.ActivateRiskProfileVersion:output_type -> kodex.governance.v1.RiskProfileVersionResponse
	104, // 310: kodex.governance.v1.GovernanceManagerService.ArchiveRiskProfile:output_type -> kodex.governance.v1.RiskProfileResponse
	104, // 311: kodex.governance.v1.GovernanceManagerService.GetRiskProfile:output_type -> kodex.governance.v1.RiskProfileResponse
	105, // 312: kodex.governance.v1.GovernanceManagerService.GetRiskProfileVersion:output_type -> kodex.governance.v1.RiskProfileVersionResponse
	106, // 313: kodex.governance.v1.GovernanceManagerService.ListRiskProfiles:output_type -> kodex.governance.v1.ListRiskProfilesResponse
	107, // 314: kodex.governance.v1.GovernanceManagerService.ListRiskRules:output_type -> kodex.governance.v1.ListRiskRulesResponse
	108, // 315: kodex.governance.v1.GovernanceManagerService.ListGatePolicies:output_type -> kodex.governance.v1.ListGatePoliciesResponse
	109, // 316: kodex.governance.v1.GovernanceManagerService.EvaluateRisk:output_type -> kodex.governance.v1.RiskAssessmentResponse
	109, // 317: kodex.governance.v1.GovernanceManagerService.ReevaluateRisk:output_type -> kodex.governance.v1.RiskAssessmentResponse
	109, // 318: kodex.governance.v1.GovernanceManagerService.GetRiskAssessment:output_type -> kodex.governance.v1.RiskAssessmentResponse
	110, // 319: kodex.governance.v1.GovernanceManagerService.ListRiskAssessments:output_type -> kodex.governance.v1.ListRiskAssessmentsResponse
	111, // 320: kodex.governance.v1.GovernanceManagerService.ListRiskFactors:output_type -> kodex.governance.v1.ListRiskFactorsResponse
	112, // 321: kodex.governance.v1.GovernanceManagerService.RecordReviewSignal:output_type -> kodex.governance.v1.ReviewSignalResponse
	113, // 322: kodex.governance.v1.GovernanceManagerService.ListReviewSignals:output_type -> kodex.governance.v1.ListReviewSignalsResponse
	114, // 323: kodex.governance.v1.GovernanceManagerService.RequestGate:output_type -> kodex.governance.v1.GateRequestResponse
	115, // 324: kodex.governance.v1.GovernanceManagerService.SubmitGateDecision:output_type -> kodex.governance.v1.GateDecisionResponse
	114, // 325: kodex.governance.v1.GovernanceManagerService.CancelGate:output_type -> kodex.governance.v1.GateRequestResponse
	114, // 326: kodex.governance.v1.GovernanceManagerService.ExpireGate:output_type -> kodex.governance.v1.GateRequestResponse
	115, // 327: kodex.governance.v1.GovernanceManagerService.GetGateDecision:output_type -> kodex.governance.v1.GateDecisionResponse
	117, // 328: kodex.governance.v1.GovernanceManagerService.ListGateDecisions:output_type -> kodex.governance.v1.ListGateDecisionsResponse
	114, // 329: kodex.governance.v1.GovernanceManagerService.GetGateRequest:output_type -> kodex.governance.v1.GateRequestResponse
	116, // 330: kodex.governance.v1.GovernanceManagerService.ListGateRequests:output_type -> kodex.governance.v1.ListGateRequestsResponse
	118, // 331: kodex.governance.v1.GovernanceManagerService.PrepareSelfDeployPlanGate:output_type -> kodex.governance.v1.SelfDeployPlanGateResponse
	119, // 332: kodex.governance.v1.GovernanceManagerService.BuildReleaseDecisionPackage:output_type -> kodex.governance.v1.ReleaseDecisionPackageResponse
	119, // 333: kodex.governance.v1.GovernanceManagerService.RecordReleaseRuntimeEvidence:output_type -> kodex.governance.v1.ReleaseDecisionPackageResponse
	119, // 334: kodex.governance.v1.GovernanceManagerService.RecordReleaseAgentEvidence:output_type -> kodex.governance.v1.ReleaseDecisionPackageResponse
	119, // 335: kodex.governance.v1.GovernanceManagerService.GetReleaseDecisionPackage:output_type -> kodex.governance.v1.ReleaseDecisionPackageResponse
	120, // 336: kodex.governance.v1.GovernanceManagerService.ListReleaseDecisionPackages:output_type -> kodex.governance.v1.ListReleaseDecisionPackagesResponse
	121, // 337: kodex.governance.v1.GovernanceManagerService.RequestReleaseDecision:output_type -> kodex.governance.v1.ReleaseDecisionResponse
	121, // 338: kodex.governance.v1.GovernanceManagerService.SubmitReleaseDecision:output_type -> kodex.governance.v1.ReleaseDecisionResponse
	121, // 339: kodex.governance.v1.GovernanceManagerService.GetReleaseDecision:output_type -> kodex.governance.v1.ReleaseDecisionResponse
	122, // 340: kodex.governance.v1.GovernanceManagerService.ListReleaseDecisions:output_type -> kodex.governance.v1.ListReleaseDecisionsResponse
	123, // 341: kodex.governance.v1.GovernanceManagerService.RecordBlockingSignal:output_type -> kodex.governance.v1.BlockingSignalResponse
	123, // 342: kodex.governance.v1.GovernanceManagerService.ResolveBlockingSignal:output_type -> kodex.governance.v1.BlockingSignalResponse
	124, // 343: kodex.governance.v1.GovernanceManagerService.ListBlockingSignals:output_type -> kodex.governance.v1.ListBlockingSignalsResponse
	125, // 344: kodex.governance.v1.GovernanceManagerService.RecordReleaseSafetyState:output_type -> kodex.governance.v1.ReleaseSafetyStateResponse
	125, // 345: kodex.governance.v1.GovernanceManagerService.GetReleaseSafetyState:output_type -> kodex.governance.v1.ReleaseSafetyStateResponse
	126, // 346: kodex.governance.v1.GovernanceManagerService.GetGovernanceSummary:output_type -> kodex.governance.v1.GovernanceSummaryResponse
	307, // [307:347] is the sub-list for method output_type
	267, // [267:307] is the sub-list for method input_type
	267, // [267:267] is the sub-list for extension type_name
	267, // [267:267] is the sub-list for extension extendee
	0,   // [0:267] is the sub-list for field type_name
}

func init() { file_kodex_governance_v1_governance_manager_proto_init() }
func file_kodex_governance_v1_governance_manager_proto_init() {
	if File_kodex_governance_v1_governance_manager_proto != nil {
		return
	}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[0].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[2].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[4].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[5].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[9].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[10].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[11].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[12].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[13].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[14].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[15].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[17].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[19].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[20].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[21].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[22].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[23].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[24].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[25].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[26].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[27].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[28].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[29].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[30].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[31].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[32].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[33].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[34].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[36].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[37].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[44].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[45].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[46].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[47].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[48].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[50].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[51].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[52].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[53].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[54].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[55].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[59].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[61].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[63].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[67].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[69].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[71].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[72].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[74].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[75].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[88].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[92].OneofWrappers = []any{}
	file_kodex_governance_v1_governance_manager_proto_msgTypes[101].OneofWrappers = []any{}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_kodex_governance_v1_governance_manager_proto_rawDesc), len(file_kodex_governance_v1_governance_manager_proto_rawDesc)),
			NumEnums:      26,
			NumMessages:   103,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_kodex_governance_v1_governance_manager_proto_goTypes,
		DependencyIndexes: file_kodex_governance_v1_governance_manager_proto_depIdxs,
		EnumInfos:         file_kodex_governance_v1_governance_manager_proto_enumTypes,
		MessageInfos:      file_kodex_governance_v1_governance_manager_proto_msgTypes,
	}.Build()
	File_kodex_governance_v1_governance_manager_proto = out.File
	file_kodex_governance_v1_governance_manager_proto_goTypes = nil
	file_kodex_governance_v1_governance_manager_proto_depIdxs = nil
}
