Documentation
¶
Overview ¶
Package dossier owns reviewer-facing dossier artifacts and discussion summarization.
Index ¶
- Constants
- func Prepare(ctx context.Context, env Env, req PreparationRequest) error
- func RepoGuidanceUnavailableReason(sources []agents.SourceInfo) string
- func WriteRaw(paths runartifact.Paths, in Inputs) error
- type ChangedFile
- type DiscussionSummary
- type Env
- type InlineThreadSummary
- type Inputs
- type PreparationRequest
- type TopLevelCommentSummary
Constants ¶
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.
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.