provenance

package
v0.2.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 19, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package provenance classifies authorship traces, host references, and policy text.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ExportablePath

func ExportablePath(path string) bool

Types

type Class

type Class string
const (
	ClassTrace   Class = "trace"
	ClassProduct Class = "product"
	ClassPolicy  Class = "policy"
)

func Classify

func Classify(path, line string, kind Kind) (Class, string)

type Commit

type Commit struct {
	Hash           string
	AuthorName     string
	AuthorEmail    string
	CommitterName  string
	CommitterEmail string
	Subject        string
	Body           string
}

type Finding

type Finding struct {
	Kind    Kind   `json:"kind"`
	Class   Class  `json:"class"`
	Rule    string `json:"rule"`
	Path    string `json:"path,omitempty"`
	Line    int    `json:"line,omitempty"`
	Commit  string `json:"commit,omitempty"`
	Excerpt string `json:"excerpt,omitempty"`
}

func CheckSubject

func CheckSubject(subject string) []Finding

type Gap

type Gap struct {
	Check  string `json:"check"`
	Reason string `json:"reason"`
}

type Kind

type Kind string
const (
	KindAIAuthor               Kind = "ai_author"
	KindAITrailer              Kind = "ai_trailer"
	KindAIEmail                Kind = "ai_email"
	KindGeneratedWith          Kind = "generated_with"
	KindRobotEmoji             Kind = "robot_emoji"
	KindNonEnglishSubject      Kind = "non_english_subject"
	KindNonConventionalSubject Kind = "non_conventional_subject"
)

type Report

type Report struct {
	Findings []Finding `json:"findings"`
	Traces   int       `json:"traces"`
	Products int       `json:"products"`
	Policies int       `json:"policies"`
	Gaps     []Gap     `json:"gaps"`
}

func ScanCommits

func ScanCommits(commits []Commit) Report

func ScanFiles

func ScanFiles(fsys fs.FS, paths []string) (Report, error)

func (Report) Clean

func (r Report) Clean() bool

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL