Documentation
¶
Overview ¶
Package profileownership conservatively routes goplint assurance profiles.
Index ¶
Constants ¶
const FormatVersion = 2
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Class ¶
type Class string
Class is one reviewed change class assigned to a governed path family.
const ( // ClassDocumentation covers prose and bookkeeping that no gate executes or reads as input. ClassDocumentation Class = "documentation" // ClassConsumer covers root-module code that consumes goplint without owning analyzer behavior. ClassConsumer Class = "consumer" // ClassHarness covers gate orchestration that can lose evidence but cannot change analyzer verdicts. ClassHarness Class = "harness" // ClassAnalyzerSemantics covers everything that can influence any analyzer verdict or proof obligation. ClassAnalyzerSemantics Class = "analyzer-semantics" )
type Context ¶
type Context struct {
Event string
ChangedPaths []string
MergeBaseAvailable bool
ShallowRepository bool
}
Context is the complete event and changed-path routing input.
type Decision ¶
type Decision struct {
Profile soundnessgate.ProfileID `json:"profile"`
Class Class `json:"class"`
Reason string `json:"reason"`
Paths []string `json:"paths"`
}
Decision is a deterministic profile and visible conservative reason.
type Manifest ¶
Manifest maps governed repository path families to their reviewed change class.
func Decode ¶
Decode strictly decodes and validates ownership manifest bytes. The json/v2 decoder rejects duplicate object members, invalid UTF-8, and unknown members. Field-name matching is case-sensitive; manifest tags are snake_case and produced by writers in this package, so casing is controlled.
func (Manifest) ClassForPath ¶
ClassForPath resolves the most specific governing rule: an exact pattern wins outright, then the longest matching recursive prefix.