reviewcompose

package
v0.1.19 Latest Latest
Warning

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

Go to latest
Published: Sep 7, 2026 License: MIT Imports: 13 Imported by: 0

Documentation

Overview

Package reviewcompose admits exact committed recovery results and computes a deterministic composite review without invoking providers or reading a live target.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewReconciliationFailure

func NewReconciliationFailure(result PublishedResult, detail string, cause error) error

NewReconciliationFailure preserves the deterministic identity of a published composite when a later transport projection cannot complete.

Types

type Attempt

type Attempt struct {
	AttemptID        domain.AttemptID
	Role             domain.Role
	ProviderInstance string
	State            domain.AttemptState
}

Attempt is one verified source attempt used to prove exact failed lineage.

type CompositeRole

type CompositeRole struct {
	Role             domain.Role
	Required         bool
	Outcome          string
	AttemptID        domain.AttemptID
	ProviderInstance string
	FindingIDs       []string
	ReportsOnly      bool
	SourceRunID      domain.RunID
	SourceReviewID   domain.ReviewID
}

CompositeRole is one complete effective role outcome.

type Failure

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

Failure carries the stable public reason code for a rejected composition.

func (*Failure) CompositeIdentity

func (failure *Failure) CompositeIdentity() (domain.SessionID, domain.RunID, bool)

CompositeIdentity returns the deterministic destination when composition completed far enough for exact reconciliation.

func (*Failure) Error

func (failure *Failure) Error() string

func (*Failure) ReasonCode

func (failure *Failure) ReasonCode() string

ReasonCode returns the stable machine-readable composition reason.

func (*Failure) Unwrap

func (failure *Failure) Unwrap() error

type Finding

type Finding struct {
	ID               string
	Fingerprint      string
	Role             domain.Role
	ProviderInstance string
	Severity         domain.Severity
	Title            string
	Description      string
	Recommendation   string
	Confidence       domain.Confidence
	Lifecycle        domain.FindingLifecycle
	SourceRunID      domain.RunID
	SourceReviewID   domain.ReviewID
	SourceAttemptID  domain.AttemptID
	SourceFindingID  string
}

Finding is one newly identified composite finding with source-local provenance.

type MutationService

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

MutationService owns the complete provider-free composition mutation. Both public transports call this same use case so admission, publication, and retry reconciliation cannot drift.

func NewMutationService

func NewMutationService(composer *Service, publisher *Publisher) (*MutationService, error)

func (*MutationService) ComposeReview

func (service *MutationService) ComposeReview(ctx context.Context, request Request) (PublishedResult, error)

type PublishedResult

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

PublishedResult is the immutable transport-neutral result of one exact composition request.

func NewPublishedResult

func NewPublishedResult(input PublishedResultInput) (PublishedResult, error)

NewPublishedResult validates and defensively copies a trusted P2 result.

func (PublishedResult) CIDecision

func (result PublishedResult) CIDecision() domain.CIDecision

func (PublishedResult) ContentVerdict

func (result PublishedResult) ContentVerdict() domain.ContentVerdict

func (PublishedResult) CoverageStatus

func (result PublishedResult) CoverageStatus() domain.CoverageStatus

func (PublishedResult) PublicationStatus

func (result PublishedResult) PublicationStatus() domain.PublicationStatus

func (PublishedResult) ReconciliationState

func (result PublishedResult) ReconciliationState() domain.CompositionState

func (PublishedResult) RecoveredRoles

func (result PublishedResult) RecoveredRoles() []domain.Role

func (PublishedResult) RecoveryAction

func (result PublishedResult) RecoveryAction() domain.RecoveryAction

func (PublishedResult) RecoveryRunIDs

func (result PublishedResult) RecoveryRunIDs() []domain.RunID

func (PublishedResult) ReviewArtifactURI

func (result PublishedResult) ReviewArtifactURI() string

func (PublishedResult) ReviewID

func (result PublishedResult) ReviewID() domain.ReviewID

func (PublishedResult) RoleReportURIs

func (result PublishedResult) RoleReportURIs() []RoleReportURI

func (PublishedResult) RootRunID

func (result PublishedResult) RootRunID() domain.RunID

func (PublishedResult) RunID

func (result PublishedResult) RunID() domain.RunID

func (PublishedResult) RunManifestURI

func (result PublishedResult) RunManifestURI() string

func (PublishedResult) SessionID

func (result PublishedResult) SessionID() domain.SessionID

func (PublishedResult) StructuredExtractionStatus

func (result PublishedResult) StructuredExtractionStatus() domain.StructuredExtractionStatus

func (PublishedResult) TargetSHA256

func (result PublishedResult) TargetSHA256() string

func (PublishedResult) TerminalExit

func (result PublishedResult) TerminalExit() domain.OperationalExitDecision

type PublishedResultInput

type PublishedResultInput struct {
	SessionID                  domain.SessionID
	RunID                      domain.RunID
	ReviewID                   domain.ReviewID
	RootRunID                  domain.RunID
	RecoveryRunIDs             []domain.RunID
	TargetSHA256               string
	RecoveredRoles             []domain.Role
	RoleReportURIs             []RoleReportURI
	Coverage                   domain.CoverageStatus
	Content                    domain.ContentVerdict
	StructuredExtractionStatus domain.StructuredExtractionStatus
	CIDecision                 domain.CIDecision
	PublicationStatus          domain.PublicationStatus
	RecoveryAction             domain.RecoveryAction
	TerminalExit               domain.OperationalExitDecision
	ReconciliationState        domain.CompositionState
	RunManifestURI             string
	ReviewArtifactURI          string
}

PublishedResultInput contains the trusted P2 fields required to construct a transport-neutral composite result.

type Publisher

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

Publisher materializes a composed result through publication's shared atomic P0/P1/P2 state machine.

func NewPublisher

func NewPublisher(root ports.AnchoredRoot, service *publication.Service) (*Publisher, error)

func (*Publisher) Publish

func (publisher *Publisher) Publish(ctx context.Context, result Result) (publication.PublicationResult, error)

type QueryReader

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

QueryReader adapts the shared exact-run query authority to composition.

func NewQueryReader

func NewQueryReader(root ports.AnchoredRoot, queries *query.Service) (*QueryReader, error)

func (*QueryReader) ReadCompositionSource

func (reader *QueryReader) ReadCompositionSource(ctx context.Context, runID domain.RunID) (Source, error)

type Request

type Request struct {
	RootRunID    domain.RunID
	RecoveryRuns []domain.RunID
}

Request identifies one incomplete root and every explicitly selected recovery.

type Result

type Result struct {
	Fingerprint      domain.CompositionFingerprint
	RootRunID        domain.RunID
	RootReviewID     domain.ReviewID
	SessionID        domain.SessionID
	TargetSHA256     string
	TargetIdentity   domain.TargetIdentity
	TargetBytes      []byte
	CapturedArchive  []byte
	Threshold        domain.Severity
	Sources          []SelectedSource
	Roles            []CompositeRole
	Findings         []Finding
	ContentVerdict   domain.ContentVerdict
	CoverageStatus   domain.CoverageStatus
	ExtractionStatus domain.StructuredExtractionStatus
	CIDecision       domain.CIDecision
	CIReasonCodes    []string
}

Result is the deterministic, publication-ready application result.

type Role

type Role struct {
	Name             domain.Role
	Required         bool
	Outcome          string
	AttemptID        domain.AttemptID
	HasAttempt       bool
	ProviderInstance string
	FindingIDs       []string
	ReportsOnly      bool
}

Role is one verified role outcome from a committed source.

type RoleReport

type RoleReport struct {
	Role             domain.Role
	AttemptID        domain.AttemptID
	ProviderInstance string
	Path             string
	SHA256           string
	ByteLength       int
	ContentType      string
	Bytes            []byte
}

RoleReport identifies one integrity-checked committed role report.

type RoleReportURI

type RoleReportURI struct {
	Role domain.Role `json:"role"`
	URI  string      `json:"uri"`
}

RoleReportURI is one project-relative report copied into the composite run.

type SelectedSource

type SelectedSource struct {
	Kind       string
	Role       domain.Role
	RunID      domain.RunID
	ReviewID   domain.ReviewID
	AttemptID  domain.AttemptID
	RoleReport RoleReport
}

SelectedSource binds one effective role to its exact accepted source.

type Service

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

func NewService

func NewService(sources SourceReader) (*Service, error)

func (*Service) Compose

func (service *Service) Compose(ctx context.Context, request Request) (Result, error)

Compose admits exact source identities and deterministically recomputes the complete effective review. It performs no writes and invokes no provider.

type Source

type Source struct {
	SessionID        domain.SessionID
	RunID            domain.RunID
	ReviewID         domain.ReviewID
	RunType          domain.RunType
	TargetSHA256     string
	TargetIdentity   domain.TargetIdentity
	TargetBytes      []byte
	CapturedArchive  []byte
	Coverage         domain.CoverageStatus
	Threshold        domain.Severity
	Roles            []Role
	RoleReports      []RoleReport
	Attempts         []Attempt
	Findings         []SourceFinding
	SourceRunID      domain.RunID
	SourceReviewID   domain.ReviewID
	SourceAttemptID  domain.AttemptID
	HasSource        bool
	HasSourceAttempt bool
}

Source is the bounded application projection of one verified committed review.

type SourceFinding

type SourceFinding struct {
	ID               string
	Fingerprint      string
	Role             domain.Role
	ProviderInstance string
	Severity         domain.Severity
	Title            string
	Description      string
	Recommendation   string
	Confidence       domain.Confidence
	Lifecycle        domain.FindingLifecycle
}

SourceFinding preserves safe content and exact source-local provenance.

type SourceReader

type SourceReader interface {
	ReadCompositionSource(context.Context, domain.RunID) (Source, error)
}

SourceReader returns independently verified, immutable P2 review projections.

Jump to

Keyboard shortcuts

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