Documentation
¶
Overview ¶
Package validation validates untrusted provider review output before it enters the domain model. It deliberately has no provider, evidence lookup, or publication dependencies.
Index ¶
- Constants
- func CompareCurrentEvidenceClaims(left, right CurrentEvidenceClaim) int
- func RequirementsSourceFailure(err error) (error, bool)
- func RuntimeCause(err error) (domain.RuntimeDiagnosticCause, bool)
- func SplitRequirementsResponse(raw []byte) ([]byte, []byte, bool, error)
- func ValidateRequirementAssessmentAssignments(requirements []domain.Requirement, owner domain.Role, answeredIDs []string) error
- func ValidateReviewCompleteness(completeness string, limitations []string) error
- type CurrentEvidenceClaim
- func (claim CurrentEvidenceClaim) LineEnd() int
- func (claim CurrentEvidenceClaim) LineStart() int
- func (claim CurrentEvidenceClaim) LiveSource() evidence.LiveSourceIdentity
- func (claim CurrentEvidenceClaim) Path() ports.SafeRelativePath
- func (claim CurrentEvidenceClaim) QuoteBytes() []byte
- func (claim CurrentEvidenceClaim) Side() CurrentEvidenceSide
- func (claim CurrentEvidenceClaim) SourceIdentitySHA256() string
- func (claim CurrentEvidenceClaim) TargetSHA256() string
- func (claim CurrentEvidenceClaim) WireEvidenceIndex() int
- func (claim CurrentEvidenceClaim) WireFindingIndex() int
- type CurrentEvidenceSide
- type FindingEvidenceClaims
- func (claims FindingEvidenceClaims) Claims() []CurrentEvidenceClaim
- func (claims FindingEvidenceClaims) Finding() domain.Finding
- func (claims FindingEvidenceClaims) FindingID() string
- func (claims FindingEvidenceClaims) MatchesFinding(finding domain.Finding) bool
- func (claims FindingEvidenceClaims) VisualReferences() []VerifiedVisualReference
- type FollowupValidationScope
- type FollowupValidator
- type NormalizedRequirementsOutput
- type RepairMode
- type RepairPlan
- type RequirementContent
- type RequirementContentEvidence
- type RequirementContentReference
- func DecodeRequirementsSupport(ctx context.Context, validator SchemaValidator, raw, input []byte, ...) (domain.RequirementEvaluation, []RequirementContentReference, error)
- func DecodeRequirementsSupportMetadata(raw, input []byte, requirements []domain.Requirement, noChange bool) (domain.RequirementEvaluation, []RequirementContentReference, error)
- type RequirementCurrentEvidence
- type RequirementResults
- type RequirementsInput
- type ReviewValidationScope
- type ReviewValidator
- func (validator *ReviewValidator) ApplyRepair(ctx context.Context, originalRaw, repairRaw []byte, ...) (ValidatedReview, error)
- func (validator *ReviewValidator) ApplyRepairCandidate(ctx context.Context, originalRaw, repairRaw []byte, ...) (ValidatedReview, []byte, error)
- func (validator *ReviewValidator) Validate(ctx context.Context, raw []byte, scope ReviewValidationScope) (ValidatedReview, *RepairPlan, error)
- type RuntimeError
- type SchemaValidator
- type ValidatedFollowup
- func (result ValidatedFollowup) DiscardedPaths() []string
- func (result ValidatedFollowup) NormalizedRaw() []byte
- func (result ValidatedFollowup) ParseState() domain.ParseState
- func (result ValidatedFollowup) ProviderInstance() string
- func (result ValidatedFollowup) ProviderRaw() []byte
- func (result ValidatedFollowup) ProviderSHA256() string
- func (result ValidatedFollowup) ReportsOnly() bool
- func (result ValidatedFollowup) Resolution() domain.FollowupResolution
- func (result ValidatedFollowup) Role() domain.Role
- func (result ValidatedFollowup) StructuredExtractionStatus() domain.StructuredExtractionStatus
- func (result ValidatedFollowup) ValidationState() domain.ValidationState
- func (result ValidatedFollowup) WithReportBody(reportMarkdown []byte, repaired bool) (ValidatedFollowup, error)
- type ValidatedRequirementAnswer
- type ValidatedReview
- func (review ValidatedReview) Completeness() string
- func (review ValidatedReview) DiscardedPaths() []string
- func (review ValidatedReview) EvidenceClaims() []FindingEvidenceClaims
- func (review ValidatedReview) Findings() []domain.Finding
- func (review ValidatedReview) Limitations() []string
- func (review ValidatedReview) OriginalRaw() []byte
- func (review ValidatedReview) Repaired() bool
- func (review ValidatedReview) RepairedRaw() []byte
- func (review ValidatedReview) Summary() string
- type VerifiedVisualReference
- func (reference VerifiedVisualReference) Height() int
- func (reference VerifiedVisualReference) Path() ports.SafeRelativePath
- func (reference VerifiedVisualReference) SHA256() string
- func (reference VerifiedVisualReference) Valid() bool
- func (reference VerifiedVisualReference) Verification() string
- func (reference VerifiedVisualReference) Width() int
- func (reference VerifiedVisualReference) X() int
- func (reference VerifiedVisualReference) Y() int
Constants ¶
const ( RequirementsSupportVersion = "mulgae-requirements-support.v1" RequirementsSupportPath = "requirements/support.json" RequirementsInputPath = "requirements/input.json" RequirementsSupportSchema = "https://mulgae.local/schemas/mulgae-requirements-support.v1.schema.json" )
const ( // ProviderReviewWireSchemaID validates the provider-owned v1 projection // before Mulgae injects target identity and verification state. ProviderReviewWireSchemaID = "https://mulgae.local/schemas/mulgae-provider-review-wire.v1.schema.json" // ProviderReviewSchemaID validates the normalized v1 envelope after trusted // target identity and claimed verification have been injected. ProviderReviewSchemaID = "https://mulgae.local/schemas/mulgae-provider-review-output.v1.schema.json" // LiveProviderReviewSchemaID preserves the provider wire while naming the // injected selection identity separately from captured-content identity. LiveProviderReviewSchemaID = "https://mulgae.local/schemas/mulgae-provider-review-output.v2.schema.json" )
const ProviderFollowupSchemaID = "https://mulgae.local/schemas/mulgae-provider-followup-output.v1.schema.json"
ProviderFollowupSchemaID is the sole schema accepted for provider followup output.
const RequirementContentVersion = "mulgae-requirement-content.v1"
const RequirementsInputVersion = "mulgae-requirements-input.v1"
const RequirementsProviderOutputVersion = "mulgae-provider-review-output.v3"
Variables ¶
This section is empty.
Functions ¶
func CompareCurrentEvidenceClaims ¶
func CompareCurrentEvidenceClaims(left, right CurrentEvidenceClaim) int
CompareCurrentEvidenceClaims orders claims by their canonical evidence region: path, numeric line range, side, normalized quote, then exact quote bytes. Target identity is a final trusted tie-breaker for callers comparing claims from different validation scopes.
func RequirementsSourceFailure ¶ added in v0.1.26
RequirementsSourceFailure preserves the typed source cause for the existing runtime failure reducer. Provider-document errors do not carry this marker.
func RuntimeCause ¶
func RuntimeCause(err error) (domain.RuntimeDiagnosticCause, bool)
RuntimeCause extracts the closed validation cause without inspecting error text.
func SplitRequirementsResponse ¶ added in v0.1.26
SplitRequirementsResponse parses the whole document before separating sections. The findings projection alone enters the existing bounded envelope validator.
func ValidateRequirementAssessmentAssignments ¶ added in v0.1.26
func ValidateRequirementAssessmentAssignments(requirements []domain.Requirement, owner domain.Role, answeredIDs []string) error
ValidateRequirementAssessmentAssignments admits a role's answered IDs only. Omitted IDs are allowed here; normalization must supply their derived rows.
func ValidateReviewCompleteness ¶
ValidateReviewCompleteness validates provider-declared review completeness and its limitations without consulting any runtime, provider, or evidence state.
Types ¶
type CurrentEvidenceClaim ¶
type CurrentEvidenceClaim struct {
// contains filtered or unexported fields
}
CurrentEvidenceClaim is an immutable, unverified current-evidence claim. Target identity is supplied only by trusted validation scope. Verification is intentionally owned by the coordinator's evidence verifier.
func (CurrentEvidenceClaim) LineEnd ¶
func (claim CurrentEvidenceClaim) LineEnd() int
LineEnd returns the one-based inclusive final line of the claim.
func (CurrentEvidenceClaim) LineStart ¶
func (claim CurrentEvidenceClaim) LineStart() int
LineStart returns the one-based inclusive first line of the claim.
func (CurrentEvidenceClaim) LiveSource ¶ added in v0.1.25
func (claim CurrentEvidenceClaim) LiveSource() evidence.LiveSourceIdentity
LiveSource returns the trusted selection identity for a live claim, or an absent value for a historical captured-target claim.
func (CurrentEvidenceClaim) Path ¶
func (claim CurrentEvidenceClaim) Path() ports.SafeRelativePath
Path returns the canonical relative path claimed within the trusted target.
func (CurrentEvidenceClaim) QuoteBytes ¶
func (claim CurrentEvidenceClaim) QuoteBytes() []byte
QuoteBytes returns a defensive copy of the provider's exact quote bytes.
func (CurrentEvidenceClaim) Side ¶
func (claim CurrentEvidenceClaim) Side() CurrentEvidenceSide
Side returns the claimed closed side of the trusted target.
func (CurrentEvidenceClaim) SourceIdentitySHA256 ¶ added in v0.1.25
func (claim CurrentEvidenceClaim) SourceIdentitySHA256() string
func (CurrentEvidenceClaim) TargetSHA256 ¶
func (claim CurrentEvidenceClaim) TargetSHA256() string
TargetSHA256 returns the canonical sha256:<lowercase-hex> trusted target ID.
func (CurrentEvidenceClaim) WireEvidenceIndex ¶ added in v0.1.26
func (claim CurrentEvidenceClaim) WireEvidenceIndex() int
WireEvidenceIndex returns the claim's evidence position within the complete original provider wire evidence array of its finding, or -1 when the claim carries no wire coordinate.
func (CurrentEvidenceClaim) WireFindingIndex ¶ added in v0.1.26
func (claim CurrentEvidenceClaim) WireFindingIndex() int
WireFindingIndex returns the claim's finding position in the original provider wire findings array, or -1 when the claim carries no wire coordinate.
type CurrentEvidenceSide ¶
type CurrentEvidenceSide string
CurrentEvidenceSide identifies one closed side of the trusted current target.
const ( CurrentEvidenceSideBase CurrentEvidenceSide = "base" CurrentEvidenceSideHead CurrentEvidenceSide = "head" CurrentEvidenceSideWorktree CurrentEvidenceSide = "worktree" CurrentEvidenceSideIndex CurrentEvidenceSide = "index" )
func (CurrentEvidenceSide) Valid ¶
func (side CurrentEvidenceSide) Valid() bool
Valid reports whether side is a supported current-target side.
type FindingEvidenceClaims ¶
type FindingEvidenceClaims struct {
// contains filtered or unexported fields
}
FindingEvidenceClaims binds an exact final system-assigned finding proof to its immutable, unverified current-evidence claims.
func (FindingEvidenceClaims) Claims ¶
func (claims FindingEvidenceClaims) Claims() []CurrentEvidenceClaim
Claims returns defensive copies in normalized evidence-region order.
func (FindingEvidenceClaims) Finding ¶
func (claims FindingEvidenceClaims) Finding() domain.Finding
Finding returns the immutable final validation finding proof.
func (FindingEvidenceClaims) FindingID ¶
func (claims FindingEvidenceClaims) FindingID() string
FindingID returns the final system-assigned finding ID.
func (FindingEvidenceClaims) MatchesFinding ¶
func (claims FindingEvidenceClaims) MatchesFinding(finding domain.Finding) bool
MatchesFinding reports whether finding is the exact complete final validation finding bound to these claims. It also rejects an internally inconsistent proof, ID, or claim set.
func (FindingEvidenceClaims) VisualReferences ¶
func (claims FindingEvidenceClaims) VisualReferences() []VerifiedVisualReference
VisualReferences returns visual references aligned with Claims. A zero value means that the corresponding current claim has no visual reference.
type FollowupValidationScope ¶
type FollowupValidationScope struct {
SessionID domain.SessionID
SourceRunID domain.RunID
ReviewID domain.ReviewID
FindingID string
SourceTargetSHA256 string
SourceExcerptSHA256 string
CurrentTargetSHA256 string
Role domain.Role
ProviderInstance string
}
FollowupValidationScope is the complete trusted lineage and execution identity injected into a provider followup result. Providers have no authority over it.
type FollowupValidator ¶
type FollowupValidator struct {
// contains filtered or unexported fields
}
FollowupValidator validates the provider-owned subset of the followup contract. Unlike ReviewValidator, it deliberately accepts no source-bearing provider document: all lineage and target identities are injected from scope.
func NewFollowupValidator ¶
func NewFollowupValidator(schemaValidator SchemaValidator, schemaID ports.AssetID) (*FollowupValidator, error)
func (*FollowupValidator) Validate ¶
func (validator *FollowupValidator) Validate(ctx context.Context, raw []byte, scope FollowupValidationScope) (ValidatedFollowup, error)
func (*FollowupValidator) ValidateWithRepairAuthority ¶
func (validator *FollowupValidator) ValidateWithRepairAuthority(ctx context.Context, raw []byte, scope FollowupValidationScope) (ValidatedFollowup, bool, error)
ValidateWithRepairAuthority reports whether one full-document reformat or schema repair is allowed. Semantic, trust-boundary, and evidence failures are deliberately terminal and never gain repair authority.
type NormalizedRequirementsOutput ¶ added in v0.1.26
type NormalizedRequirementsOutput struct {
// contains filtered or unexported fields
}
NormalizedRequirementsOutput is the trusted in-memory provider-output.v3 composition. Partial section failures stay separate and never manufacture a complete finding envelope. Serialization is optional and remains unbounded.
func ComposeRequirementsOutput ¶ added in v0.1.26
func ComposeRequirementsOutput(findings ValidatedReview, answers []ValidatedRequirementAnswer, scope ReviewValidationScope) (NormalizedRequirementsOutput, error)
func (NormalizedRequirementsOutput) Bytes ¶ added in v0.1.26
func (output NormalizedRequirementsOutput) Bytes() ([]byte, error)
func (NormalizedRequirementsOutput) SchemaVersion ¶ added in v0.1.26
func (output NormalizedRequirementsOutput) SchemaVersion() string
type RepairMode ¶
type RepairMode string
RepairMode describes the only two bounded provider repair forms.
const ( RepairModeReformatOnly RepairMode = "reformat_only" RepairModeFillMissingFields RepairMode = "fill_missing_fields" RepairModeExactEvidence RepairMode = "exact_evidence" )
type RepairPlan ¶
type RepairPlan struct {
// contains filtered or unexported fields
}
RepairPlan binds an eligible repair to the exact original bytes. Its getters expose copies so callers cannot alter a plan after classification.
func NewExactEvidenceRepairPlan ¶
func NewExactEvidenceRepairPlan(raw []byte, allowedPaths []string) (*RepairPlan, error)
NewExactEvidenceRepairPlan binds one repair to quote fields whose immutable target range was selected successfully but whose provider quote did not match the exact target bytes. No path, side, range, finding, or severity may be changed by this mode.
func RequirementsReformatPlan ¶ added in v0.1.26
func RequirementsReformatPlan(raw []byte) *RepairPlan
RequirementsReformatPlan reuses the existing malformed-document repair form; it does not validate a prose-bearing body through the bounded schema adapter.
func (RepairPlan) AllowedPaths ¶
func (plan RepairPlan) AllowedPaths() []string
AllowedPaths returns the exact JSON Pointer paths that a patch may change.
func (RepairPlan) Mode ¶
func (plan RepairPlan) Mode() RepairMode
func (RepairPlan) OriginalSHA256 ¶
func (plan RepairPlan) OriginalSHA256() string
OriginalSHA256 returns the raw lowercase hexadecimal digest of the original provider stdout to which this plan is bound.
type RequirementContent ¶ added in v0.1.26
type RequirementContent struct {
SchemaVersion string `json:"schema_version"`
RequirementID string `json:"requirement_id"`
Rationale string `json:"rationale"`
Evidence []RequirementContentEvidence `json:"evidence"`
ExaminedScope string `json:"examined_scope"`
Limitations []string `json:"limitations"`
}
RequirementContent is the separately retained, unbounded content of one normalized assessment. Bounded support/read envelopes contain its hash and path, not its prose. Decoding does not verify source bytes or publication.
func DecodeRequirementContent ¶ added in v0.1.26
func DecodeRequirementContent(raw []byte, assessment domain.RequirementAssessment, sourceIdentitySHA256 string) (RequirementContent, error)
DecodeRequirementContent is the prose-bearing semantic boundary. It reuses strict JSON admission without the structured-envelope schema adapter's byte ceiling. Evidence binding still requires the existing source verifier.
type RequirementContentEvidence ¶ added in v0.1.26
type RequirementContentEvidence struct {
Current RequirementCurrentEvidence `json:"current"`
Visual *artifactwire.VisualEvidence `json:"visual,omitempty"`
}
type RequirementContentReference ¶ added in v0.1.26
type RequirementContentReference struct {
// contains filtered or unexported fields
}
RequirementContentReference binds an ordinal item path to its complete unbounded content. It does not assert that the source evidence was verified.
func DecodeRequirementsSupport ¶ added in v0.1.26
func DecodeRequirementsSupport(ctx context.Context, validator SchemaValidator, raw, input []byte, requirements []domain.Requirement, noChange bool) (domain.RequirementEvaluation, []RequirementContentReference, error)
DecodeRequirementsSupport validates bounded metadata against admitted input and selected-source no-change state. It performs no storage or publication. Callers must also verify every referenced content body and its source claims.
func DecodeRequirementsSupportMetadata ¶ added in v0.1.26
func DecodeRequirementsSupportMetadata(raw, input []byte, requirements []domain.Requirement, noChange bool) (domain.RequirementEvaluation, []RequirementContentReference, error)
DecodeRequirementsSupportMetadata checks a previously bounded metadata object. Storage owners retain schema admission and exact artifact/hash verification.
func (RequirementContentReference) ByteLength ¶ added in v0.1.26
func (reference RequirementContentReference) ByteLength() int64
func (RequirementContentReference) Matches ¶ added in v0.1.26
func (reference RequirementContentReference) Matches(raw []byte) bool
func (RequirementContentReference) Path ¶ added in v0.1.26
func (reference RequirementContentReference) Path() string
func (RequirementContentReference) SHA256 ¶ added in v0.1.26
func (reference RequirementContentReference) SHA256() string
type RequirementCurrentEvidence ¶ added in v0.1.26
type RequirementCurrentEvidence struct {
SourceIdentitySHA256 string `json:"source_identity_sha256"`
CurrentExcerptSHA256 string `json:"current_excerpt_sha256"`
Side CurrentEvidenceSide `json:"side"`
Path string `json:"path"`
LineStart int `json:"line_start"`
LineEnd int `json:"line_end"`
Quote string `json:"quote"`
Verification string `json:"verification"`
}
type RequirementResults ¶ added in v0.1.26
type RequirementResults struct {
// contains filtered or unexported fields
}
RequirementResults is the complete immutable selected set. Publication reuses its exact input/content without consulting current source after lease closure.
func NormalizeRequirements ¶ added in v0.1.26
func NormalizeRequirements(input RequirementsInput, answers []ValidatedRequirementAnswer, reasons map[domain.Role]domain.AssessmentReason, identity string, noChange bool) (RequirementResults, error)
func (RequirementResults) Contents ¶ added in v0.1.26
func (result RequirementResults) Contents() [][]byte
func (RequirementResults) Evaluation ¶ added in v0.1.26
func (result RequirementResults) Evaluation() domain.RequirementEvaluation
func (RequirementResults) Input ¶ added in v0.1.26
func (result RequirementResults) Input() RequirementsInput
func (RequirementResults) SourceIdentitySHA256 ¶ added in v0.1.26
func (result RequirementResults) SourceIdentitySHA256() string
func (RequirementResults) Valid ¶ added in v0.1.26
func (result RequirementResults) Valid() bool
type RequirementsInput ¶ added in v0.1.26
type RequirementsInput struct {
// contains filtered or unexported fields
}
RequirementsInput retains exact admitted invocation bytes. Filesystem admission and production wiring are separate from this strict byte decoder.
func DecodeRequirementsInput ¶ added in v0.1.26
func DecodeRequirementsInput(raw []byte, selected []domain.Role) (RequirementsInput, error)
DecodeRequirementsInput applies metadata limits, never a requirement-prose byte ceiling. Callers must provide the already resolved selected roles.
func (RequirementsInput) Bytes ¶ added in v0.1.26
func (input RequirementsInput) Bytes() []byte
func (RequirementsInput) Requirements ¶ added in v0.1.26
func (input RequirementsInput) Requirements() []domain.Requirement
func (RequirementsInput) SHA256 ¶ added in v0.1.26
func (input RequirementsInput) SHA256() string
type ReviewValidationScope ¶
type ReviewValidationScope struct {
TargetSHA256 string
LiveSource evidence.LiveSourceIdentity
Role domain.Role
ProviderInstance string
// VisualAssets binds captured paths, or live side-and-path keys separated by
// NUL, to verifier-owned image observations.
// It is used only for artist findings and is never populated from provider output.
VisualAssets map[string]string
ArtistInputsConfigured bool
ArtistInputsReady bool
// SourceBearing is false for a root review. Source identity is not accepted
// from providers in either mode; source-bearing validation needs a later,
// trusted source-identity reducer and is intentionally out of this slice.
SourceBearing bool
}
ReviewValidationScope contains only trusted execution identity. Provider output never supplies any of these values.
type ReviewValidator ¶
type ReviewValidator struct {
// contains filtered or unexported fields
}
ReviewValidator validates provider-only JSON against the provider-wire schema, injects trusted current target identity, then validates the normalized v1 envelope.
func NewReviewValidator ¶
func NewReviewValidator(schemaValidator SchemaValidator, schemaID ports.AssetID) (*ReviewValidator, error)
NewReviewValidator creates a validator for the normalized v1 review schema. The provider wire schema is fixed separately so callers cannot weaken the ownership boundary by choosing a different pre-injection schema.
func (*ReviewValidator) ApplyRepair ¶
func (validator *ReviewValidator) ApplyRepair(ctx context.Context, originalRaw, repairRaw []byte, scope ReviewValidationScope, plan RepairPlan) (ValidatedReview, error)
ApplyRepair applies one already-classified repair response. It never retries, invokes a provider, or owns repair budget. A reformat repair revalidates a replacement review; a fill-missing-fields repair accepts only the bounded mulgae-repair-patch.v1 pointer set from its RepairPlan.
func (*ReviewValidator) ApplyRepairCandidate ¶
func (validator *ReviewValidator) ApplyRepairCandidate(ctx context.Context, originalRaw, repairRaw []byte, scope ReviewValidationScope, plan RepairPlan) (ValidatedReview, []byte, error)
ApplyRepairCandidate applies a repair and returns the exact validated provider review candidate. For a patch repair, candidate is the reconstructed JSON; repairRaw remains the distinct provider patch stream in ValidatedReview.
func (*ReviewValidator) Validate ¶
func (validator *ReviewValidator) Validate(ctx context.Context, raw []byte, scope ReviewValidationScope) (ValidatedReview, *RepairPlan, error)
Validate parses exactly one provider JSON object, removes fields outside the provider-owned projection, injects trusted target identity, then runs schema validation before semantic validation. An error with a non-nil RepairPlan is eligible for at most one caller-owned repair attempt.
type RuntimeError ¶
type RuntimeError struct {
// contains filtered or unexported fields
}
RuntimeError carries the closed diagnostic cause selected by validation. Its Error projection is safe and does not include provider bytes, paths, or the wrapped validator detail.
func (*RuntimeError) Cause ¶
func (failure *RuntimeError) Cause() domain.RuntimeDiagnosticCause
func (*RuntimeError) Error ¶
func (failure *RuntimeError) Error() string
func (*RuntimeError) Unwrap ¶
func (failure *RuntimeError) Unwrap() error
type SchemaValidator ¶
SchemaValidator is owned by this consumer boundary. The JSON Schema adapter satisfies it without making validation depend on that adapter package.
type ValidatedFollowup ¶
type ValidatedFollowup struct {
// contains filtered or unexported fields
}
ValidatedFollowup is the defensive, publication-ready provider result. ProviderRaw is the Mulgae-owned role-report body (full assistant content). When structured extraction succeeds, NormalizedRaw is the schema-valid document after trusted lineage injection and Resolution is set. Reports-only acceptance leaves Resolution empty and NormalizedRaw empty.
func NewReportsOnlyValidatedFollowup ¶ added in v0.1.4
func NewReportsOnlyValidatedFollowup( role domain.Role, providerInstance string, reportMarkdown []byte, parse domain.ParseState, validationState domain.ValidationState, ) (ValidatedFollowup, error)
NewReportsOnlyValidatedFollowup accepts one free-form followup role report without a trusted structured resolution. Prose remains untrusted; Mulgae owns identity and publication.
func (ValidatedFollowup) DiscardedPaths ¶ added in v0.1.15
func (result ValidatedFollowup) DiscardedPaths() []string
DiscardedPaths returns the sorted JSON Pointer paths removed from the provider-authored structured document. Removed values are never retained.
func (ValidatedFollowup) NormalizedRaw ¶
func (result ValidatedFollowup) NormalizedRaw() []byte
func (ValidatedFollowup) ParseState ¶ added in v0.1.4
func (result ValidatedFollowup) ParseState() domain.ParseState
ParseState returns Mulgae-owned parse coverage for the accepted attempt.
func (ValidatedFollowup) ProviderInstance ¶
func (result ValidatedFollowup) ProviderInstance() string
func (ValidatedFollowup) ProviderRaw ¶
func (result ValidatedFollowup) ProviderRaw() []byte
func (ValidatedFollowup) ProviderSHA256 ¶
func (result ValidatedFollowup) ProviderSHA256() string
func (ValidatedFollowup) ReportsOnly ¶ added in v0.1.4
func (result ValidatedFollowup) ReportsOnly() bool
ReportsOnly reports whether Mulgae accepted free-form assistant content without a trusted structured followup resolution.
func (ValidatedFollowup) Resolution ¶
func (result ValidatedFollowup) Resolution() domain.FollowupResolution
func (ValidatedFollowup) Role ¶
func (result ValidatedFollowup) Role() domain.Role
func (ValidatedFollowup) StructuredExtractionStatus ¶ added in v0.1.4
func (result ValidatedFollowup) StructuredExtractionStatus() domain.StructuredExtractionStatus
StructuredExtractionStatus returns Mulgae-owned structured extraction coverage for this single-role followup result.
func (ValidatedFollowup) ValidationState ¶ added in v0.1.4
func (result ValidatedFollowup) ValidationState() domain.ValidationState
ValidationState returns Mulgae-owned validation coverage for the accepted attempt.
func (ValidatedFollowup) WithReportBody ¶ added in v0.1.4
func (result ValidatedFollowup) WithReportBody(reportMarkdown []byte, repaired bool) (ValidatedFollowup, error)
WithReportBody rebinds the published role-report body to the full assistant content while preserving a successful structured normalized document.
type ValidatedRequirementAnswer ¶ added in v0.1.26
type ValidatedRequirementAnswer struct {
// contains filtered or unexported fields
}
ValidatedRequirementAnswer retains only content verified while the original source lease is open. Its zero value cannot be published as a provider row.
func DecodeProviderRequirements ¶ added in v0.1.26
func DecodeProviderRequirements(ctx context.Context, raw []byte, selected []domain.Requirement, role domain.Role, identity evidence.LiveSourceIdentity, verifier *evidence.Verifier, visuals map[string]string, inputPath, inputSHA256 string) ([]ValidatedRequirementAnswer, error)
DecodeProviderRequirements is the unbounded provider-content boundary. It validates ownership and verifies every source claim, without a schema adapter over the complete prose-bearing section.
func (ValidatedRequirementAnswer) Assessment ¶ added in v0.1.26
func (answer ValidatedRequirementAnswer) Assessment() domain.RequirementAssessment
func (ValidatedRequirementAnswer) Content ¶ added in v0.1.26
func (answer ValidatedRequirementAnswer) Content() []byte
type ValidatedReview ¶
type ValidatedReview struct {
// contains filtered or unexported fields
}
ValidatedReview is the immutable normalized result of one provider review. Findings contain trusted role/provider identity and unverified evidence state; evidence lookup and state transitions are deliberately elsewhere.
func (ValidatedReview) Completeness ¶
func (review ValidatedReview) Completeness() string
func (ValidatedReview) DiscardedPaths ¶ added in v0.1.15
func (review ValidatedReview) DiscardedPaths() []string
DiscardedPaths returns the sorted JSON Pointer paths removed from the provider-authored content document before trusted-field injection. Values are deliberately never retained in diagnostics metadata.
func (ValidatedReview) EvidenceClaims ¶
func (review ValidatedReview) EvidenceClaims() []FindingEvidenceClaims
func (ValidatedReview) Findings ¶
func (review ValidatedReview) Findings() []domain.Finding
func (ValidatedReview) Limitations ¶
func (review ValidatedReview) Limitations() []string
func (ValidatedReview) OriginalRaw ¶
func (review ValidatedReview) OriginalRaw() []byte
func (ValidatedReview) Repaired ¶
func (review ValidatedReview) Repaired() bool
func (ValidatedReview) RepairedRaw ¶
func (review ValidatedReview) RepairedRaw() []byte
func (ValidatedReview) Summary ¶
func (review ValidatedReview) Summary() string
type VerifiedVisualReference ¶
type VerifiedVisualReference struct {
// contains filtered or unexported fields
}
VerifiedVisualReference is an immutable visual-evidence identity verified against the trusted captured design-spec inventory during validation.
func (VerifiedVisualReference) Height ¶
func (reference VerifiedVisualReference) Height() int
func (VerifiedVisualReference) Path ¶
func (reference VerifiedVisualReference) Path() ports.SafeRelativePath
func (VerifiedVisualReference) SHA256 ¶
func (reference VerifiedVisualReference) SHA256() string
func (VerifiedVisualReference) Valid ¶
func (reference VerifiedVisualReference) Valid() bool
Valid reports whether the reference retains a complete verified visual identity. A zero value denotes that the corresponding current claim has no visual reference.
func (VerifiedVisualReference) Verification ¶
func (reference VerifiedVisualReference) Verification() string
func (VerifiedVisualReference) Width ¶
func (reference VerifiedVisualReference) Width() int
func (VerifiedVisualReference) X ¶
func (reference VerifiedVisualReference) X() int
func (VerifiedVisualReference) Y ¶
func (reference VerifiedVisualReference) Y() int