ship

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jul 14, 2026 License: MIT Imports: 4 Imported by: 0

Documentation

Overview

Package ship prepares commit, push, and pull request delivery workflows.

Package ship defines delivery provenance records and lane-event projections.

Index

Constants

View Source
const (
	EventPrepared        = "ship.prepared"
	EventCommitsSelected = "ship.commits_selected"
	EventMerged          = "ship.merged"
	EventPushedMain      = "ship.pushed_main"
	EventProvenance      = "ship.provenance"
)

Variables

This section is empty.

Functions

func LaneEvents

func LaneEvents(report Report) []laneevents.Event

LaneEvents projects ship events onto the common lane event envelope.

func Summary

func Summary(provenance Provenance, classification Classification) string

Summary renders a short human-readable provenance summary.

Types

type Classification

type Classification struct {
	Intentional int `json:"intentional"`
	Riders      int `json:"riders"`
}

Classification separates intended deliverables from incidental riders in a delivery push.

type Event

type Event struct {
	Event          string         `json:"event"`
	Status         string         `json:"status"`
	At             time.Time      `json:"at"`
	Provenance     Provenance     `json:"provenance"`
	Classification Classification `json:"classification"`
}

Event is a compact machine-readable ship event.

type Provenance

type Provenance struct {
	SourceBranch string `json:"source_branch,omitempty"`
	BaseBranch   string `json:"base_branch,omitempty"`
	BaseCommit   string `json:"base_commit,omitempty"`
	FirstCommit  string `json:"first_commit,omitempty"`
	LastCommit   string `json:"last_commit,omitempty"`
	CommitRange  string `json:"commit_range,omitempty"`
	CommitCount  int    `json:"commit_count"`
	MergeMethod  string `json:"merge_method,omitempty"`
	Actor        string `json:"actor,omitempty"`
	PRNumber     int    `json:"pr_number,omitempty"`
	PRURL        string `json:"pr_url,omitempty"`
	Remote       string `json:"remote,omitempty"`
	TargetBranch string `json:"target_branch,omitempty"`
}

Provenance captures the auditable delivery path for shipped work.

type Report

type Report struct {
	Kind           string         `json:"kind"`
	Status         string         `json:"status"`
	Provenance     Provenance     `json:"provenance"`
	Classification Classification `json:"classification"`
	Events         []Event        `json:"events"`
	Summary        string         `json:"summary"`
}

Report is the stable ship provenance payload embedded in command and state reports.

func NewReport

func NewReport(status string, provenance Provenance, classification Classification, at time.Time) Report

NewReport builds the standard ship provenance event set.

Jump to

Keyboard shortcuts

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