Help us shape the future of Go! Take the 2026 Go Developer Survey

herdr

package
v0.81.0 Latest Latest
Warning

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

Go to latest
Published: Oct 20, 2026 License: MIT Imports: 8 Imported by: 0

Documentation

Overview

ABOUTME: Reports tracker's run lifecycle to a Herdr terminal pane manager. ABOUTME: Maps pipeline events to Herdr's working / blocked / idle agent states.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Env

type Env struct {
	PaneID  string
	BinPath string
}

Env is the herdr pane a Reporter targets.

type Reporter

type Reporter struct {
	// contains filtered or unexported fields
}

Reporter translates pipeline lifecycle events into herdr agent-state reports. It implements pipeline.PipelineEventHandler and is safe for concurrent use: events arrive on the engine goroutine while Release runs from a deferred caller.

func Detect

func Detect(humanGates bool) *Reporter

Detect returns a Reporter when tracker runs inside a herdr pane (HERDR_ENV=1 with HERDR_PANE_ID and HERDR_BIN_PATH set) and reporting is not disabled via TRACKER_HERDR=0. It returns nil otherwise, so the integration is a no-op outside herdr. humanGates is true when a human answers the run's gates (interactive) and false under autopilot / auto-approve, where no user decision is ever pending.

func (*Reporter) HandlePipelineEvent

func (r *Reporter) HandlePipelineEvent(evt pipeline.PipelineEvent)

HandlePipelineEvent maps one pipeline event to a herdr state report.

func (*Reporter) Release

func (r *Reporter) Release()

Release surrenders this source's lifecycle authority. It is idempotent and meant to be deferred at run teardown.

Jump to

Keyboard shortcuts

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