roadmap

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: 10 Imported by: 0

Documentation

Overview

Package roadmap maps parity goals to concrete Codog capability checkpoints.

Package roadmap stores machine-readable roadmap pinpoints.

Index

Constants

View Source
const (
	StateFiled        State = "filed"
	StateAcknowledged State = "acknowledged"
	StateInProgress   State = "in_progress"
	StateBlocked      State = "blocked"
	StateDone         State = "done"
	StateSuperseded   State = "superseded"

	PriorityP0 Priority = "p0"
	PriorityP1 Priority = "p1"
	PriorityP2 Priority = "p2"
	PriorityP3 Priority = "p3"

	SeverityCritical Severity = "critical"
	SeverityHigh     Severity = "high"
	SeverityMedium   Severity = "medium"
	SeverityLow      Severity = "low"

	ImpactUserFacingBreakage ImpactClass = "user_facing_breakage"
	ImpactOperatorFriction   ImpactClass = "operator_friction"
	ImpactObservabilityDebt  ImpactClass = "observability_debt"
	ImpactLongTailHardening  ImpactClass = "long_tail_hardening"

	ReadinessImplementationReady HandoffReadiness = "implementation_ready"
	ReadinessNeedsRepro          HandoffReadiness = "needs_repro"
	ReadinessNeedsTriage         HandoffReadiness = "needs_triage"

	EvidenceRepro         EvidenceRole = "repro"
	EvidenceSymptom       EvidenceRole = "symptom"
	EvidenceRootCauseHint EvidenceRole = "root_cause_hint"
	EvidenceVerification  EvidenceRole = "verification"

	MaxEvidencePreviewRunes = 240
)

Variables

This section is empty.

Functions

This section is empty.

Types

type EvidenceAttachment

type EvidenceAttachment struct {
	ID        string       `json:"id"`
	Role      EvidenceRole `json:"role"`
	Type      string       `json:"type"`
	Reference string       `json:"reference"`
	Preview   string       `json:"preview,omitempty"`
	AddedAt   time.Time    `json:"added_at"`
}

EvidenceAttachment is a bounded preview plus canonical machine reference.

type EvidenceRole

type EvidenceRole string

EvidenceRole classifies how an attachment supports a roadmap pinpoint.

type ExecutionResult

type ExecutionResult struct {
	ID           string    `json:"id"`
	LinkID       string    `json:"link_id,omitempty"`
	LaneID       string    `json:"lane_id,omitempty"`
	Status       string    `json:"status"`
	Summary      string    `json:"summary,omitempty"`
	EvidenceRefs []string  `json:"evidence_refs,omitempty"`
	RecordedAt   time.Time `json:"recorded_at"`
}

ExecutionResult records later implementation progress back on the pinpoint.

type Filing

type Filing struct {
	ID               string
	Title            string
	Description      string
	DedupeKey        string
	State            State
	SameRootCause    []string
	Supersedes       []string
	SupersededBy     string
	Related          []string
	ReportID         string
	Evidence         []EvidenceAttachment
	Priority         Priority
	Severity         Severity
	Impact           ImpactClass
	PriorityReason   PriorityReason
	Handoff          *HandoffPacket
	Implementation   []ImplementationLink
	ExecutionResults []ExecutionResult
	Now              time.Time
}

Filing is a create or update request for a roadmap pinpoint.

type HandoffPacket

type HandoffPacket struct {
	PinpointID            string            `json:"pinpoint_id"`
	Objective             string            `json:"objective"`
	SuspectedScope        []string          `json:"suspected_scope,omitempty"`
	EvidenceRefs          []string          `json:"evidence_refs,omitempty"`
	Priority              Priority          `json:"priority"`
	Severity              Severity          `json:"severity"`
	Impact                ImpactClass       `json:"impact"`
	SuggestedVerification []string          `json:"suggested_verification,omitempty"`
	Readiness             HandoffReadiness  `json:"readiness"`
	GeneratedAt           time.Time         `json:"generated_at"`
	Metadata              map[string]string `json:"metadata,omitempty"`
}

HandoffPacket is the executable context for starting implementation work.

type HandoffReadiness

type HandoffReadiness string

HandoffReadiness describes whether a pinpoint can become implementation work.

type ImpactClass

type ImpactClass string

ImpactClass identifies the kind of gap a pinpoint represents.

type ImplementationLink struct {
	ID           string    `json:"id"`
	LaneID       string    `json:"lane_id,omitempty"`
	TaskID       string    `json:"task_id,omitempty"`
	WorktreeID   string    `json:"worktree_id,omitempty"`
	WorktreePath string    `json:"worktree_path,omitempty"`
	PRURL        string    `json:"pr_url,omitempty"`
	PRNumber     int       `json:"pr_number,omitempty"`
	Status       string    `json:"status,omitempty"`
	AddedAt      time.Time `json:"added_at"`
}

ImplementationLink ties a pinpoint to spawned execution infrastructure.

type Item

type Item struct {
	ID                string               `json:"id"`
	Title             string               `json:"title"`
	Description       string               `json:"description,omitempty"`
	DedupeKey         string               `json:"dedupe_key,omitempty"`
	State             State                `json:"state"`
	CreatedAt         time.Time            `json:"created_at"`
	UpdatedAt         time.Time            `json:"updated_at"`
	LastStateChangeAt time.Time            `json:"last_state_change_at"`
	SameRootCause     []string             `json:"same_root_cause,omitempty"`
	Supersedes        []string             `json:"supersedes,omitempty"`
	SupersededBy      string               `json:"superseded_by,omitempty"`
	Related           []string             `json:"related,omitempty"`
	Lineage           []string             `json:"lineage,omitempty"`
	ReportID          string               `json:"report_id,omitempty"`
	Evidence          []EvidenceAttachment `json:"evidence,omitempty"`
	Priority          Priority             `json:"priority"`
	Severity          Severity             `json:"severity"`
	Impact            ImpactClass          `json:"impact"`
	PriorityReason    PriorityReason       `json:"priority_reason,omitempty"`
	PriorityUpdatedAt *time.Time           `json:"priority_updated_at,omitempty"`
	Handoff           *HandoffPacket       `json:"handoff,omitempty"`
	Implementation    []ImplementationLink `json:"implementation,omitempty"`
	ExecutionResults  []ExecutionResult    `json:"execution_results,omitempty"`
}

Item is one tracked roadmap pinpoint.

type Priority

type Priority string

Priority ranks roadmap pinpoints for implementation queues.

type PriorityReason

type PriorityReason struct {
	BlastRadius        string `json:"blast_radius,omitempty"`
	Reproducibility    string `json:"reproducibility,omitempty"`
	AutomationBreakage string `json:"automation_breakage,omitempty"`
	MergeRisk          string `json:"merge_risk,omitempty"`
	Rationale          string `json:"rationale,omitempty"`
}

PriorityReason records why a pinpoint received its current priority.

type Result

type Result struct {
	Kind    string `json:"kind"`
	Action  string `json:"action"`
	ItemID  string `json:"item_id"`
	State   State  `json:"state"`
	Item    Item   `json:"item"`
	Created bool   `json:"created"`
}

Result describes whether a filing created or updated an item.

type Severity

type Severity string

Severity describes user or operator impact independently from queue order.

type State

type State string

State is the lifecycle state for a roadmap pinpoint.

type Store

type Store struct {
	Dir string
}

Store persists roadmap pinpoints under the Codog config home.

func NewStore

func NewStore(configHome string) Store

NewStore returns a roadmap store rooted at configHome.

func (Store) File

func (s Store) File(filing Filing) (Result, error)

File creates a new pinpoint or updates an existing one.

func (Store) Get

func (s Store) Get(id string) (Item, error)

Get loads one item by id.

func (Store) List

func (s Store) List() ([]Item, error)

List returns all items, newest update first.

Jump to

Keyboard shortcuts

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