Documentation
¶
Overview ¶
Package memorypromotion provides conservative proposal-to-memory convergence.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Policy ¶
type Policy interface {
Evaluate(PolicyInput) PolicyResult
}
type PolicyDisposition ¶
type PolicyDisposition string
const ( DispositionPromote PolicyDisposition = "promote" DispositionDuplicate PolicyDisposition = "duplicate" DispositionReview PolicyDisposition = "review" DispositionReject PolicyDisposition = "reject" DispositionConflict PolicyDisposition = "conflict" DispositionUnsupported PolicyDisposition = "unsupported" )
type PolicyInput ¶
type PolicyInput struct {
Mode learning.Mode
TrustedProject bool
Approved bool
Candidate learning.Candidate
Current *tool.MemoryRevision
Existing []tool.MemoryEntry
}
type PolicyResult ¶
type PolicyResult struct {
Disposition PolicyDisposition
Reason string
}
type Promoter ¶
type Promoter struct {
Proposals learning.ProposalRepository
Memory tool.MemoryStore
Policy Policy
}
func (Promoter) Process ¶
func (p Promoter) Process(ctx context.Context, part learning.ProposalPartition, id learning.ProposalID, expected learning.ProposalVersion, input PolicyInput) (learning.ProposalRecord, error)
func (Promoter) Undo ¶
func (p Promoter) Undo(ctx context.Context, part learning.ProposalPartition, id learning.ProposalID, expected learning.ProposalVersion) (learning.ProposalRecord, error)
type StandardPolicy ¶
type StandardPolicy struct{}
func (StandardPolicy) Evaluate ¶
func (StandardPolicy) Evaluate(in PolicyInput) PolicyResult
Click to show internal directories.
Click to hide internal directories.