reviewcompose

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Sep 9, 2026 License: MIT Imports: 14 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
	SourceRecoveryManifestSHA256 string
}

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
	SourceRecoveryManifestSHA256 string
	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
	RootRecoveryManifestSHA256 string
	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
	RecoveryManifestSHA256 string
	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
	RecoveryManifestSHA256       string
	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
	SourceRecoveryManifestSHA256 string
	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