dossier

package
v0.10.257 Latest Latest
Warning

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

Go to latest
Published: Jul 15, 2026 License: MIT Imports: 25 Imported by: 0

Documentation

Overview

Package dossier owns reviewer-facing dossier artifacts and discussion summarization.

Index

Constants

View Source
const SummaryTaskID = dossierSummaryTaskID

SummaryTaskID identifies the durable dossier discussion-summary task.

Variables

This section is empty.

Functions

func Prepare

func Prepare(ctx context.Context, env Env, req PreparationRequest) error

Prepare summarizes discussion and writes summary, final, and index artifacts.

func RepoGuidanceUnavailableReason

func RepoGuidanceUnavailableReason(sources []agents.SourceInfo) string

RepoGuidanceUnavailableReason describes why trusted repo guidance was unavailable.

func WriteRaw

func WriteRaw(paths runartifact.Paths, in Inputs) error

WriteRaw writes the source dossier artifacts used by Prepare.

Types

type ChangedFile

type ChangedFile struct {
	OldPath   string
	Path      string
	Patch     string
	Binary    bool
	Deleted   bool
	HunkCount int
}

ChangedFile is the diff metadata needed to render a dossier change map.

type DiscussionSummary

type DiscussionSummary struct {
	SchemaVersion         int                      `json:"schema_version"`
	SourceFingerprint     string                   `json:"source_fingerprint,omitempty"`
	PinnedReview          bool                     `json:"pinned_review"`
	DiscussionOmittedNote string                   `json:"discussion_omitted_note,omitempty"`
	TopLevelOmitted       int                      `json:"top_level_comments_omitted,omitempty"`
	InlineThreadsOmitted  int                      `json:"inline_threads_omitted,omitempty"`
	TopLevelComments      []TopLevelCommentSummary `json:"top_level_comments,omitempty"`
	InlineThreads         []InlineThreadSummary    `json:"inline_threads,omitempty"`
}

DiscussionSummary is the reviewer-facing summary of PR discussion.

func ReadDiscussionSummary

func ReadDiscussionSummary(paths runartifact.Paths) (DiscussionSummary, error)

ReadDiscussionSummary reads the structured discussion summary artifact.

type Env

type Env struct {
	Adapter           llm.Adapter
	Store             llmlifecycle.Store
	TaskProgress      llmlifecycle.Progress
	Now               func() time.Time
	NewSessionRowID   func() string
	CheckPromptBudget func(model, prompt string) error
}

Env contains the runtime dependencies used by discussion summarization.

type InlineThreadSummary

type InlineThreadSummary struct {
	ThreadID        string `json:"thread_id,omitempty"`
	Path            string `json:"path,omitempty"`
	Side            string `json:"side,omitempty"`
	Line            int    `json:"line,omitempty"`
	AnchorKind      string `json:"anchor_kind,omitempty"`
	Resolved        bool   `json:"resolved"`
	CommentsOmitted int    `json:"comments_omitted,omitempty"`
	Status          string `json:"status,omitempty"`
	Summary         string `json:"summary"`
}

InlineThreadSummary is one reviewer-facing inline-thread summary.

type Inputs

type Inputs struct {
	CurrentPR             gitprovider.PR
	ReviewPR              gitprovider.PR
	PinnedReview          bool
	ChangedFiles          []ChangedFile
	Threads               []gitprovider.InlineThread
	ThreadContext         []threadcontext.Thread
	Reviews               []gitprovider.Review
	IssueComments         []gitprovider.IssueComment
	Catalog               agents.Catalog
	CurrentBaseSHA        string
	CurrentHeadSHA        string
	DiscussionOmittedNote string
}

Inputs contains the source material written to raw dossier artifacts.

type PreparationRequest

type PreparationRequest struct {
	RunID                   string
	Profile                 config.Profile
	SelectionModelOverride  string
	SelectionEffortOverride string
	Artifacts               runartifact.Paths
}

PreparationRequest identifies one dossier finalization pass.

type TopLevelCommentSummary

type TopLevelCommentSummary struct {
	Kind    string `json:"kind,omitempty"`
	URL     string `json:"url,omitempty"`
	Author  string `json:"author,omitempty"`
	Summary string `json:"summary"`
}

TopLevelCommentSummary is one summarized issue comment or review body.

Jump to

Keyboard shortcuts

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