Derive independent glossary context and protection

This commit is contained in:
2026-11-10 17:25:08 +00:00
parent d42e2095d7
commit 89de2a7014
23 changed files with 364 additions and 173 deletions

View File

@@ -14,31 +14,10 @@ func New() (contracts.Validator, error) {
return validatormetadata.Wrap(validator{}, validatormetadata.ExecutionClassDeterministic), nil
}
func NewGlossaryStage() (contracts.Validator, error) {
return validatormetadata.Wrap(validator{glossaryStage: true}, validatormetadata.ExecutionClassDeterministic), nil
}
type validator struct{}
type validator struct {
glossaryStage bool
}
func (v validator) Name() string {
return Key
}
func (v validator) Name() string { return Key }
func (v validator) Validate(_ context.Context, req contracts.ValidationRequest) (frameworkvalidators.Result, error) {
if !v.glossaryStage && req.ModuleKey == "glossary" {
decisions := make([]frameworkvalidators.Decision, 0, len(req.CandidateProposal))
for _, c := range req.CandidateProposal {
decisions = append(decisions, frameworkvalidators.Decision{
ProposalIndex: c.ProposalIndex,
Approved: true,
ReasonCode: frameworkvalidators.ReasonApproved,
Message: "approved",
})
}
return frameworkvalidators.Result{ValidatorName: Key, Decisions: decisions}, nil
}
return frameworkvalidators.ValidateProtectedTerms(req, v.glossaryStage)
return frameworkvalidators.ValidateProtectedTerms(req)
}