report

package
v0.2.0 Latest Latest
Warning

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

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

Documentation

Overview

Package report turns a plan into something worth waking up to.

`plan` answers "what differs" for one operator at a keyboard. A scheduled run answers a different question for someone who was not watching: across every app, what changed, what can still be fixed automatically, and what has been waiting on a human — and for how long.

The distinction that makes it readable is the one the plan already draws. Actionable items are a to-do list. Manual items are a standing debt, and a report that mixes them is a log people skim rather than a page they read.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Item

type Item struct {
	Op       string `json:"op"`
	Resource string `json:"resource"`
	Target   string `json:"target"`
	Detail   string `json:"detail"`
}

type Report

type Report struct {
	// Actionable is what upkeep could close on the next apply.
	Actionable []Item `json:"actionable"`
	// Outstanding is what no tool can do. It is expected to persist, which is
	// why it is counted separately rather than treated as a failure.
	Outstanding []Item `json:"outstanding"`
}

Report is one run, across every app.

func From

func From(p plan.Plan) Report

From splits a plan into the two halves that read differently.

func (Report) Headline

func (r Report) Headline() string

Headline is the one line that has to survive being read on a phone.

func (Report) Quiet

func (r Report) Quiet() bool

Quiet reports whether there is nothing to say. A scheduled run that produces no output when everything is fine is one people leave switched on.

func (Report) Write

func (r Report) Write(w io.Writer) error

Write renders the report for a person.

func (Report) WriteJSON

func (r Report) WriteJSON(w io.Writer) error

WriteJSON renders it for something else — a dashboard, a diff between two runs, a bot that only speaks when the actionable count is above zero.

Jump to

Keyboard shortcuts

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