impact

package
v0.2.0 Latest Latest
Warning

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

Go to latest
Published: May 12, 2026 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

View Source
const (
	SchemaVersion     = "vango.state.impact.v1.0"
	ArtifactKind      = "vango_state_impact"
	DefaultOutputPath = ".vango/state/vango_state_impact.json"
)

Variables

This section is empty.

Functions

func MarshalDeterministic

func MarshalDeterministic(i *Impact) ([]byte, error)

func Write

func Write(path string, i *Impact) error

Types

type Ack

type Ack struct {
	Required         bool                `json:"required"`
	Class            string              `json:"class"`
	File             string              `json:"file,omitempty"`
	Present          bool                `json:"present"`
	Valid            bool                `json:"valid"`
	ProofLevel       artifact.ProofLevel `json:"proof_level,omitempty"`
	SchemaHashBefore string              `json:"schema_hash_before,omitempty"`
	SchemaHashAfter  string              `json:"schema_hash_after,omitempty"`
	AcknowledgedBy   string              `json:"acknowledged_by,omitempty"`
	Timestamp        string              `json:"timestamp,omitempty"`
}

type AliasChanges

type AliasChanges struct {
	Updated []AliasUpdate `json:"updated"`
}

type AliasUpdate

type AliasUpdate struct {
	ID        string `json:"id"`
	OldAnchor string `json:"old_anchor"`
	NewAnchor string `json:"new_anchor"`
	StableID  string `json:"stable_id"`
	Reason    string `json:"reason,omitempty"`
}

type Analysis

type Analysis struct {
	Mode                      string                  `json:"mode"`
	Status                    artifact.AnalysisStatus `json:"status"`
	SupportLevel              artifact.SupportLevel   `json:"support_level"`
	ProofLevel                artifact.ProofLevel     `json:"proof_level"`
	PreviousRef               string                  `json:"previous_ref"`
	CandidateRef              string                  `json:"candidate_ref"`
	GeneratedArtifactsCurrent bool                    `json:"generated_artifacts_current"`
	BindingsCurrent           bool                    `json:"bindings_current"`
	UnsupportedReason         string                  `json:"unsupported_reason,omitempty"`
}

type App

type App struct {
	ID      string `json:"id,omitempty"`
	Name    string `json:"name,omitempty"`
	Module  string `json:"module,omitempty"`
	AppRoot string `json:"app_root"`
}

type Artifacts

type Artifacts struct {
	StateManifest StateArtifactRef    `json:"state_manifest"`
	StateSchema   StateArtifactRef    `json:"state_schema"`
	Bindings      BindingsArtifactRef `json:"bindings"`
	ColdDeployAck StateArtifactRef    `json:"cold_deploy_ack"`
}

type BindingFile

type BindingFile struct {
	Path   string `json:"path"`
	Digest string `json:"digest,omitempty"`
}

type BindingsArtifactRef

type BindingsArtifactRef struct {
	ID        string        `json:"id"`
	Glob      string        `json:"glob"`
	Status    string        `json:"status"`
	FileCount int           `json:"file_count"`
	Files     []BindingFile `json:"files"`
}

type BuildOptions

type BuildOptions struct {
	ProjectRoot     string
	Name            string
	Module          string
	AppVersion      string
	ToolVersion     string
	Commit          string
	BuildTags       []string
	GeneratorInputs []string
	OutputPath      string
}

type ChangeSummary

type ChangeSummary struct {
	AddedPersistedIDs             int `json:"added_persisted_ids"`
	RemovedPersistedIDs           int `json:"removed_persisted_ids"`
	ChangedPersistedFingerprints  int `json:"changed_persisted_fingerprints"`
	AddedSessionKeys              int `json:"added_session_keys"`
	RemovedSessionKeys            int `json:"removed_session_keys"`
	ChangedSessionKeyFingerprints int `json:"changed_session_key_fingerprints"`
	AliasUpdates                  int `json:"alias_updates"`
}

type Changes

type Changes struct {
	Summary             ChangeSummary             `json:"summary"`
	PersistedPrimitives PersistedPrimitiveChanges `json:"persisted_primitives"`
	SessionKeys         SessionKeyChanges         `json:"session_keys"`
	Aliases             AliasChanges              `json:"aliases"`
}

type Classification

type Classification string
const (
	ClassificationNeutral      Classification = "neutral"
	ClassificationWarm         Classification = "warm"
	ClassificationCold         Classification = "cold"
	ClassificationManualReview Classification = "manual_review"
)

type FingerprintChange

type FingerprintChange struct {
	ID             string `json:"id"`
	StableID       string `json:"stable_id"`
	OldFingerprint string `json:"old_fingerprint,omitempty"`
	NewFingerprint string `json:"new_fingerprint,omitempty"`
}

type Impact

type Impact struct {
	SchemaVersion            string                          `json:"schema_version"`
	ArtifactID               string                          `json:"artifact_id"`
	ArtifactKind             string                          `json:"artifact_kind"`
	Producer                 artifact.Producer               `json:"producer"`
	Toolchain                Toolchain                       `json:"toolchain"`
	App                      App                             `json:"app"`
	Analysis                 Analysis                        `json:"analysis"`
	Classification           Classification                  `json:"classification"`
	SourceClassification     string                          `json:"source_classification"`
	Reason                   string                          `json:"reason,omitempty"`
	RequiresVangoAckOrReview bool                            `json:"requires_vango_ack_or_review"`
	Ack                      Ack                             `json:"ack"`
	Artifacts                Artifacts                       `json:"artifacts"`
	Schema                   SchemaComparison                `json:"schema"`
	Changes                  Changes                         `json:"changes"`
	Rollback                 Rollback                        `json:"rollback"`
	Inputs                   []artifact.ArtifactRef          `json:"inputs"`
	Outputs                  []artifact.ArtifactRef          `json:"outputs"`
	References               map[string]artifact.ArtifactRef `json:"references,omitempty"`
	Diagnostics              []artifact.Diagnostic           `json:"diagnostics"`
	OperationReadiness       []artifact.OperationReadiness   `json:"operation_readiness,omitempty"`
	LegacySummary            LegacySummary                   `json:"legacy_summary,omitempty"`
}

func Build

func Build(p *plan.Plan, opts BuildOptions) (*Impact, error)

type LegacySummary

type LegacySummary struct {
	Classification      string   `json:"classification"`
	Reason              string   `json:"reason,omitempty"`
	RequiresAck         bool     `json:"requiresAck"`
	AddedPersistedIDs   []string `json:"addedPersistedIDs,omitempty"`
	RemovedPersistedIDs []string `json:"removedPersistedIDs,omitempty"`
	FingerprintChanges  int      `json:"fingerprintChanges,omitempty"`
	AddedSessionKeys    []string `json:"addedSessionKeys,omitempty"`
	RemovedSessionKeys  []string `json:"removedSessionKeys,omitempty"`
	AliasUpdates        int      `json:"aliasUpdates,omitempty"`
}

func BuildLegacySummary

func BuildLegacySummary(p *plan.Plan) LegacySummary

type PersistedPrimitiveChanges

type PersistedPrimitiveChanges struct {
	Added              []StateEntity       `json:"added"`
	Removed            []StateEntity       `json:"removed"`
	FingerprintChanged []FingerprintChange `json:"fingerprint_changed"`
}

type Rollback

type Rollback struct {
	StatePosture                                 string `json:"state_posture"`
	PreviousArtifactCompatibleWithCandidateState bool   `json:"previous_artifact_compatible_with_candidate_state"`
	RequiresSessionRefresh                       bool   `json:"requires_session_refresh"`
	Reason                                       string `json:"reason"`
}

type SchemaComparison

type SchemaComparison struct {
	Previous  SchemaRef `json:"previous"`
	Candidate SchemaRef `json:"candidate"`
}

type SchemaRef

type SchemaRef struct {
	ID                      string `json:"id"`
	Path                    string `json:"path,omitempty"`
	Source                  string `json:"source,omitempty"`
	SchemaVersion           string `json:"schema_version,omitempty"`
	SchemaHash              string `json:"schema_hash,omitempty"`
	PersistedPrimitiveCount int    `json:"persisted_primitive_count"`
	SessionKeyCount         int    `json:"session_key_count"`
	Status                  string `json:"status,omitempty"`
}

type SessionKeyChanges

type SessionKeyChanges struct {
	Added              []SessionKeyEntity      `json:"added"`
	Removed            []SessionKeyEntity      `json:"removed"`
	FingerprintChanged []SessionKeyFingerprint `json:"fingerprint_changed"`
}

type SessionKeyEntity

type SessionKeyEntity struct {
	ID       string `json:"id"`
	Name     string `json:"name"`
	StableID string `json:"stable_id,omitempty"`
}

type SessionKeyFingerprint

type SessionKeyFingerprint struct {
	ID             string `json:"id"`
	Name           string `json:"name"`
	OldStableID    string `json:"old_stable_id,omitempty"`
	NewStableID    string `json:"new_stable_id,omitempty"`
	OldFingerprint string `json:"old_fingerprint,omitempty"`
	NewFingerprint string `json:"new_fingerprint,omitempty"`
}

type StateArtifactRef

type StateArtifactRef struct {
	ID            string `json:"id"`
	Path          string `json:"path,omitempty"`
	Digest        string `json:"digest,omitempty"`
	SchemaVersion string `json:"schema_version,omitempty"`
	Status        string `json:"status"`
}

type StateEntity

type StateEntity struct {
	ID        string             `json:"id"`
	StableID  string             `json:"stable_id"`
	AnchorKey string             `json:"anchor_key,omitempty"`
	Kind      string             `json:"kind,omitempty"`
	Scope     string             `json:"scope,omitempty"`
	SourceRef artifact.SourceRef `json:"source_ref,omitempty"`
}

type Toolchain

type Toolchain struct {
	VangoVersion         string `json:"vango_version"`
	ToolVersion          string `json:"tool_version"`
	StateManifestVersion string `json:"state_manifest_version"`
	StateSchemaVersion   string `json:"state_schema_version"`
	ImpactSchemaVersion  string `json:"impact_schema_version"`
}

Jump to

Keyboard shortcuts

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